<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-98573395477491231</id><updated>2026-10-21T20:57:37.862+05:30</updated><category term="Technology"/><category term="Food"/><category term="General"/><category term="Arts"/><category term="Photography"/><category term="Google"/><category term="Azure"/><title type="text">Rajan's View</title><subtitle type="html">Code.Click.Cook.</subtitle><link href="http://www.rajansview.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default?redirect=false" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/" rel="alternate" type="text/html"/><link href="http://pubsubhubbub.appspot.com/" rel="hub"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" rel="next" type="application/atom+xml"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><generator uri="http://www.blogger.com" version="7.00">Blogger</generator><openSearch:totalResults>123</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-8064584272319156623</id><published>2026-02-22T12:03:00.009+05:30</published><updated>2026-02-23T10:08:57.942+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Clawing Now to Speed Up Later</title><content type="html">&lt;h1 style="text-align: justify;"&gt;OpenClaw&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;&lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=OpenClaw&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;OpenClaw&lt;/a&gt;&amp;nbsp;has captured people's imagination in a big way in the last few weeks. The ability to turn an idea into something concrete like an app has always been aspiration for a business user or a technology developer.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;OpenClaw simply removes the barriers for anyone to be able to build an app or an &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=define+AI+agent&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;AI agent&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;Taking it for a spin&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;My last post was a geeky take on using &lt;a href="https://www.rajansview.com/2025/07/gemini-cli-your-personal-ai-investment.html" target="_blank"&gt;Gemini CLI as an Investment Advisor&lt;/a&gt;. That was perhaps best appreciated by a developer and not a non-tech person. I am taking the same use case from financial industry and turning it into a tool that anyone could use with OpenClaw.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;OpenClaw The Builder&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;I built 2 skills for stock trading. The first one is an investment council which studies the market and serves as a stock screener. The second is a detailed stock analyzer.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Investment Council&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMZf4ob3ytQMyZ3JGIXbJjbVUL0I4TSXaNfyFFHBy1pY2cQ-paF1Il1O1fuVIKRS_RWtrbVUB-Y6J1dCpfWNFlm5UNUaZ4DMBn5oXGsyErCy-c0A4c0M2H5xkFDSs5hsdc9QQEjqNB2aZsJYHOfkl6eHs7sGutCku3tNNB3o6ZcGDyjtcEFA_KqHu9Fjs/s2048/Investment%20Council.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="1705" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMZf4ob3ytQMyZ3JGIXbJjbVUL0I4TSXaNfyFFHBy1pY2cQ-paF1Il1O1fuVIKRS_RWtrbVUB-Y6J1dCpfWNFlm5UNUaZ4DMBn5oXGsyErCy-c0A4c0M2H5xkFDSs5hsdc9QQEjqNB2aZsJYHOfkl6eHs7sGutCku3tNNB3o6ZcGDyjtcEFA_KqHu9Fjs/w333-h400/Investment%20Council.jpg" width="333" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="text-align: justify;"&gt;This is a skill that contains a series of python scripts to perform the above capabilities. In total, it is about 15,000 lines of python code, all written by AI.&lt;/p&gt;&lt;h3 data-path-to-node="1"&gt;Key Features&lt;/h3&gt;&lt;ul data-path-to-node="2"&gt;&lt;li&gt;&lt;p data-path-to-node="2,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,0,0"&gt;Multi-Source Data Integration:&lt;/b&gt; Pulls market data, fundamentals, and sentiment from Yahoo Finance, Composite ETFs, SearXNG Premium, and the VITALS Framework.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,1,0"&gt;9 Diverse Investment Strategies:&lt;/b&gt; Utilizes a broad spectrum of quantitative and qualitative models, including:&lt;/p&gt;&lt;ul data-path-to-node="2,1,1"&gt;&lt;li&gt;&lt;p data-path-to-node="2,1,1,0,0"&gt;&lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=Magic+Formula+investing+strategy&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Magic Formula&lt;/a&gt;, GARP, Value, Quality, and Momentum.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,1,1,1,0"&gt;&lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=Buffett+Moat+investing&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Buffett Moat&lt;/a&gt;, Low Volatility, &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=Dogs+of+the+Dow+strategy&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Dogs of the Dow&lt;/a&gt;, and QVM Combo.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,2,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,2,0"&gt;Ensemble Scoring Engine:&lt;/b&gt; Combines strategies using a "Regime-Based Weight Adjustment" that shifts focus depending on whether the market is in a risk-on or risk-off state.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,3,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,3,0"&gt;Sentiment &amp;amp; Regime Detection:&lt;/b&gt; Features a specialized &lt;b data-index-in-node="53" data-path-to-node="2,3,0"&gt;VITALS Framework&lt;/b&gt; to detect market regimes and a &lt;b data-index-in-node="101" data-path-to-node="2,3,0"&gt;Sentiment Adjuster&lt;/b&gt; that weights news based on source credibility (Tier 1 vs. Tier 3).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,4,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,4,0"&gt;Specialized Recommendation Engines:&lt;/b&gt;&lt;/p&gt;&lt;ul data-path-to-node="2,4,1"&gt;&lt;li&gt;&lt;p data-path-to-node="2,4,1,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,4,1,0,0"&gt;Thematic:&lt;/b&gt; Focuses on sectors like AI, Healthcare, and Energy Transition.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,4,1,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,4,1,1,0"&gt;Risk-Adjusted:&lt;/b&gt; Tailors portfolios to Conservative, Moderate, or Aggressive profiles.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,4,1,2,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,4,1,2,0"&gt;Diversified:&lt;/b&gt; Ensures sector-balanced portfolios and correlation awareness.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,5,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,5,0"&gt;Automated Reporting &amp;amp; Delivery:&lt;/b&gt; Generates 10-page PDF reports and interactive charts, delivered via &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=Telegram+integration&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Telegram&lt;/a&gt; or Web UI.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr data-path-to-node="3" /&gt;&lt;h3 data-path-to-node="4"&gt;Key Benefits&lt;/h3&gt;&lt;ul data-path-to-node="5"&gt;&lt;li&gt;&lt;p data-path-to-node="5,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,0,0"&gt;Explainability-First Logic:&lt;/b&gt; Every investment recommendation is traceable back to its source data and specific decision rationale, reducing "black box" AI uncertainty.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="5,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,1,0"&gt;Dynamic Market Adaptation:&lt;/b&gt; The tool doesn't just pick stocks; it adjusts its strategy weights (e.g., boosting Low Volatility or Quality during downturns) to match the current market regime.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="5,2,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,2,0"&gt;Reduced Data Bias:&lt;/b&gt; By using &lt;b data-index-in-node="28" data-path-to-node="5,2,0"&gt;&lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=define+Provenance+Tracking&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Provenance Tracking&lt;/a&gt;&lt;/b&gt; and a three-tier fallback chain for data ingestion, the tool ensures high data reliability and lineage.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="5,3,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,3,0"&gt;Zero-Cost Infrastructure:&lt;/b&gt; Designed to operate using &lt;span data-index-in-node="52" data-path-to-node="5,3,0"&gt;Zero API Keys&lt;/span&gt; by leveraging free/scraped data sources and web searches with graceful degradation.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="5,4,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,4,0"&gt;Comprehensive Risk Management:&lt;/b&gt; Features built-in "Sentiment Integration" to act as a contrarian or trend-following filter, helping to avoid "value traps" or overhyped assets.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="5,5,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="5,5,0"&gt;Retail-Friendly Output:&lt;/b&gt; Translates complex financial metrics into plain English explanations and visual charts, making professional-grade analysis accessible.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Stock Analysis&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib3bJhEmUlOWHXFLNFVfulvGPgXTENU4KRLRjbGdiqRaft153Q9LcABqs6w3ubUL7amXE0WU9tm65hxRayNBpWtbBUGNlN72WX40Acy-6z97PSqUk-JZFXdj_wk_ksQZC8jLxOcs1UyGXTCmWxbir-KZY9b7wf9HYMZ-W3Dphin8Ssfxm1KROJAulY7_Y/s2048/Stock%20Analysis%20Skill.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="1532" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib3bJhEmUlOWHXFLNFVfulvGPgXTENU4KRLRjbGdiqRaft153Q9LcABqs6w3ubUL7amXE0WU9tm65hxRayNBpWtbBUGNlN72WX40Acy-6z97PSqUk-JZFXdj_wk_ksQZC8jLxOcs1UyGXTCmWxbir-KZY9b7wf9HYMZ-W3Dphin8Ssfxm1KROJAulY7_Y/w299-h400/Stock%20Analysis%20Skill.jpg" width="299" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="text-align: justify;"&gt;This is a skill that contains a series of python scripts to perform the above capabilities. In total, it is about 6,000 lines of python code, all written by AI.&lt;/p&gt;&lt;h3 data-path-to-node="1"&gt;&#128202; Comprehensive Multi-Dimensional Analysis&lt;/h3&gt;&lt;ul data-path-to-node="2"&gt;&lt;li&gt;&lt;p data-path-to-node="2,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,0,0"&gt;Feature:&lt;/b&gt; Integration of Technical, Fundamental, Risk, and Valuation modules (including DCF and peer comparables).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="2,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="2,1,0"&gt;Benefit:&lt;/b&gt; Provides a &lt;span data-index-in-node="20" data-path-to-node="2,1,0"&gt;360-degree view&lt;/span&gt; of a stock, ensuring investment decisions aren't based on a single metric but on a holistic data set.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-path-to-node="3"&gt;&#128269; Deep Research Engine&lt;/h3&gt;&lt;ul data-path-to-node="4"&gt;&lt;li&gt;&lt;p data-path-to-node="4,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="4,0,0"&gt;Feature:&lt;/b&gt; Automated fetching from 6 high-value sources (Wikipedia, Analyst Consensus, Ownership Data, SWOT, Porter’s Five Forces, and Recent News).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="4,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="4,1,0"&gt;Benefit:&lt;/b&gt; Saves hours of manual labor by &lt;span data-index-in-node="40" data-path-to-node="4,1,0"&gt;synthesizing qualitative business context&lt;/span&gt; alongside quantitative financial data.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-path-to-node="5"&gt;&#127912; Advanced Visualization Suite&lt;/h3&gt;&lt;ul data-path-to-node="6"&gt;&lt;li&gt;&lt;p data-path-to-node="6,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="6,0,0"&gt;Feature:&lt;/b&gt; Specialized modules for visual reporting, such as ROIC gauges, DCF sensitivity heatmaps, and peer radar charts.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="6,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="6,1,0"&gt;Benefit:&lt;/b&gt; Converts complex numerical data into &lt;span data-index-in-node="46" data-path-to-node="6,1,0"&gt;intuitive, scannable graphics&lt;/span&gt;, making it easier to spot outliers and trends at a glance.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-path-to-node="7"&gt;&#128736;️ Production-Grade Reliability&lt;/h3&gt;&lt;ul data-path-to-node="8"&gt;&lt;li&gt;&lt;p data-path-to-node="8,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="8,0,0"&gt;Feature:&lt;/b&gt; Graceful degradation, deterministic caching, and "No Auto-Fix" policies.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="8,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="8,1,0"&gt;Benefit:&lt;/b&gt; Ensures the system remains &lt;span data-index-in-node="36" data-path-to-node="8,1,0"&gt;stable and predictable&lt;/span&gt;. If a specific data source is down, the system generates a partial report rather than crashing, while caching prevents redundant API calls and speed throttles.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-path-to-node="9"&gt;&#128196; Retail-Friendly Report Generation&lt;/h3&gt;&lt;ul data-path-to-node="10"&gt;&lt;li&gt;&lt;p data-path-to-node="10,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="10,0,0"&gt;Feature:&lt;/b&gt; Automated PDF generation with "Plain English" explanations and visual traffic lights (Buy/Hold/Sell).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="10,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="10,1,0"&gt;Benefit:&lt;/b&gt; Bridges the gap between professional-grade data and &lt;span data-index-in-node="61" data-path-to-node="10,1,0"&gt;retail investor accessibility&lt;/span&gt;, making sophisticated institutional analysis easy to interpret.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-path-to-node="11"&gt;⚙️ Modular &amp;amp; Scalable Architecture&lt;/h3&gt;&lt;ul data-path-to-node="12"&gt;&lt;li&gt;&lt;p data-path-to-node="12,0,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="12,0,0"&gt;Feature:&lt;/b&gt; 16+ specialized Python scripts orchestrated via a CLI (Command Line Interface).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p data-path-to-node="12,1,0"&gt;&lt;b data-index-in-node="0" data-path-to-node="12,1,0"&gt;Benefit:&lt;/b&gt; The "plug-and-play" nature allows developers to &lt;span data-index-in-node="57" data-path-to-node="12,1,0"&gt;easily update or swap individual modules&lt;/span&gt; (like changing a pricing API) without breaking the entire ecosystem.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Tips for Builders&lt;/h3&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;Both of the above were built over a few hours by instructing and testing the skills over a Telegram chat. It didn't matter if I had some spare time at home or stand in line on a bus stand, I could continue building and testing these skills over Telegram.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;Here are a few high level tips:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Always plan for a feature before asking the agent to build it.&lt;/li&gt;&lt;li&gt;As part of planning process, ask the agent to research from the web and challenge, extend and solify the features.&lt;/li&gt;&lt;li&gt;Make the agent save the features to a ROADMAP.md file.&lt;/li&gt;&lt;li&gt;Then, break down the implementation into multiple phases and save it into a PLAN.md.&lt;/li&gt;&lt;li&gt;Prod the agent to implement 1 phase at a time and keep reviewing the output (both the agent and yourself).&lt;/li&gt;&lt;li&gt;Ensure that non-functional requirements such as handling errors, graceful degradation, runtime parameters, cleaning up are part of the skill.&lt;/li&gt;&lt;li&gt;Ensure that the SKILL.MD and CHANGELOG.MD capture all the implementation details iteratively. This way, if the context is full or memory is lost, the agent can always pick up from where it left off.&lt;/li&gt;&lt;li&gt;Customize the SOUL.md, IDENTITY.md and AGENTS.md to adjust the behaviour of the agents to your working style for both, you as the builder and the user.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;OpenClaw The Worker&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Here is a short demo of both the skills in action.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='409' height='340' src='https://www.blogger.com/video.g?token=AD6v5dzyv5xmZ2DN5_Fd5pLXOt2DothB92Qbgjr3WOPM02BQPQCks1SrosIRqIJGHxiaY2QEZlhIm1HXg4fBePGBmQ' class='b-hbp-video b-uploaded' frameborder='0'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="text-align: justify;"&gt;The current reports from the investment council and stock analysis skills are attached below.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1qzloYm4ONYz1rblWMYp3i4-uDlPFqTrl/view?usp=drive_link" target="_blank"&gt;Investment Council Report&lt;/a&gt;&amp;nbsp;(with dynamic market regime detection and weighted and ensemble strategies)&lt;/li&gt;&lt;li&gt;Top 5 Stock Recommendations (Buy/Hold/Sell)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1jm6MUkRfSCRDtEB4YAMQnTazqO8PYm8E/view?usp=drive_link" target="_blank"&gt;JNJ Report&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/19r7UW58H867Xy6rXm-TimhsfyGUF8T96/view?usp=drive_link" target="_blank"&gt;TRV Report&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1P2LxzLbQxblxbDepfZc7KtcGAMouX0KU/view?usp=drive_link" target="_blank"&gt;BMY Report&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1kQlWJixb8g0I9l6o0bA-qz3Gh6pp7WQc/view?usp=drive_link" target="_blank"&gt;IBM Report&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1G8xM8xOF1GZdr1CSMHeKmDAtDp9HT5Gw/view?usp=drive_link" target="_blank"&gt;PEP Report&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;OpenClaw The Assistant&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Now that these skills are ready, they have been setup to run on a weekly basis to detect the market regime and send the recommended stock along with the actions - Buy / Hold / Sell.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;What works well&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;The initial impressions are:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The ability to interact with OpenClaw over existing messaging apps like Telegram, Whatsapp are perhaps the biggest draw. It immediately lowers the cognitive barrier for anyone. This also shows how the "simple chat" interface is getting more powerful as compared to custom designed UI for a human-computer-interaction. For all the OCB's (obsessive compulsive builders) out there, this may be a boon.&lt;/li&gt;&lt;li&gt;The "developer loop" enabled by the Pi coding agent within OpenClaw self reflects and is able to complete complex tasks or create apps with minimal supervision. This enables a user to "not spend time" in front of the screen. It feels a bit unnatural at first to "lob something" over to AI and expect it to be done without supervision. I suppose we all need to let go of the "control freak" in all of us.&lt;/li&gt;&lt;li&gt;Using the simple cron mechanism to get OpenClaw to proactively or regularly perform tasks is another aspect of user experience that feels refreshing. In a world where we are sometimes starved of focus, if all of us can have a personalized assistant, that's probably a welcome thing.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style="text-align: justify;"&gt;How to apply &amp;amp; scale it in Enterprises&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;I am going to lean into the financial industry again. Some of the teams in the financial industry like &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=Quantitative+Analysts+job+description&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Quantitative Analysts&lt;/a&gt;, Data Analysts, Risk Managers have always wanted the ability to do data wrangling as well running calculations for various purposes like - &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=define+Value+at+Risk&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Value at Risk&lt;/a&gt;, Sensitivities, &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=define+Scenario+Planning&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;Scenario Planning&lt;/a&gt;, Simulations etc. An enterprise version of a tool like OpenClaw with all the guardrails, data provenance, governance, security and traceability could help them tremendously.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;A path forward could be along the lines of:&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Identify use cases, where we can do a "hard" shift-left, meaning empowering business users to create and execute their workflows and agents.&lt;/li&gt;&lt;li&gt;This would of course necessiate change management to redefine the business workflows.&lt;/li&gt;&lt;li&gt;Either OpenClaw or it's many derivatives such as &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=PicoClaw&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;PicoClaw&lt;/a&gt;, &lt;a data-preview="" href="https://www.google.com/search?ved=1t:260882&amp;amp;q=NanoBot&amp;amp;bbid=98573395477491231&amp;amp;bpid=8064584272319156623" target="_blank"&gt;NanoBot&lt;/a&gt; etc. could be adapted to comply with the entrprise standards and safeguards This can be started in parallel to 1 and 2. There are already many approaches to &lt;a href="https://www.google.com/search?q=hardening+Openclaw" target="_blank"&gt;hardening Openclaw&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Integrate these tools into messaging apps such as Google Chat, Teams, Slack etc. for widespread adoption.&lt;/li&gt;&lt;li&gt;Initial pilots can be done in a "sandbox" envioronment before scaling it further.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another potential use case could be for SMB’s, where the business owners could create custom workflows.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://www.rajansview.com/feeds/8064584272319156623/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2026/02/clawing-now-to-speed-up-later.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8064584272319156623" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8064584272319156623" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2026/02/clawing-now-to-speed-up-later.html" rel="alternate" title="Clawing Now to Speed Up Later" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMZf4ob3ytQMyZ3JGIXbJjbVUL0I4TSXaNfyFFHBy1pY2cQ-paF1Il1O1fuVIKRS_RWtrbVUB-Y6J1dCpfWNFlm5UNUaZ4DMBn5oXGsyErCy-c0A4c0M2H5xkFDSs5hsdc9QQEjqNB2aZsJYHOfkl6eHs7sGutCku3tNNB3o6ZcGDyjtcEFA_KqHu9Fjs/s72-w333-h400-c/Investment%20Council.jpg" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-8889392844100926168</id><published>2025-07-16T18:44:00.022+05:30</published><updated>2025-07-28T05:05:46.197+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Gemini CLI - Your Personal AI Investment Advisor</title><content type="html">&lt;h2 style="text-align: left;"&gt;&lt;/h2&gt;&lt;div&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;Unlocking Financial Insights with Gemini CLI and MCP Servers&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: medium;"&gt;The world of finance is complex, volatile, and often intimidating. From deciphering market trends to evaluating individual stocks, making informed investment decisions can feel like a full-time job. What if you could have a tireless, intelligent assistant by your side, sifting through data, analyzing performance, and even offering strategic insights?&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-size: medium;"&gt;Good news: Google recently launched the&amp;nbsp;&lt;a href="https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/"&gt;Gemini CLI&lt;/a&gt;&amp;nbsp;open source agent. There is a generous usage tier available for free - "60 model requests per minute and 1,000 requests per day at no charge". With the power of Google's Gemini CLI and a custom setup of Model Context Protocol (MCP) servers, that future is not only possible, it's within your reach right now. Forget expensive subscriptions or black-box algorithms – we're talking about building your &lt;i&gt;own&lt;/i&gt; sophisticated AI investment advisor.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The Brains Behind the Brawn: Gemini CLI Meets MCP&lt;/h2&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;At the heart of this AI investment advisor lies the &lt;b&gt;Gemini Command Line Interface (CLI)&lt;/b&gt;, a powerful tool that allows you to interact directly with Google's Gemini models. But Gemini, while incredibly capable, is a generalist. To turn it into a financial wizard, we need to equip it with specialized knowledge and tools. This is where &lt;b&gt;MCP (Model Context Protocol) servers&lt;/b&gt; come into play.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;Think of MCP servers as specialized "plugins" or "skills" for your AI. Each server is designed to perform a specific task or access a particular type of information. By orchestrating these servers, we can empower Gemini to perform incredibly complex, multi-faceted financial analysis. In most cases, these MCP servers act as a scaffolding over API's or Databases.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h2&gt;My Setup: A Glimpse Under the Hood&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;I've been experimenting with this exact setup, running the Gemini CLI within &lt;b&gt;WSL (Windows Subsystem for Linux)&lt;/b&gt; on my Windows machine. This provides a robust Linux environment while still leveraging the convenience of Windows. Here's a peek at the MCP servers I'm currently running, transforming my Gemini CLI into a useful financial analyst. Install the below MCP server and configure them in the settings.json for the Gemini CLI.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;response-element ng-version="0.0.0-PLACEHOLDER"&gt;&lt;code-block _nghost-ng-c2239250906="" class="ng-tns-c2239250906-21 ng-star-inserted"&gt;&lt;div _ngcontent-ng-c2239250906="" class="code-block ng-tns-c2239250906-21 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" jslog="223238;track:impression;BardVeMetadataKey:[[&amp;quot;r_4cc106ec79eada3f&amp;quot;,&amp;quot;c_29568fd5233ec7bb&amp;quot;,null,&amp;quot;rc_f9ec50f82bf32169&amp;quot;,null,null,&amp;quot;en&amp;quot;,null,1,null,null,1,0]]"&gt;&lt;div _ngcontent-ng-c2239250906="" class="code-block-decoration header-formatted gds-title-s ng-tns-c2239250906-21 ng-star-inserted"&gt;&lt;div _ngcontent-ng-c2239250906="" class="buttons ng-tns-c2239250906-21 ng-star-inserted"&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;/div&gt;&lt;!----&gt;&lt;div _ngcontent-ng-c2239250906="" class="formatted-code-block-internal-container ng-tns-c2239250906-21"&gt;&lt;div _ngcontent-ng-c2239250906="" class="animated-opacity ng-tns-c2239250906-21"&gt;&lt;pre _ngcontent-ng-c2239250906="" class="ng-tns-c2239250906-21"&gt;&lt;code _ngcontent-ng-c2239250906="" class="code-container formatted ng-tns-c2239250906-21" data-test-id="code-content" role="text"&gt;&lt;span class="hljs-string"&gt;"mcpServers"&lt;/span&gt;: {
  &lt;span class="hljs-attr"&gt;"context7"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"npx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"-y"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"@upstash/context7-mcp"&lt;/span&gt;]
  },
  &lt;span class="hljs-attr"&gt;"sequential-thinking"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"npx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"-y"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"@modelcontextprotocol/server-sequential-thinking"&lt;/span&gt;]
  },
  &lt;span class="hljs-attr"&gt;"basic-memory"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"uvx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"basic-memory"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"mcp"&lt;/span&gt;]
  },
  &lt;span class="hljs-attr"&gt;"stock-analyzer"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"uv"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [
      &lt;span class="hljs-string"&gt;"--directory"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/mcp-trader"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"run"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"mcp-trader"&lt;/span&gt;
    ],
    &lt;span class="hljs-attr"&gt;"env"&lt;/span&gt;: {
      &lt;span class="hljs-attr"&gt;"TIINGO_API_KEY"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"YOUR_TIINGO_API_KEY_HERE"&lt;/span&gt; 
    }
  },
  &lt;span class="hljs-attr"&gt;"financial-hub"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"uv"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [
      &lt;span class="hljs-string"&gt;"--directory"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/mcp-finnhub",&lt;br /&gt;&lt;/span&gt;      &lt;span class="hljs-string"&gt;"run"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"fastmcp"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"run"&lt;/span&gt;,
      &lt;span class="hljs-string"&gt;"server.py"&lt;/span&gt;
    ]
  },
  &lt;span class="hljs-attr"&gt;"financial-modelling-prep"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/fmp-mcp-server/.venv/bin/python",&lt;br /&gt;&lt;/span&gt;    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/fmp-mcp-server/src/server.py"]&lt;br /&gt;&lt;/span&gt;  },
  &lt;span class="hljs-attr"&gt;"quickchart"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"npx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"-y"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"@gongrzhe/quickchart-mcp-server"&lt;/span&gt;]
  },
  &lt;span class="hljs-attr"&gt;"code-runner"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"npx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"-y"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"mcp-server-code-runner@latest"&lt;/span&gt;]
  },
  &lt;span class="hljs-attr"&gt;"powerpoint"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"uvx"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"--from"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"office-powerpoint-mcp-server"&lt;/span&gt;, &lt;span class="hljs-string"&gt;"ppt_mcp_server"&lt;/span&gt;],
    &lt;span class="hljs-attr"&gt;"env"&lt;/span&gt;: {}
  },
  &lt;span class="hljs-attr"&gt;"markdown2pdf"&lt;/span&gt;: {
    &lt;span class="hljs-attr"&gt;"command"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"node"&lt;/span&gt;,
    &lt;span class="hljs-attr"&gt;"args"&lt;/span&gt;: [&lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/markdown2pdf-mcp/build/index.js"],&lt;br /&gt;&lt;/span&gt;    &lt;span class="hljs-attr"&gt;"env"&lt;/span&gt;: {
      &lt;span class="hljs-attr"&gt;"M2P_OUTPUT_DIR"&lt;/span&gt;: &lt;span class="hljs-string"&gt;"&amp;lt;absolute path&amp;gt;/workspace/stocks"&lt;br /&gt;&lt;/span&gt;    }
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/code-block&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/response-element&gt;&lt;p&gt;Let's break down what each of these powerful MCP servers brings to the table:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;sequential-thinking&lt;/code&gt;&lt;/b&gt;: This is crucial for enhancing Gemini's ability to maintain context over longer conversations and engage in multi-step logical reasoning – essential for complex financial inquiries.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;basic-memory&lt;/code&gt;&lt;/b&gt;: Allows Gemini to remember past interactions and information, building a more personalized and consistent advisory experience.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;stock-analyzer&lt;/code&gt; (powered by Tiingo)&lt;/b&gt;: This is where the real-time stock data comes in. It enables Gemini to fetch up-to-the-minute stock prices, historical data, and other critical metrics.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;financial-hub&lt;/code&gt; (likely Finnhub integration)&lt;/b&gt; &amp;amp; &lt;b&gt;&lt;code&gt;financial-modelling-prep&lt;/code&gt;&lt;/b&gt;: These MCP servers provide access to a vast array of fundamental financial data, including company financials, earnings reports, analyst ratings, and more. This is key for in-depth company analysis.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;quickchart&lt;/code&gt;&lt;/b&gt;: Imagine asking Gemini to "show me a chart of Apple's stock performance over the last year" and instantly getting a visual representation. This MCP server makes that a reality.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;code-runner&lt;/code&gt;&lt;/b&gt;: For more advanced statistical analysis or custom data processing, Gemini can leverage this MCP server to execute code, providing unparalleled flexibility.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;powerpoint&lt;/code&gt; &amp;amp; &lt;code&gt;markdown2pdf&lt;/code&gt;&lt;/b&gt;: These MCP servers are nifty tools for presentation and reporting. Gemini can potentially generate a quick summary report of your portfolio or a detailed analysis of a target stock, ready for sharing or printing.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;&lt;ul style="font-size: medium;"&gt;&lt;li&gt;&lt;p&gt;&lt;span style="font-family: monospace;"&gt;context7&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;: This fetches the latest documentation of the software libraries. It ensures that any code written by Gemini is accurate and minimzes errors.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;usolver MCP server&lt;/code&gt;&lt;/b&gt;&lt;span style="font-weight: 400;"&gt;: Apply various solvers such as Google's&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://developers.google.com/optimization" style="font-weight: 400;" target="_blank"&gt;OR tools&lt;/a&gt;&lt;span style="font-weight: 400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;and Microsoft's&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/Z3Prover/z3" style="font-weight: 400;" target="_blank"&gt;Z3 theorem prover&lt;/a&gt;&lt;span style="font-weight: 400;"&gt;. These help add a "logic" layer on top of the stock recommendations to ensure that they meet the portfolio objectives.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;vectorbt&lt;/code&gt;&lt;/b&gt;&lt;span style="font-weight: 400;"&gt;: This popular&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://vectorbt.dev/" style="font-weight: 400;" target="_blank"&gt;framework&lt;/a&gt;&lt;span style="font-weight: 400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;can be used to backtest for efficiently backtesting trading strategies and performing quantitative analysis.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: 400;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;What Can Your AI Investment Advisor Do?&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;With this powerful combination, your Gemini-powered AI investgment advisor also needs guidelines on how to leverage these tools. Here is a sample GEMINI.md template.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 19px; white-space: pre;"&gt;&lt;div&gt;Project Guidelines&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;This document contains critical information about working with this project. &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Follow these guidelines precisely.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;You have the following tools:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;sequential-thinking:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;A detailed tool for dynamic and reflective problem-solving through thoughts.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;This tool helps analyze problems through a flexible thinking process that can adapt &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;and evolve.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Each thought can build on, question, or revise previous insights as understanding &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;deepens.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;When the user asks an open ended or vague question, use the sequential thinking tool &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;always.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;basic-memory:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use this tool to search, store, retrieve, update notes.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Whenever a chart is downloaded as an image, always update the relevant note with &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;the link to the image.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;stock-analyzer:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Analyse a stock from multiple perspectives.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;financial-hub:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use this tool to get all the stock fundamentals, news and market trends.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;financial-modelling-prep:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Get advanced market and stock details.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;quickchart:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use this tool to generate charts. &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Once the chart is created, run the wget command in shell to download the chart as &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;an image.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;powerpoint:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use this tool to create powerpoint slides. If no template is provided, &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;use the professional or minimal templates.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Ensure that all the powerpoints created are formatted with the optimal font and &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;font size. The presentation type is always business.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;code-runner:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;When ad-hoc calculations are required, use python to write the calculations execute &lt;/div&gt;&lt;div style="font-size: 14px;"&gt;them using this tool.&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use the below Code Quality guidelines -&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Type hints required for all code&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Public APIs must have docstrings&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Functions must be focused and small&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Follow existing patterns exactly&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Line length: 88 chars maximum&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Testing Requirements&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;Code Style should be -&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;PEP 8 naming (snake_case for functions/variables)&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Class names in PascalCase&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Constants in UPPER_SNAKE_CASE&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Document with docstrings&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use f-strings for formatting&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;For commits fixing bugs or adding features based on user reports add:&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;markdown2pdf:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Convert the notes to pdf using this tool.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="font-size: 14px;"&gt;context7:&lt;/div&gt;&lt;div style="font-size: 14px;"&gt;Use this tool to get the latest documentation on a python library.&lt;/div&gt;&lt;span style="font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Getting started&lt;/h3&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Follow the installation instructions from &lt;a href="https://github.com/google-gemini/gemini-cli" target="_blank"&gt;github&lt;/a&gt;. Once you have configured the settings.json and GEMINI.md, you can run the CLI. You will notice the message that Gemini is now ready to go with the instructions provided and the 10 MCP servers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhpINd1xjMF8ipVlZLnF03O0fo8jm5v5vXq5F_FIAgpx9UEb_U8DAEJmaIac15ab2Po8U5MFn1cqPPB7RJ8viYkaABnQAaOoIxiWC3wJe2LlK_7nnvHx4Pw_ZrVbLT-OeSUUzWChWSjd_PFl-D9LRtmapuKYAXValVb687EivXUOQA8mruVuTnFA9XrkI/s2326/Gemini.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="579" data-original-width="2326" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhpINd1xjMF8ipVlZLnF03O0fo8jm5v5vXq5F_FIAgpx9UEb_U8DAEJmaIac15ab2Po8U5MFn1cqPPB7RJ8viYkaABnQAaOoIxiWC3wJe2LlK_7nnvHx4Pw_ZrVbLT-OeSUUzWChWSjd_PFl-D9LRtmapuKYAXValVb687EivXUOQA8mruVuTnFA9XrkI/w640-h159/Gemini.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Now, use Ctrl+T to view all the MCP server, their status and the tools available. For sake of brevity a few of the MCP servers are show below.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8a8Kj5GthFpAH6p1VQwIyvghBsQ-XNY-4L9hZH_Lyrgt9iXn9jfgJt3ZHT2aT3I3FQ-I0GbPy5wAxUEZ6q76Sbb0XWx1yvHFRC1Yn4pXB1NLtEuAMRygDVCvDCuaHZFSag-VneqybvEqw81Sm6LLNCj5xFtsPzx7qEnEuTeqY055j0dp30SCub_PPaUg/s1292/MCP%20Servers.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1292" data-original-width="700" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8a8Kj5GthFpAH6p1VQwIyvghBsQ-XNY-4L9hZH_Lyrgt9iXn9jfgJt3ZHT2aT3I3FQ-I0GbPy5wAxUEZ6q76Sbb0XWx1yvHFRC1Yn4pXB1NLtEuAMRygDVCvDCuaHZFSag-VneqybvEqw81Sm6LLNCj5xFtsPzx7qEnEuTeqY055j0dp30SCub_PPaUg/w346-h640/MCP%20Servers.JPG" width="346" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Provide real-time stock quotes and historical data.&lt;br /&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;Let's use Google as a test case for all our analysis. You can type in a prompt - "&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18.72px; font-weight: 400;"&gt;get basic fundamentals of GOOG&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;".&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjl69jzKV9DQQHSoUdYdsxvU5cSHugAT3AFDTscnp2BcyVUidirAcIJrjuiBZfZBftssu1S_Zg8U4800orGhks9wxJxDlevk_GOqU08mDv7cEqUoCryZFnJpuSjtPRNCvE73R1r3nhJjjQrwcJ7eWjfJhr3-TkAzE0LXkFYFdNbB2LmFN9lZ_9s85wyFg/s2353/Basic%201.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="519" data-original-width="2353" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjl69jzKV9DQQHSoUdYdsxvU5cSHugAT3AFDTscnp2BcyVUidirAcIJrjuiBZfZBftssu1S_Zg8U4800orGhks9wxJxDlevk_GOqU08mDv7cEqUoCryZFnJpuSjtPRNCvE73R1r3nhJjjQrwcJ7eWjfJhr3-TkAzE0LXkFYFdNbB2LmFN9lZ_9s85wyFg/w640-h142/Basic%201.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;After confirming the tool execution, the results are displayed in the Gemini CLI. One can see the "raw data" as well as the summary from Gemini.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo2vW31vLEyXcy6tfMw_kKCK55mX_x0-_rPl352JW0ORP4-Aux7jGaqnYqEw-Bdk2yHPUU3hqZW1cqi_QRzyHOBEOVKocK_Uu1RYCSNs41P6gh-tw8X15Y2r_BMP4C4bzpe9zFtGlmxg31e-me164hGSli7OUzZ6fNzvNYozetBoq20_BCghK5-9GmqjA/s2222/Basic2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1100" data-original-width="2222" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo2vW31vLEyXcy6tfMw_kKCK55mX_x0-_rPl352JW0ORP4-Aux7jGaqnYqEw-Bdk2yHPUU3hqZW1cqi_QRzyHOBEOVKocK_Uu1RYCSNs41P6gh-tw8X15Y2r_BMP4C4bzpe9zFtGlmxg31e-me164hGSli7OUzZ6fNzvNYozetBoq20_BCghK5-9GmqjA/w640-h316/Basic2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Analyze key performance indicators.&lt;br /&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;Next, type in the prompt - "&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;analyze the technical setup of GOOG&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;". Again, a different tool asks for permission.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhczNLjByjWhkcY1CeeKt6x4tCIqB0SLD_fopgL1y_b6iXSMlrB8zLwTdNKpmkfzuIokTDMA2EgOV_POkWuK5qRCEpdFrzl2Mx3MGSD3bosXOYYr2VUn6zf1q14yCKllpLhhzpNDEJNrW1rGS7edeu9KyCRY7rTDIMp0IUHSP7N70RjbthgHFCP0lcbFzE/s2327/Tech1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="519" data-original-width="2327" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhczNLjByjWhkcY1CeeKt6x4tCIqB0SLD_fopgL1y_b6iXSMlrB8zLwTdNKpmkfzuIokTDMA2EgOV_POkWuK5qRCEpdFrzl2Mx3MGSD3bosXOYYr2VUn6zf1q14yCKllpLhhzpNDEJNrW1rGS7edeu9KyCRY7rTDIMp0IUHSP7N70RjbthgHFCP0lcbFzE/w640-h142/Tech1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Once, the tool runs, the technical analysis results are shown. Not bad.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsncRK5-TocK1YzMFNgaK7pXdOA92jo722B8SjB8MAIXTCgu0tyRtYpFvLos96HyqnL5B-0OqHzWzFTH-4azsCU2-PPD6bU5sQNRgZWyVGjVzjsdyDsTl_ElPMPBrnGAkTxFcWHZ2KnUkh00S3WJvhOqjjrEXHITNr64pV8gNEzhvvLk-nMups55-B0c/s2276/Tech2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="986" data-original-width="2276" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpsncRK5-TocK1YzMFNgaK7pXdOA92jo722B8SjB8MAIXTCgu0tyRtYpFvLos96HyqnL5B-0OqHzWzFTH-4azsCU2-PPD6bU5sQNRgZWyVGjVzjsdyDsTl_ElPMPBrnGAkTxFcWHZ2KnUkh00S3WJvhOqjjrEXHITNr64pV8gNEzhvvLk-nMups55-B0c/w640-h278/Tech2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3&gt;Summarize news and sentiment around specific stocks or sectors.&lt;/h3&gt;&lt;h3&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;Now, let's ask for "get the latest market news on tech stocks".&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ6ynG85MVqOJx_ymTNBMnFUMNNKZurz3Jd_xkf31Pc4j_Jg1o9jPaU3p94NGiCnBu7ymmf9-EjirULi0mSTMrWuyeF_WHtDnJeSBBeKVc7zJajuZkcU3LIHJTOuKi4QvoY6ArWfhI8gsxVoyZyRTmvY0a1xZrDw1isH3hyphenhyphenB3setP8Mkvg1wb5uPRNWFk/s2311/News1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="506" data-original-width="2311" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ6ynG85MVqOJx_ymTNBMnFUMNNKZurz3Jd_xkf31Pc4j_Jg1o9jPaU3p94NGiCnBu7ymmf9-EjirULi0mSTMrWuyeF_WHtDnJeSBBeKVc7zJajuZkcU3LIHJTOuKi4QvoY6ArWfhI8gsxVoyZyRTmvY0a1xZrDw1isH3hyphenhyphenB3setP8Mkvg1wb5uPRNWFk/w640-h140/News1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;Once the tool confirmation is provided, the news is retrieved from the MCP Servers/API's.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj78uoQXaPWIMXwwP8_WZQewphwW_DOm9lMDJaOdOaljdLH3oW8h3cTKlTTihatpSFUQ9AovRdI2tI21C67xWx1HeIv1-bMCAJALBhGXoQ5issmlf2Ek-bdfOyZA6dD_2DB_9SszP_gTLi4fof_OZFE10oB0xVSqg-EDHy5c31WmODwJX14ENXGCnYk4L8/s2330/News2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="356" data-original-width="2330" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj78uoQXaPWIMXwwP8_WZQewphwW_DOm9lMDJaOdOaljdLH3oW8h3cTKlTTihatpSFUQ9AovRdI2tI21C67xWx1HeIv1-bMCAJALBhGXoQ5issmlf2Ek-bdfOyZA6dD_2DB_9SszP_gTLi4fof_OZFE10oB0xVSqg-EDHy5c31WmODwJX14ENXGCnYk4L8/w640-h98/News2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;In addition, Gemini also recommends and alternate stock for analysis. We can accept Gemini's suggestion to compare Google with another technology stock such as Microsoft (MSFT).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ5Ly1u086LDH_r9Z_0EDw2paBpajeeVlZKcRv5kGoNoDya9eREE7V57J5aBYAqEGRA3mFSg7dvuB6B6ziDB-TpCPERTOY5ENnv91KJVQPfDEe28Tj2UdkmfkB_EA1aWvZEUyZqgTTbYlpYBQfgy_C3xVJl_JCcD_uZ6M4lXO5xqBpMs8Nchwwbzqscm8/s2281/Analysis1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="411" data-original-width="2281" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ5Ly1u086LDH_r9Z_0EDw2paBpajeeVlZKcRv5kGoNoDya9eREE7V57J5aBYAqEGRA3mFSg7dvuB6B6ziDB-TpCPERTOY5ENnv91KJVQPfDEe28Tj2UdkmfkB_EA1aWvZEUyZqgTTbYlpYBQfgy_C3xVJl_JCcD_uZ6M4lXO5xqBpMs8Nchwwbzqscm8/w640-h116/Analysis1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Again, the same fundamental and technical analysis is done on MSFT.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLU69nIzslQjkQE0XsWG3hcxL9A3nsvfSag79Fm8LcPelRlWkoy7TW3KWb9x598MyhLlrVRhK_HBcIpItn84zepj5yhcSpFoyvLZ0VKFv8ZIvA7BRbyCPg_sS6VB1GsqkhfZ9deOuwl741eT-_C9TDKaBCEy9mfYqnwpglfafr94gX4ct1b-mRyIE9_o4/s2363/Analysis2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1111" data-original-width="2363" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLU69nIzslQjkQE0XsWG3hcxL9A3nsvfSag79Fm8LcPelRlWkoy7TW3KWb9x598MyhLlrVRhK_HBcIpItn84zepj5yhcSpFoyvLZ0VKFv8ZIvA7BRbyCPg_sS6VB1GsqkhfZ9deOuwl741eT-_C9TDKaBCEy9mfYqnwpglfafr94gX4ct1b-mRyIE9_o4/w640-h300/Analysis2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;As a bonus, we can also get the broader market moves for the day.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhipf88DMYuN-_FqR66a2KF5hNSzSViYI85kqVntiJjppJpAmHhWd061zQKm77wCXBMxguuPlbLhwuIPwffKV0CfRAHdeNNmB7A6tYUP_e45mj2YRE__YVvocNBLGokEBQO1aXhaVrTk08toWWlXArAmVhIQTqUldZZh5EoSlmQthiWcv2eex2jCRgfvYA/s2366/Analysis3.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="918" data-original-width="2366" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhipf88DMYuN-_FqR66a2KF5hNSzSViYI85kqVntiJjppJpAmHhWd061zQKm77wCXBMxguuPlbLhwuIPwffKV0CfRAHdeNNmB7A6tYUP_e45mj2YRE__YVvocNBLGokEBQO1aXhaVrTk08toWWlXArAmVhIQTqUldZZh5EoSlmQthiWcv2eex2jCRgfvYA/w640-h248/Analysis3.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;Generate charts and visualizations of financial data.&lt;br /&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;We can now try to visualize the data a bit better by asking - "&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;what time series data do we have available for GOOG and MSFT".&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: 400;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh195W0R1LivCp6reEJOeOFeXejyRzzgtZW3hXoYZYnz1EWzik6k-o2KXiEmPrC2ptP6Gu1aj_LapbHFiqPYbX8bApgIhQdY2yZZDjHZUxspgMSr67qUZifsOYNoYoJOmcz_imEsh0syYwBZyrdrMv1D9EvtMu0b61qX2_DvaA6x8R7IbOR6bUMllHyhkI/s2371/Vis2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1074" data-original-width="2371" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh195W0R1LivCp6reEJOeOFeXejyRzzgtZW3hXoYZYnz1EWzik6k-o2KXiEmPrC2ptP6Gu1aj_LapbHFiqPYbX8bApgIhQdY2yZZDjHZUxspgMSr67qUZifsOYNoYoJOmcz_imEsh0syYwBZyrdrMv1D9EvtMu0b61qX2_DvaA6x8R7IbOR6bUMllHyhkI/w640-h290/Vis2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-weight: 400; text-align: justify;"&gt;Based on the data already retrieved, charts can also now be created.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-weight: 400; text-align: justify;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoWba0afmdPNKDEfzmaajgqRjbt8FmPzpDB4_odENTTl5ptQhn3vfxXQXX9vQc4Ayi0gJO1Xk_4R9b0mWCCwTQYOYBUUr-bPFJlUWVgpu-gwey4UktG-Ja6Jte_60aEZuT9ttMhrEVHmy9YaYVhxdcogP8MXbaflk9v3AiHggw7hv8GIapk-tigwFHKeg/s1778/Vis3.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1090" data-original-width="1778" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoWba0afmdPNKDEfzmaajgqRjbt8FmPzpDB4_odENTTl5ptQhn3vfxXQXX9vQc4Ayi0gJO1Xk_4R9b0mWCCwTQYOYBUUr-bPFJlUWVgpu-gwey4UktG-Ja6Jte_60aEZuT9ttMhrEVHmy9YaYVhxdcogP8MXbaflk9v3AiHggw7hv8GIapk-tigwFHKeg/w640-h392/Vis3.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3&gt;Even offer preliminary insights into potential investment strategies&amp;nbsp;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: normal;"&gt;Now, let's ask for the "based on the data, what is the investment recommendation between these stocks"&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH3bkxZl7ZtB21jMaRU1MaY7r1xvDhMiNoET1qAvlTPlN-k4ZZ5HFAYoWkPi6zMO6z-HFw34WscagQYqtWVpcr_YqGXMQNPpQibEJxSyOGHhHc9O8JKaqM8-SOlwapN9FVQPud8ymAbE-X4rLVYIMN_21PH3fMQiGbJ-73vJMIr8lVn8mxpxtMshJHMgE/s2322/Buy2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="416" data-original-width="2322" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH3bkxZl7ZtB21jMaRU1MaY7r1xvDhMiNoET1qAvlTPlN-k4ZZ5HFAYoWkPi6zMO6z-HFw34WscagQYqtWVpcr_YqGXMQNPpQibEJxSyOGHhHc9O8JKaqM8-SOlwapN9FVQPud8ymAbE-X4rLVYIMN_21PH3fMQiGbJ-73vJMIr8lVn8mxpxtMshJHMgE/w640-h114/Buy2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Gemini CLI is able to give recommendations grounded on the stock fundamentals and technical analysis already performed in earlier steps.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-dFFcw-386jZlWI-8D429xt1VXiE54QdJ5pLz5xMA2K4I9a3VumViGKiwNKfoOYtEsaMMphnIZUZcVOoNyrGJfabSsyiK3rSgj2oWo-Md_sHAtGyuKrUdlW58hqboJMVLLYzz5m0LEHQgubwHwRrodupwv2b6DQrH35_UoauqolYpmmtKD2zHtg_vW68/s2310/Buy1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1102" data-original-width="2310" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-dFFcw-386jZlWI-8D429xt1VXiE54QdJ5pLz5xMA2K4I9a3VumViGKiwNKfoOYtEsaMMphnIZUZcVOoNyrGJfabSsyiK3rSgj2oWo-Md_sHAtGyuKrUdlW58hqboJMVLLYzz5m0LEHQgubwHwRrodupwv2b6DQrH35_UoauqolYpmmtKD2zHtg_vW68/w640-h306/Buy1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="font-size: 18.72px; font-weight: 400; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: normal;"&gt;Going a little deeper, let's ask for - "&lt;/span&gt;&lt;span style="font-weight: 400;"&gt;calculate the position size for Google&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;".&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijvQ1aw0y1U-K6ihGuyZECyDR_pOC2CPq9X_lYHNwtxs_DK4uhAT9UzaEPqy_MHAsWVHESbfq9fZt-EvKdgghkUJaj5h67HiJ2EiBaDZoDhO3w4YPqAa-kSOuyPoJBVzsLT68PrB5wlAxebCFqnbWVoh5abp6fr2sclvDZmX1uPXqmkWNKkeRyrXKPrnA/s2322/Buy2.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" data-original-height="416" data-original-width="2322" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijvQ1aw0y1U-K6ihGuyZECyDR_pOC2CPq9X_lYHNwtxs_DK4uhAT9UzaEPqy_MHAsWVHESbfq9fZt-EvKdgghkUJaj5h67HiJ2EiBaDZoDhO3w4YPqAa-kSOuyPoJBVzsLT68PrB5wlAxebCFqnbWVoh5abp6fr2sclvDZmX1uPXqmkWNKkeRyrXKPrnA/w640-h114/Buy2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: normal;"&gt;Gemini CLI asks for inputs to calculate the position size.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY3IgnOld8QkKTcBBVnZxyvThEP7m0_o60XCd36QAqsrhZjcVAxWlgv9scF29FAMw1U0uiHeoudbiTAmcNtSbTr8Bky7tUcU4hz0vXYR0ElkeQxYwdMQSUOjl8wN4Xcm419ZJbGTUGws56aasvVb5jUCXpgcq6Gi2LAlJeLIg3HCmyTpvecRYYtfQ0uGo/s2324/Buy3.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" data-original-height="507" data-original-width="2324" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY3IgnOld8QkKTcBBVnZxyvThEP7m0_o60XCd36QAqsrhZjcVAxWlgv9scF29FAMw1U0uiHeoudbiTAmcNtSbTr8Bky7tUcU4hz0vXYR0ElkeQxYwdMQSUOjl8wN4Xcm419ZJbGTUGws56aasvVb5jUCXpgcq6Gi2LAlJeLIg3HCmyTpvecRYYtfQ0uGo/w640-h140/Buy3.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: normal;"&gt;It uses the relevant tools to provide the "position size" recommendations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQN4Tz7RstuHiEwH0kkUYHn80k3FwMRtzKNIGNXwAKshYX3Aoi4avs7pGqExXFHc1y9AOclJVckiPoZXrTnJeP2Ibye65eDthwDXHHFm9L9VhkENkgrabwRURE02zPKPb5sGUuNBWIjIb-nsyfBUexETtkTRNqGM3m7JMo2dLNlLjiEzMiYAVIx2MmhQ/s2220/Buy4.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1091" data-original-width="2220" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQN4Tz7RstuHiEwH0kkUYHn80k3FwMRtzKNIGNXwAKshYX3Aoi4avs7pGqExXFHc1y9AOclJVckiPoZXrTnJeP2Ibye65eDthwDXHHFm9L9VhkENkgrabwRURE02zPKPb5sGUuNBWIjIb-nsyfBUexETtkTRNqGM3m7JMo2dLNlLjiEzMiYAVIx2MmhQ/w640-h314/Buy4.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span&gt;&lt;div style="font-size: 18.72px; font-weight: 400; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3 style="text-align: justify;"&gt;Create reports and presentations on demand&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;&lt;span style="font-weight: normal;"&gt;Now that we have done all the analysis, let's create a presentation - "&lt;/span&gt;&lt;span style="font-size: 18.72px; font-weight: 400;"&gt;create a presentation with all the analysis done so far and add the charts as well&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;". The relevant tool now proceeds to create the presentation with all the details and charts.&lt;/span&gt;&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOovbEByWe3DlgknVhNVIx_kIU9sBgUZg-57xlMV4t9o6fGpAl88VKkG8RLf0chSy_Lthaijzg_vLsLFbBpEoeEGwiuldEpwept7Eaa8LdxTonmA_pda3B4klTm0kmhXNCMhy7wY0BhIUBUxzPNfvBgykP1ut3dX-sqBbVRjd9pHbAZkMehHQdqVN7yV0/s2353/Slide1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1013" data-original-width="2353" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOovbEByWe3DlgknVhNVIx_kIU9sBgUZg-57xlMV4t9o6fGpAl88VKkG8RLf0chSy_Lthaijzg_vLsLFbBpEoeEGwiuldEpwept7Eaa8LdxTonmA_pda3B4klTm0kmhXNCMhy7wY0BhIUBUxzPNfvBgykP1ut3dX-sqBbVRjd9pHbAZkMehHQdqVN7yV0/w640-h276/Slide1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: medium;"&gt;Three presentations for further analysis are created using Gemini CLI and the MCP servers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-COBQBk3M0hKN2IXgb7F1Uf7RC5FdTXOqxdJLe2sXbgxcaSPWRuQ36tCsty7nTQ17xWztp92aF76JLxvYJF5_ahonBZhMKpqyPhWvgNh2nqPTtfDUE2fzA-ekkQQpkD64BrBORSi4105ny6Ci6UbFCEFOKCNiT011L5wy_g73gY8h22KIyG45xI2AUrs/s2037/Slide2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="719" data-original-width="2037" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-COBQBk3M0hKN2IXgb7F1Uf7RC5FdTXOqxdJLe2sXbgxcaSPWRuQ36tCsty7nTQ17xWztp92aF76JLxvYJF5_ahonBZhMKpqyPhWvgNh2nqPTtfDUE2fzA-ekkQQpkD64BrBORSi4105ny6Ci6UbFCEFOKCNiT011L5wy_g73gY8h22KIyG45xI2AUrs/w640-h226/Slide2.JPG" width="640" /&gt;&lt;/a&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Google stock recommendation&lt;/b&gt; - An initial presentation on recommendations for the Google stock can be accessed &lt;/span&gt;&lt;a href="https://docs.google.com/presentation/d/1h0-yLOdjKe8xg0BgRfFCuUcTNlQXkUy1KLVnGYRItMs/edit?usp=sharing" style="font-size: large;" target="_blank"&gt;here&lt;/a&gt;&lt;span style="font-size: large;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Google and Microsoft Trading Strategy&lt;/b&gt; - A detailed trading strategy for Google and Microsoft is &lt;a href="https://docs.google.com/presentation/d/1GLJZEsKXqZlHuwNf-j2p5zryxXdJUYRB72dvNzOCJys/edit?usp=sharing" target="_blank"&gt;here&lt;/a&gt;. This contains portfolio optimization, Value at Risk analysis, HiGHS solver, Monte Carlo simulation, Entry/Exit calculations, Performance Attribution, Sensitivity Analysis and Phase-wise trading strategy.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Backtesting of the Trading Strategy&lt;/b&gt; - Now, that we have the trading strategy, it is prudent to "backtest" it. The final presentation about backtesting the trading strategy is &lt;a href="https://docs.google.com/presentation/d/1job9_Yb_nu66A1MMSRWePi5j340EPkhTmqks0c8NzZs/edit?usp=sharing" target="_blank"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;Roadmap&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;As an extension to the above setup, here are some useful additions I am currently testing.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;skfolio&lt;/code&gt;&lt;/b&gt;: This is a portfolio optimization framework build on top of scikit-learn to perform model selection, validation and parameter tuning.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;&lt;code&gt;n8n MCP Server&lt;/code&gt;&lt;/b&gt;: Once the trading strategies are created, one can execute and monitor the strategy with &lt;a href="https://github.com/leonardsellem/n8n-mcp-server" target="_blank"&gt;n8n workflows&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;The Future of Personal Finance is Agentic&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;This isn't about replacing human financial advisors entirely, but about democratizing access to powerful analytical tools for retail and institutional investors alike. Imagine being able to quickly validate an investment idea, get a second opinion on a stock, or simply stay better informed about your portfolio – all through a natural language interface.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;The setup might seem a bit technical at first, especially for those new to command-line tools or development environments. However, the open-source nature of many MCP servers and the clear documentation available for Gemini CLI make this an incredibly rewarding journey for anyone willing to dive in.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;Also, the cost to setup the Gemini CLI and the associated MCP Servers and API's is zero, so any returns you make on your investments is all profit!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;Are you ready to take control of your financial future with the power of AI? The tools are available, the potential is immense, and the learning curve is an investment in itself. Start exploring the Gemini CLI and the exciting world of MCP servers today – your personal AI investment advisor awaits.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;"&gt;Enjoy learning the world of agents and happy investing!&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Disclaimer:&amp;nbsp;This content does NOT constitute financial advice, investment recommendations, or a solicitation to buy or sell any securities or financial products.&amp;nbsp;&lt;/span&gt;&lt;span&gt;Key Considerations and Risks:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;Not Personalized Financial Advice: The examples and discussions herein do not consider your individual financial situation, investment objectives, risk tolerance, or specific needs. Investing decisions should always be tailored to your unique circumstances.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Investment Risks:&lt;/span&gt;&lt;span&gt; All investments involve inherent risks, including the potential for loss of principal. The value of investments can fluctuate significantly due to market volatility, economic conditions, company-specific factors, and other unforeseen events. There is no guarantee that any investment strategy, even one informed by AI, will be profitable.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Past Performance Not Indicative of Future Results:&lt;/span&gt;&lt;span&gt; Any historical data, analysis, or simulated performance presented or generated by the described AI setup is for illustrative purposes only and should not be considered a reliable indicator of future investment results.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;AI Limitations and Errors:&lt;/span&gt;&lt;span&gt; While powerful, AI models, including Gemini and the MCP servers, are based on algorithms and data. They can make errors, produce incomplete or biased information, or misinterpret complex financial nuances. The data sources used by the MCP servers (e.g., Tiingo, Finnhub) may also have their own limitations or delays. &lt;/span&gt;&lt;span&gt;Always exercise your own independent judgment and critical thinking when using AI-generated insights.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;No Guarantee of Accuracy or Completeness:&lt;/span&gt;&lt;span&gt; We strive for accuracy in our content, but we make no warranties or representations, express or implied, regarding the completeness, accuracy, reliability, or suitability of any information presented. Financial markets are dynamic, and information can become outdated rapidly.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Human Oversight is Crucial:&lt;/span&gt;&lt;span&gt; The AI setup described is a tool to assist with analysis, not a replacement for human expertise, due diligence, or professional financial advice. You are solely responsible for all investment decisions you make.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Tax and Legal Implications:&lt;/span&gt;&lt;span&gt; Investment decisions can have tax and legal implications. You should consult with qualified tax and legal professionals for advice relevant to your specific situation.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Third-Party Services and APIs:&lt;/span&gt;&lt;span&gt; The MCP servers leverage various third-party services and APIs (e.g., Tiingo). Your use of these services may be subject to their respective terms of service, privacy policies, and potential costs. We are not responsible for the performance or policies of these third-party providers.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;&lt;span&gt;Your Responsibility:&lt;/span&gt;&lt;span&gt; By reading this blog post and considering the concepts presented, you acknowledge and agree that you are solely responsible for any investment decisions you make. You assume all risks associated with your financial actions and will not hold the author, blog, or any associated entities liable for any losses or damages incurred.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; font-size: xx-small;"&gt;Always consult with a qualified and licensed financial advisor, investment professional, or other relevant expert before making any investment decisions.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/8889392844100926168/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2025/07/gemini-cli-your-personal-ai-investment.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8889392844100926168" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8889392844100926168" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2025/07/gemini-cli-your-personal-ai-investment.html" rel="alternate" title="Gemini CLI - Your Personal AI Investment Advisor" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhpINd1xjMF8ipVlZLnF03O0fo8jm5v5vXq5F_FIAgpx9UEb_U8DAEJmaIac15ab2Po8U5MFn1cqPPB7RJ8viYkaABnQAaOoIxiWC3wJe2LlK_7nnvHx4Pw_ZrVbLT-OeSUUzWChWSjd_PFl-D9LRtmapuKYAXValVb687EivXUOQA8mruVuTnFA9XrkI/s72-w640-h159-c/Gemini.JPG" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6018563029752650054</id><published>2025-04-19T16:51:00.017+05:30</published><updated>2025-04-20T10:28:00.463+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Vibe coding your way to Agentic AI</title><content type="html">&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;If someone told me that “vibe coding” would be a thing someday, I would have laughed it away. But, here we are. Agentic AI is already starting to change the way we interact with AI. One can think of vibe coding as an “agentic” way of developing software. Let’s see how one can “vibe code” an Agentic AI application.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1 style="text-align: left;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Tools of the Trade&lt;/span&gt;&lt;/h1&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;No pun intended, here are the developer tools one could use.&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;The Cloud Editor in Google Cloud Shell. This editor is similar in look and feel to VS Code. So, the application development can now happen entirely in the cloud, without installing anything on the laptop.&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Install the &lt;a href="https://github.com/RooVetGit/Roo-Code" target="_blank"&gt;Roo Code extension&lt;/a&gt;&amp;nbsp;in the Cloud Shell Editor and configure it to use Gemini 2.0 Flash. You will have to create an API Key and set it up, as shown below.&lt;/span&gt;&lt;/li&gt;&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Lastly, we will use &lt;a href="https://google.github.io/adk-docs/" target="_blank"&gt;Google Agent Development Kit&lt;/a&gt;&amp;nbsp;(ADK) framework to create an agentic application.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPyk6S8cvo5uTU-1IvfzhZD_fK15D9E3LvcNitRukP3nAdAJq9zK0zDvFEBNy-61-mlRhEqKKrQ5RB85SX7kmZOQGT2-9wAPDIULSCp2GaJpQO_AugSkOg5ZfRvArSrYJpI84rMJIvPwZCA1LbZdrFYqGQ4rVqI0lupLfFecEO7cWEDdIonJDTq3V66N0/s2453/step0.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1006" data-original-width="2453" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPyk6S8cvo5uTU-1IvfzhZD_fK15D9E3LvcNitRukP3nAdAJq9zK0zDvFEBNy-61-mlRhEqKKrQ5RB85SX7kmZOQGT2-9wAPDIULSCp2GaJpQO_AugSkOg5ZfRvArSrYJpI84rMJIvPwZCA1LbZdrFYqGQ4rVqI0lupLfFecEO7cWEDdIonJDTq3V66N0/w640-h262/step0.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Once the Roo extension is installed, developer can use it in different modes such as - Architect, Code, Ask, Debug etc.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTffpBzA7RDyhDlbYTDtga6YD74Tr1jrW-DtpVOQSHCV3CYxZVKaZT3WHyMl_emUyIoqt7JGKs2i3me3lwucVb5W_nIFf5O9CSQqfpSSAaZ80rn1gxpu_OfDqT4NFRWdMNOYB2esa1eCtoyoUuRG9kV7Chp3o0UA6uF3gCPBENCqJxAlNU_GrEwi5za3A/s2531/step0.5.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="989" data-original-width="2531" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTffpBzA7RDyhDlbYTDtga6YD74Tr1jrW-DtpVOQSHCV3CYxZVKaZT3WHyMl_emUyIoqt7JGKs2i3me3lwucVb5W_nIFf5O9CSQqfpSSAaZ80rn1gxpu_OfDqT4NFRWdMNOYB2esa1eCtoyoUuRG9kV7Chp3o0UA6uF3gCPBENCqJxAlNU_GrEwi5za3A/w640-h250/step0.5.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;For example, in the example below, I "asked" Roo/Gemini 2.0 Flash to analyze unused imports in the code.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAQUUT7QkuUFRPoAaL7mbAGmDk7WwWfYFayfUyS7LPOzmfsKEOdjx2NoIJs3PtscqpJLmC89QYqRi1Yk3mHMNyc6-e6wORVcj_P1Cg1gmAtgLo3C8U6cV3msnfnxcCIn9TxibvFk0a0yrAy-NHOljX3fTYDR1ayWwU5FJXeSjlxRYOPIbC6WUkbKDtwqE/s1070/step0.6.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1070" data-original-width="792" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAQUUT7QkuUFRPoAaL7mbAGmDk7WwWfYFayfUyS7LPOzmfsKEOdjx2NoIJs3PtscqpJLmC89QYqRi1Yk3mHMNyc6-e6wORVcj_P1Cg1gmAtgLo3C8U6cV3msnfnxcCIn9TxibvFk0a0yrAy-NHOljX3fTYDR1ayWwU5FJXeSjlxRYOPIbC6WUkbKDtwqE/w474-h640/step0.6.JPG" width="474" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;span style="font-family: Helvetica; font-weight: 400; text-align: justify;"&gt;Beyond suggestions, I also used Roo/Gemini 2.0 to write the code and update the README.md. You can see the generated agent code at&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/rajanm/adk-agent" style="font-family: Helvetica; font-weight: 400; text-align: justify;" target="_blank"&gt;GitHub&lt;/a&gt;&lt;span style="font-family: Helvetica; font-weight: 400; text-align: justify;"&gt;. The steps to install, test and deploy the app are in the same GitHub repository.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;span style="font-family: Helvetica; font-weight: 400; text-align: justify;"&gt;The Agentic AI application was built in the following way&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;Hand Coded by Me&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;Overall agent skeleton code&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;call_code_agent&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;call_web_search&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;Dockerfile&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;Flask App&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="font-size: 14.67px;"&gt;Vibe Coded by AI&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;get_exchange_rate&lt;/li&gt;&lt;li style="text-align: justify;"&gt;get_historical_exchange rate&lt;/li&gt;&lt;li style="text-align: justify;"&gt;get_exchange_rate_trend&lt;/li&gt;&lt;li style="text-align: justify;"&gt;setenv.sh&lt;/li&gt;&lt;li style="text-align: justify;"&gt;run.sh&lt;/li&gt;&lt;li style="text-align: justify;"&gt;deploy.sh&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Agentic AI using Google ADK&lt;/span&gt;&lt;/h1&gt;
&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;In this example, we have created a “currency agent” application. This application contains multiple agents and tools. All these agents and tools are leveraging Google ADK. There is no MCP or A2A in this example, that is for another day.&lt;/span&gt;&lt;/p&gt;
&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px; text-align: justify;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;This Agentic AI app can - get current and historical currency exchange rates. In addition, it can perform ad hoc calculations and also search the web to analyse current events.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px; text-align: justify;"&gt;&lt;span style="font-size: 14.67px;"&gt;We can use the Google ADK Web Developer UI to test the Agentic AI application.&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 14.67px;"&gt;As you can see in the screenshots, all of the below steps are from a single session. If we want to do this across sessions, we will need a stateful session service. This example uses an in-memory session service provided by Google ADK framework.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px; text-align: justify;"&gt;&lt;span style="font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px; text-align: justify;"&gt;&lt;span style="font-size: 14.67px;"&gt;1. First, a user starts by asking for the current exchange rate. Due to the free API’s being used, the base currency is always US Dollar (USD).&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9MuCtaJhi9g834tnRho37jOyEkxqUCNWFNzv-3F9cB24-jLi5F9117WNeSwhsmptWAXwnuJI8Uz0PJ_dh2jh_wNMo-J3HLP5LdSKFSLWfd9xi_Rj8RIE95liY2EV0ec8JuLOuunkj4_PgSGMq3vR64fegoenhldJAvcm7-d8eU-HdPah7N9FvNvNWRQ4/s2518/step1.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="646" data-original-width="2518" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9MuCtaJhi9g834tnRho37jOyEkxqUCNWFNzv-3F9cB24-jLi5F9117WNeSwhsmptWAXwnuJI8Uz0PJ_dh2jh_wNMo-J3HLP5LdSKFSLWfd9xi_Rj8RIE95liY2EV0ec8JuLOuunkj4_PgSGMq3vR64fegoenhldJAvcm7-d8eU-HdPah7N9FvNvNWRQ4/w640-h164/step1.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;2. Next, the user asks about the causes of currency fluctuations. This information is retrieved from the web.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmSxAqd1aMAhzvuesn7fjmwWhLRuxTEcL8BraVQ0gm4zyHHXHX-903AD2OZiNoY6_F9MK_-XRlM2Mc0JiNoEk1J-UBMOkx0C1ZfMQNx70CJzx4qPBy46Wjkx6xb7AN_pzriO0Iwwke82-nHKu30y8WwPKMDAahG0YbGJ-FoSfLO13N-lfhyphenhyphenmZH3ZoEOzg/s2505/step2.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="942" data-original-width="2505" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmSxAqd1aMAhzvuesn7fjmwWhLRuxTEcL8BraVQ0gm4zyHHXHX-903AD2OZiNoY6_F9MK_-XRlM2Mc0JiNoEk1J-UBMOkx0C1ZfMQNx70CJzx4qPBy46Wjkx6xb7AN_pzriO0Iwwke82-nHKu30y8WwPKMDAahG0YbGJ-FoSfLO13N-lfhyphenhyphenmZH3ZoEOzg/w640-h240/step2.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGLzXFIqJ4Jy1isZ8tfhKQtbDH-g_i1zE8AoMl0475oGrZkABhgT13VCGCEhHu_HvW2K7SqxfUEF1NW4szUiZFaM35vpWUQdsajDm7OK6Uxp1aZX2WGe-njXMfIXlpLUqWHQYJwa0p3gY3WGDKBgO5H6qkWPs9G-QwHPyc8WQ8G5obCAquxaDQ2F2K3f4/s2527/step3.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1165" data-original-width="2527" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGLzXFIqJ4Jy1isZ8tfhKQtbDH-g_i1zE8AoMl0475oGrZkABhgT13VCGCEhHu_HvW2K7SqxfUEF1NW4szUiZFaM35vpWUQdsajDm7OK6Uxp1aZX2WGe-njXMfIXlpLUqWHQYJwa0p3gY3WGDKBgO5H6qkWPs9G-QwHPyc8WQ8G5obCAquxaDQ2F2K3f4/w640-h296/step3.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;3. Now, user is following up with historical exchange rates. Current and historical exchange rates are retrieved using tools, which in turn call APIs.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtrFPICKm6LTBEfbTYb0FPCcmqMkN7zmmKNKdaaSkfIMbzKFuGbiQFFF8KbQ6PzP0kJj8qwG7jkvMLDzrmd7d88coPneE2_kSySh7fcQtj6YaDbq6qYlbhXsNIIutKsWZW6dE2YjKr43qQ0XUv48I_uSYWkRaLCkuISJhyOwm4c1EvlnfoF1NbaKp1yXQ/s2537/step4.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1168" data-original-width="2537" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtrFPICKm6LTBEfbTYb0FPCcmqMkN7zmmKNKdaaSkfIMbzKFuGbiQFFF8KbQ6PzP0kJj8qwG7jkvMLDzrmd7d88coPneE2_kSySh7fcQtj6YaDbq6qYlbhXsNIIutKsWZW6dE2YjKr43qQ0XUv48I_uSYWkRaLCkuISJhyOwm4c1EvlnfoF1NbaKp1yXQ/w640-h294/step4.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="text-align: left;"&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; text-align: left;"&gt;4. I&lt;/span&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14.67px; text-align: left;"&gt;n addition, user can now ask for predictions. This is done by the agent writing python code to arrive at the prediction as well as show visualizations (&lt;i&gt;which was not asked by the user at all&lt;/i&gt;). This is the first example of a “&lt;i&gt;agentic ai&lt;/i&gt;” where an application understands the context and provides more intelligent answers to the user.&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQqvzzCJvtqksGb9GW0bdz6ZnyF4kaCcKN9mcbCWcULrW5xWcCCmMgoDkH5PCGhJ1CYDF6F6bVG7XPlX4y8Gc9no1mC2s1OMo3aJ0XaJZhDlh4L4T8uTnRh6qce9Gba7tTvd0HHF95cZ5vq_IEnBjhW-CtG0caFLnUVYMMLs43W1GVu0NLf88bDJedoI/s2528/step5.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1174" data-original-width="2528" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQqvzzCJvtqksGb9GW0bdz6ZnyF4kaCcKN9mcbCWcULrW5xWcCCmMgoDkH5PCGhJ1CYDF6F6bVG7XPlX4y8Gc9no1mC2s1OMo3aJ0XaJZhDlh4L4T8uTnRh6qce9Gba7tTvd0HHF95cZ5vq_IEnBjhW-CtG0caFLnUVYMMLs43W1GVu0NLf88bDJedoI/w640-h298/step5.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style="text-align: left;"&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14.67px; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); text-align: left;"&gt;5.&amp;nbsp;&lt;/span&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14.67px; text-align: left;"&gt;Next, is the second example of an “&lt;i&gt;agentic ai&lt;/i&gt;” capability, formatting and summarizing data. In this case, it is a &lt;i&gt;synthesis of data that was retrieved from multiple sources&lt;/i&gt; -&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;
&lt;ol&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Historical data from Currency APIs&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Future predicted exchange rate&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Analysis from the web&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr9Kc0kw4KIz6jRKL_T3GNJoV42gvgXnmK3Vl04hCpAx8WqVQ4jkEczzlkLbC3VJcSkrqehtDgpIY0-sB7urL5STtlC3S0faWddtUtyMO424dI5XUEa3vl4T0700Nz-gxM9yYzpBpjzKjwoy3c1U_iYSAJb1oBc2Z-nSLVQqT3J0q43OIT9lG8aOVz6K8/s2531/step6.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1174" data-original-width="2531" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr9Kc0kw4KIz6jRKL_T3GNJoV42gvgXnmK3Vl04hCpAx8WqVQ4jkEczzlkLbC3VJcSkrqehtDgpIY0-sB7urL5STtlC3S0faWddtUtyMO424dI5XUEa3vl4T0700Nz-gxM9yYzpBpjzKjwoy3c1U_iYSAJb1oBc2Z-nSLVQqT3J0q43OIT9lG8aOVz6K8/w640-h296/step6.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;6. Here is the third example of “&lt;i&gt;agentic ai&lt;/i&gt;” capability, perhaps the most comprehensive. User provides the high level instruction - to create a summary for USD to GBP currency pair. Agent understands the instruction and automatically performs all the steps that were done earlier for the USD to SGD currency pair, &lt;i&gt;without explicit directions from the user&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ6AsQ39qdCGPJwhYD0wH4qfd6A4TGUMM9ipxYwOR4IceGzNfiQcjHkN_BMjf7-jzMH1ej8HhZwRsUsbHwS4nVbIIsAKDvJ4fl7w8vrVWyUPAz5dmmBXRfHdAUiN9TvNiC4F_1Pk7C9R1dSdgh_6-rortIEuLhKN6Uo_Ilyqo6FnqyuxDM6haJA2IeVPg/s2531/step7.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1177" data-original-width="2531" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ6AsQ39qdCGPJwhYD0wH4qfd6A4TGUMM9ipxYwOR4IceGzNfiQcjHkN_BMjf7-jzMH1ej8HhZwRsUsbHwS4nVbIIsAKDvJ4fl7w8vrVWyUPAz5dmmBXRfHdAUiN9TvNiC4F_1Pk7C9R1dSdgh_6-rortIEuLhKN6Uo_Ilyqo6FnqyuxDM6haJA2IeVPg/w640-h298/step7.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7.&amp;nbsp;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14.67px;"&gt;These steps include the prediction, creation of visualization and analysis from the web.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaPWhMuY7QwlNZp0Ml7lUu5K5MX4dh5GDjbOiWm7v4IbCZikl-HCXVpL2lR-0dLMx-W2djz_IWFpMZRMJU_Rpa63_Eghj-aH0UECxKQpWBq1BViYhkKBK7k3BXlLytBEH68skTxb0H0ZBGaHDdQ0Sf1iKcLUCHSb0lxvHAyJuEqwhaEnVJ_Vb0iF9n9ro/s2522/step8.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1179" data-original-width="2522" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaPWhMuY7QwlNZp0Ml7lUu5K5MX4dh5GDjbOiWm7v4IbCZikl-HCXVpL2lR-0dLMx-W2djz_IWFpMZRMJU_Rpa63_Eghj-aH0UECxKQpWBq1BViYhkKBK7k3BXlLytBEH68skTxb0H0ZBGaHDdQ0Sf1iKcLUCHSb0lxvHAyJuEqwhaEnVJ_Vb0iF9n9ro/w640-h301/step8.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;8. Since the currency-agent application have access to the web, users can also perform adjacent analysis such as impact on stock market because of currency fluctuations.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEqOr7QO7XEAm_MevPsv4qo8GM6CN9_sDNLErS1kVWoVssxA3XBiNvCOuZb60kM6zWswwMP1Ecq5ZvSuF7gurnTM6cMozyqd1KfoU7JOzT56rGwqhkgb4PjiwoGLhX_KMQv5yrXKnXUqhnc9DKcelNszazPBgkPzChKg6syBSHiudswE5f66zWWa61CQ4/s2529/step9.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1178" data-original-width="2529" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEqOr7QO7XEAm_MevPsv4qo8GM6CN9_sDNLErS1kVWoVssxA3XBiNvCOuZb60kM6zWswwMP1Ecq5ZvSuF7gurnTM6cMozyqd1KfoU7JOzT56rGwqhkgb4PjiwoGLhX_KMQv5yrXKnXUqhnc9DKcelNszazPBgkPzChKg6syBSHiudswE5f66zWWa61CQ4/w640-h298/step9.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiXiCaB5JdbcwECO_VLE5FXny7Q2MtDyTR79sun6NjPhgeH8d-eqBue7gRBWIxj0YlvXuhva-Z7Xj9aoZJcSvF13ZWTfogbSZeqsxc7HwK4MRmZnhDphiAsd3WZfMPDYliQhy6GZW3VqbYFNrVXeyFH6i1MztBVdnYGHbXuHXELgJ1LKDK2Iz9wjt9DiQ/s2513/step10.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1173" data-original-width="2513" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiXiCaB5JdbcwECO_VLE5FXny7Q2MtDyTR79sun6NjPhgeH8d-eqBue7gRBWIxj0YlvXuhva-Z7Xj9aoZJcSvF13ZWTfogbSZeqsxc7HwK4MRmZnhDphiAsd3WZfMPDYliQhy6GZW3VqbYFNrVXeyFH6i1MztBVdnYGHbXuHXELgJ1LKDK2Iz9wjt9DiQ/w640-h298/step10.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;9. And, combine the currency analysis with the stock market analysis. This is the fourth example of “&lt;i&gt;agentic ai&lt;/i&gt;” capability, &lt;i&gt;maintaining context and smartly responding to user requests&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh-OyT1eLMjjtI0bLuMntLOn4hKBIw-2nzvKZTbUva9xqZoMBdFtciqTxRezjExW-crX2JrjCshobh6dGeil87dlYJh_DtaijFbwPmfegr27kBg1pmt_V0ttoagVBo-mXbhirdVMbdrYjrZCiyJIpGJSYq-YEqdG_wvcsZ0xIFODdNKDMEPMs-zaobKlg/s2519/step11.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1150" data-original-width="2519" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh-OyT1eLMjjtI0bLuMntLOn4hKBIw-2nzvKZTbUva9xqZoMBdFtciqTxRezjExW-crX2JrjCshobh6dGeil87dlYJh_DtaijFbwPmfegr27kBg1pmt_V0ttoagVBo-mXbhirdVMbdrYjrZCiyJIpGJSYq-YEqdG_wvcsZ0xIFODdNKDMEPMs-zaobKlg/w640-h293/step11.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;10. Last step is to request for trading recommendations. The Gemini 2.0 Flash model is able to go through the context and provide some insights.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9ZT1NXCJygpU7aAbTB1IkOqKTnI8PltDs9RzoMNfSFTVYXlyqKNJW6nUOxivXJj6r6KziJmW3NRzeRBENSTyMDyGAkP7X7GcmWrH03j1eS_DDnbfDy0dKdLtIpcjy4SRvOv7S95EXSHj6jxk8oKQRDjxQYWqxvNXrCGvaODfiT7QK2xCbT5jlQKTf27o/s2408/step12.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1169" data-original-width="2408" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9ZT1NXCJygpU7aAbTB1IkOqKTnI8PltDs9RzoMNfSFTVYXlyqKNJW6nUOxivXJj6r6KziJmW3NRzeRBENSTyMDyGAkP7X7GcmWrH03j1eS_DDnbfDy0dKdLtIpcjy4SRvOv7S95EXSHj6jxk8oKQRDjxQYWqxvNXrCGvaODfiT7QK2xCbT5jlQKTf27o/w640-h310/step12.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;11. Google ADK does a great job at interpreting the multi-modal outputs provided by the various tools and agents. These outputs such as PDF and Images show up as artifacts. These artifacts can be presented to the user as well as used by the ADK framework to pass it as a context to various tools and agents for subsequent processing. In addition, the features like events, memory, session and context ensure that all user interactions are passed to the AI model.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSD8KFcIltAQBp432dL2jYK9tCHyBQh9Z-4AdJPNLTH4hm5FrzPkvOAbCR8WVakKb7OMN0V9qY6cK4SlcCRXoDdsn8HzaSPc1Vdd66JB6j44Ri_ZoiStAgW2Qpzuhv-Pxh7Mp-k4wTpzkUY7d8tFb6WNcCuk7O8uvqkcOTiAE7gasWP00jpM-3KTpNw6I/s2482/step13.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1155" data-original-width="2482" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSD8KFcIltAQBp432dL2jYK9tCHyBQh9Z-4AdJPNLTH4hm5FrzPkvOAbCR8WVakKb7OMN0V9qY6cK4SlcCRXoDdsn8HzaSPc1Vdd66JB6j44Ri_ZoiStAgW2Qpzuhv-Pxh7Mp-k4wTpzkUY7d8tFb6WNcCuk7O8uvqkcOTiAE7gasWP00jpM-3KTpNw6I/w640-h298/step13.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;12. The Google ADK Dev UI also enables the developer to visually check the flows and debug each step/interaction.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOk2brEH2BTN4wPhy0UYVIGM9iy_sWK4f_O1bB8AajKzBXHQ_AMIWqLB6qz66A_5tRKY5NZaXLwphwrDaKKWYzXpELONbRFVfTF8HIDhTdHvvdFqZ0gMkd8nfrg5tDgHhYebkXDLG8cGmBvsuTelkn0fO6K-cFsiN3oZOPmjC2sNFviriCUAPW3qZzLW8/s2417/step14.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1177" data-original-width="2417" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOk2brEH2BTN4wPhy0UYVIGM9iy_sWK4f_O1bB8AajKzBXHQ_AMIWqLB6qz66A_5tRKY5NZaXLwphwrDaKKWYzXpELONbRFVfTF8HIDhTdHvvdFqZ0gMkd8nfrg5tDgHhYebkXDLG8cGmBvsuTelkn0fO6K-cFsiN3oZOPmjC2sNFviriCUAPW3qZzLW8/w640-h312/step14.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 style="text-align: left;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Design Pattern&lt;/span&gt;&lt;/h1&gt;
&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Various design patterns will probably emerge on how we build the Agentic AI applications. Based on this example agent, an emerging design pattern could have the following attributes -&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;An Agentic AI application is bound by a domain context, in this example it is currency exchange rates.&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;The application can have multiple agents and/or tools. Typically, these tools perform tasks that are inter-related within the domain context.&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;The tools can be a mix of -&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-size: 14.67px;"&gt;Ability to query structured data, typically present in a database&lt;/span&gt;&lt;/li&gt;&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-size: 14.67px;"&gt;A code interpreter that can perform ad-hoc tasks that do not have to be “hand coded”&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;A search capability that is grounded on internal and/or external or unstructured data&lt;/span&gt;&lt;/li&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Tools that integrate with internal / external APIs&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;Out of box capability for multimodal input and output&lt;/span&gt;&lt;/li&gt;&lt;li style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;Users start using the application by mainly providing the goals and letting the agent "think" and execute the workflows.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;h1 style="text-align: left;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;What’s Next&lt;/span&gt;&lt;/h1&gt;
&lt;p style="-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: 0px; font-family: Helvetica; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 14.7px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variant: normal; font-variation-settings: normal; line-height: normal; margin: 0px 0px 10.7px;"&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;One can use the existing source code of the Currency Agent as a “seed” and let Roo/Gemini 2.0 Flash “vibe code” new agents automatically. More on that, later.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-kerning: none; font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Helvetica;"&gt;&lt;span style="-webkit-text-stroke-color: rgb(0, 0, 0); font-size: 14.67px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://www.rajansview.com/feeds/6018563029752650054/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2025/04/vibe-coding-your-way-to-agentic-ai.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6018563029752650054" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6018563029752650054" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2025/04/vibe-coding-your-way-to-agentic-ai.html" rel="alternate" title="Vibe coding your way to Agentic AI" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPyk6S8cvo5uTU-1IvfzhZD_fK15D9E3LvcNitRukP3nAdAJq9zK0zDvFEBNy-61-mlRhEqKKrQ5RB85SX7kmZOQGT2-9wAPDIULSCp2GaJpQO_AugSkOg5ZfRvArSrYJpI84rMJIvPwZCA1LbZdrFYqGQ4rVqI0lupLfFecEO7cWEDdIonJDTq3V66N0/s72-w640-h262-c/step0.JPG" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-1612398100878640785</id><published>2024-02-17T08:50:00.022+05:30</published><updated>2025-06-15T09:46:34.027+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Photography"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Meta Prompting for Success</title><content type="html">&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Meta Prompt&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: justify;"&gt;Regardless of the Generative AI model used, sometimes the model may refuse to provide a response for a valid prompt. Often the reasons cited are - "I don't know", "I am not trained for the task", "violation of safety/responsible/ethical guardrails". This is sometimes more acutely felt when using Generative AI models for creating images. Overcoming this behavior can be frustrating and time consuming.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;An approach is to ask the AI model itself to generate prompts so that the prose and nuances of prompting are aligned with how the AI model has been built. This is called &lt;a href="https://www.googlecloudcommunity.com/gc/Community-Blogs/Beyond-basic-prompting-Advanced-techniques-for-harnessing-the/ba-p/667811#:~:text=For%20example%2C%20you%20might%20constrain,more%20creative%20and%20interesting%20outputs." target="_blank"&gt;meta-prompting&lt;/a&gt;. The theory is that the prompts created by the AI model would have better chance of working.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Let's dive in to see if and how this meta-prompting works in &lt;a href="https://gemini.google.com/" target="_blank"&gt;Gemini&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;How to Create a Meta Prompt&lt;/span&gt;&lt;/h1&gt;&lt;p style="text-align: left;"&gt;As with all good prompts, start with a persona/situation that describes the overall context. Next, describe the task in detail. In this case, it is about creating some sample prompts/templates. Depending on the context, provide detailed steps to create the prompts. Goal describes how these prompts are going to be used next. Output is to reiterate the goal in terms of formats and structure.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;A Sample&amp;nbsp;Meta Prompt&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;I am an entrepreneur running an executive coaching organization.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Task - I want you to create 3-5 sample prompts that I can use with you to create marketing images.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Steps - To complete this task, please give me example prompts that are safe and responsible. The prompts should be reusable for various scenarios.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Goal - Prompts that will successfully create images&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Output - Clear prompts that will work&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Gemini Draft Response 1&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;5 Safe and Reusable Prompts for Your Executive Coaching Marketing Images:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;1. Focus on the Impact:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-align: left; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-align: left; vertical-align: baseline; white-space-collapse: preserve;"&gt; A diverse group of confident executives standing tall in a modern, sunlit office, radiating success and achievement. Include subtle coaching elements like books or diagrams in the background. (Style: Photorealistic)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-align: left; vertical-align: baseline; white-space-collapse: preserve;"&gt;Variations:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-align: left; vertical-align: baseline; white-space-collapse: preserve;"&gt; Change the setting, ethnicity of the executives, or add specific coaching tools relevant to your services.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;2. Highlight the Transformation:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; Two executives, before and after coaching, standing side-by-side. The "before" version appears stressed and overwhelmed, while the "after" version exudes confidence and calm. (Style: Minimalist illustration)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-wrap: wrap; vertical-align: baseline;"&gt;Variations:&lt;/span&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt; Show a single executive transforming, or use different visual metaphors for transformation, like climbing a mountain or emerging from a chrysalis.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;3. Capture the Human Connection:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; A coach and client in a warm, inviting setting, engaged in a deep and supportive conversation. Focus on the trust and connection between them. (Style: Soft, painterly)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-wrap: wrap; vertical-align: baseline;"&gt;Variations:&lt;/span&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt; Change the setting, gender, or age of the coach and client. Add props like a whiteboard or coaching cards to enhance the context.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;4. Showcase Expertise and Authority:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; A coach standing on stage, confidently delivering a keynote presentation to a captivated audience. Project a slide with your company logo and tagline in the background. (Style: Dynamic, high-contrast)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-wrap: wrap; vertical-align: baseline;"&gt;Variations:&lt;/span&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt; Change the presentation setting, focus on the coach writing a book, or feature them holding an award.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;5. Evoke Emotions and Aspirations:&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; A panoramic view of a cityscape at sunrise, symbolizing the potential and growth unlocked through executive coaching. Include subtle coaching metaphors like a compass or a ladder. (Style: Dreamlike, evocative)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; text-wrap: wrap; vertical-align: baseline;"&gt;Variations:&lt;/span&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt; Use different landscapes, motivational quotes, or symbolic objects that resonate with your target audience.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;Bonus Tip:&lt;/span&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; Include your company logo, tagline, or website URL discreetly within the image for branding purposes.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Remember, these are just starting points. Feel free to experiment and personalize the prompts further based on your specific brand identity and target audience.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;I hope these prompts help you create impactful images for your executive coaching marketing!&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2 style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: left;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; white-space-collapse: preserve;"&gt;Executing Prompts&lt;/span&gt;&lt;/h2&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 1&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK1Pako2Eg1kl_QgEKbAO-sM-ksUr7rEVbqTyHhByFI_WEKKNLjg3BDYcWkiOK_ng9ZcAXP7L-6fpBsJDet-szLZFw3t4QiC2ZF2CcjFSPZF2Vd1dpiih_4SpYOfWANdZ0VjlHWtfY8EEtkIwnI1MRM4QDma64RLhNxSzRuDoFnlE1uonNC5vKeWRyKKo/s2048/Prompt1%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK1Pako2Eg1kl_QgEKbAO-sM-ksUr7rEVbqTyHhByFI_WEKKNLjg3BDYcWkiOK_ng9ZcAXP7L-6fpBsJDet-szLZFw3t4QiC2ZF2CcjFSPZF2Vd1dpiih_4SpYOfWANdZ0VjlHWtfY8EEtkIwnI1MRM4QDma64RLhNxSzRuDoFnlE1uonNC5vKeWRyKKo/s320/Prompt1%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 2&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNDuPJJNwVlaRA3kgtI3_3y2ozwaVUsT6kDHj3-D565maKNawo-Ti3uLTuhZKRI6-IbgJMHZPpAAGugtaO47lyFwseRT4XVCYQIXXMALTgjHeVbTXmmOdy6TgnfpvMLAZUyF2kNvdeiP2BP5GiFw2cb0C1A4agyFvzI75e1Cq4NaZGwPLuyNNKE5mUrrA/s2048/Prompt2%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNDuPJJNwVlaRA3kgtI3_3y2ozwaVUsT6kDHj3-D565maKNawo-Ti3uLTuhZKRI6-IbgJMHZPpAAGugtaO47lyFwseRT4XVCYQIXXMALTgjHeVbTXmmOdy6TgnfpvMLAZUyF2kNvdeiP2BP5GiFw2cb0C1A4agyFvzI75e1Cq4NaZGwPLuyNNKE5mUrrA/s320/Prompt2%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="display: inline-block; position: relative; width: 100px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 3&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIHqT-cEaU6rUK-56wAQVjvbRp-Z6KOEFVrW4JEXNCxkuvLVQWyCeRBLVTttQcP_cGHNdI3AqeznQlakrxmsCjgZPm5rSbgeJj8QwrYK_rnFpOXVFteN9TmWzGhupFoZ9FDg27XtbFJ27mGEeNOeT216JgIopU82umwkVKkBw4jWJansDSlzvkgMYZkg/s2048/Prompt3%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIHqT-cEaU6rUK-56wAQVjvbRp-Z6KOEFVrW4JEXNCxkuvLVQWyCeRBLVTttQcP_cGHNdI3AqeznQlakrxmsCjgZPm5rSbgeJj8QwrYK_rnFpOXVFteN9TmWzGhupFoZ9FDg27XtbFJ27mGEeNOeT216JgIopU82umwkVKkBw4jWJansDSlzvkgMYZkg/s320/Prompt3%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="display: inline-block; position: relative; width: 100px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 4&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgBbgV53RmQ_ZgDoPV5RzJZ1_qgGi_P04BHqBQ5wTqSt722nCpZOdHcTwQouD3MDs11FnLYPPnODO7844C8HVJ9vkYmk7QPMEyB7h6ln2FwHFhqqaWQX1rs7rYkl6T4Tltjfx4EwaAXvWIwsKmBBQVi3zIfDpD91doJbiBok7dSUO6XocaU7QVjiJvK8c/s2048/Prompt4%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgBbgV53RmQ_ZgDoPV5RzJZ1_qgGi_P04BHqBQ5wTqSt722nCpZOdHcTwQouD3MDs11FnLYPPnODO7844C8HVJ9vkYmk7QPMEyB7h6ln2FwHFhqqaWQX1rs7rYkl6T4Tltjfx4EwaAXvWIwsKmBBQVi3zIfDpD91doJbiBok7dSUO6XocaU7QVjiJvK8c/s320/Prompt4%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="display: inline-block; position: relative; width: 100px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 5&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-S9qw97JtsugOnAgGlmoAcXEw_7p8UbXLrkTW6xcKwyXLi_-T-K9LUSStD7BtYR_A8sqpC1vsg-pEEZaPpFSCd0IKwk7BTVWyTLUErxfUOBaUrpAv7savFDx8SZSndqkI3aZfyn1s5S-jkoCQOMNC2l4krDd-L5R0UEoWH63J-1uiCv5FhdmNj2Gvpc/s2048/Prompt5%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1-S9qw97JtsugOnAgGlmoAcXEw_7p8UbXLrkTW6xcKwyXLi_-T-K9LUSStD7BtYR_A8sqpC1vsg-pEEZaPpFSCd0IKwk7BTVWyTLUErxfUOBaUrpAv7savFDx8SZSndqkI3aZfyn1s5S-jkoCQOMNC2l4krDd-L5R0UEoWH63J-1uiCv5FhdmNj2Gvpc/s320/Prompt5%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Gemini Draft Response 2&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;3 Sample Prompts for Marketing Images (Executive Coaching):&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;1. Concept-Driven:&lt;/span&gt;&lt;/p&gt;&lt;p role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt;A diverse group of executives gathered around a table in a bright, modern office, engaged in a collaborative brainstorming session. Sunlight streams through the windows, highlighting their focused expressions and positive body language. The image conveys the power of coaching in fostering teamwork and leadership growth. (Style: Photorealistic, Mood: Uplifting, Colors: Light and airy)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;2. Specific Service Highlight:&lt;/span&gt;&lt;/p&gt;&lt;p role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left; white-space: pre;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt;A close-up shot of hands holding a notebook with a handwritten list of goals and achievements. A coach's hand rests gently on top, offering guidance and support. The image focuses on the personalized approach of your coaching and the tangible results it brings. (Style: Photorealistic, Focus: Hands and notebook, Colors: Neutral tones)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;3. Problem-Solution:&lt;/span&gt;&lt;/p&gt;&lt;p role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; white-space: pre;"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt;A split image with one side showing a stressed executive overwhelmed by work and challenges. The other side shows the same executive relaxed and focused, exuding confidence. The image emphasizes the transformative power of coaching in overcoming obstacles and achieving success. (Style: Minimalistic, Layout: Split image, Colors: Contrasting tones)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"&gt;4. Bonus Tip:&lt;/span&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; white-space-collapse: preserve;"&gt;Remember to adjust the prompts based on your specific target audience and branding.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="docs-internal-guid-5cc26aba-7fff-dd15-0914-d742f1521487"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; white-space-collapse: preserve;"&gt;Provide additional details to the prompts for more specific results, like clothing styles, office settings, or specific goals being discussed.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-wrap: wrap; vertical-align: baseline;"&gt;Experiment with different styles and moods to find what resonates best with your audience.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr" role="presentation" style="font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; white-space: pre;"&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;By using these prompts as a starting point, you can create high-quality marketing images that effectively capture the essence of your executive coaching services and attract your ideal clients.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="color: #1f1f1f; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="display: inline-block; position: relative; width: 100px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Executing Prompts&lt;/span&gt;&lt;/h2&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 1&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXwsBR8ArKa7SyJpKPv46KuMyEqEz24L8ivI9Ylenk-zh_-foHx8IuPXCZy1IhVHR9RGZyTw-S64jyFqkifRRAjsPosRt7jDE2PpEWrRpi_oiZk1gIgmSauGCSTL8zWFSJdn4ED5cmQQ3Z2LrqQIdO7WjOLri2ZgoX-6ABdL6vk11ATLjnLUFFVgYKDEA/s2048/Prompt1%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXwsBR8ArKa7SyJpKPv46KuMyEqEz24L8ivI9Ylenk-zh_-foHx8IuPXCZy1IhVHR9RGZyTw-S64jyFqkifRRAjsPosRt7jDE2PpEWrRpi_oiZk1gIgmSauGCSTL8zWFSJdn4ED5cmQQ3Z2LrqQIdO7WjOLri2ZgoX-6ABdL6vk11ATLjnLUFFVgYKDEA/s320/Prompt1%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 2&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6is-QIgdBaZ1ONccFPj3rQc0bhnY_lQVaCme8YnbfPe4osgnRwX5QBQyg23mIZHZGMf-Nc76Pj-DHKVYJkLfLmmgyNTxd4lzNykdJNMHJAY4OnYUjjrw4U1TnOz0c5xMLzBGqlpS8geNiThzUnkwRvteKQI3yPR2AsX_B3Q8WqSCtI1NFC87s7Oq4tyk/s2048/Prompt2%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6is-QIgdBaZ1ONccFPj3rQc0bhnY_lQVaCme8YnbfPe4osgnRwX5QBQyg23mIZHZGMf-Nc76Pj-DHKVYJkLfLmmgyNTxd4lzNykdJNMHJAY4OnYUjjrw4U1TnOz0c5xMLzBGqlpS8geNiThzUnkwRvteKQI3yPR2AsX_B3Q8WqSCtI1NFC87s7Oq4tyk/s320/Prompt2%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 11.25pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 18pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Prompt 3&lt;/span&gt;&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwlSEmeT8bKX08zGgs5DQaC8DbZDixRViPceLbWc6wmp0Mc7MCanYFRYSKTyuO38cZPrEM-wXNpT2ZM6gpL9ETtw5gOAM_rDV6wUmcBhlrRP46Leo8Oa5efYtxeEN7QKC1xI4YH4zXiUqPtZjWcYn_SeSv1KgQK14xIBQEAvNhP_YFQYO59hoak6Fddc0/s2048/Prompt3%20-%20Image.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="2048" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwlSEmeT8bKX08zGgs5DQaC8DbZDixRViPceLbWc6wmp0Mc7MCanYFRYSKTyuO38cZPrEM-wXNpT2ZM6gpL9ETtw5gOAM_rDV6wUmcBhlrRP46Leo8Oa5efYtxeEN7QKC1xI4YH4zXiUqPtZjWcYn_SeSv1KgQK14xIBQEAvNhP_YFQYO59hoak6Fddc0/s320/Prompt3%20-%20Image.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 12pt; margin-top: 0pt; text-align: center;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h1 dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 24pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Conclusion&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Not only is the primary purpose of generating images met, in addition there interesting cues that are provided in the Gemini response -&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;There is a 100% success rate of all the prompts successfully creating the images.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Potential objectives that the images/content could help with. These are things like - impact, human connection, highlighting service, transformation and so on. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; white-space-collapse: preserve;"&gt;Lots of hints on how to further "style" the image in terms of illustration, setting, scenes, color, contrast and tone.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Additional tips to further customize the prompts to generate more contextual images.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 14.6667px; white-space-collapse: preserve;"&gt;The prompts generated act as a diverse set of templates that can further be fine tuned by the users to get the more desired results.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;While this post showed the example from Gemini, a similar approach can be used when building enterprise apps using Gemini models in Google Cloud &lt;a href="https://cloud.google.com/vertex-ai" target="_blank"&gt;Vertex AI&lt;/a&gt; platform.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Forget prompt engineering, now start meta-prompting!&lt;/span&gt;</content><link href="http://www.rajansview.com/feeds/1612398100878640785/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2024/02/meta-prompting-for-success.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1612398100878640785" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1612398100878640785" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2024/02/meta-prompting-for-success.html" rel="alternate" title="Meta Prompting for Success" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK1Pako2Eg1kl_QgEKbAO-sM-ksUr7rEVbqTyHhByFI_WEKKNLjg3BDYcWkiOK_ng9ZcAXP7L-6fpBsJDet-szLZFw3t4QiC2ZF2CcjFSPZF2Vd1dpiih_4SpYOfWANdZ0VjlHWtfY8EEtkIwnI1MRM4QDma64RLhNxSzRuDoFnlE1uonNC5vKeWRyKKo/s72-c/Prompt1%20-%20Image.png" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6105813196976230950</id><published>2023-11-12T07:02:00.007+05:30</published><updated>2025-04-19T15:56:36.677+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arts"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type="text">The Many Faces of Val Kilmer</title><content type="html">&lt;p&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; text-align: justify; white-space-collapse: preserve;"&gt;Tribute to The Saint&lt;/span&gt;&lt;/p&gt;&lt;span id="docs-internal-guid-4d69fee0-7fff-78a9-125d-5faf8e722f17"&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;This is a tribute long overdue. To the movie and one of my favorite actors - Val Kilmer. He’s had many successful movies, but perhaps a favorite of mine is “&lt;/span&gt;&lt;a href="https://www.imdb.com/title/tt0120053/" style="text-decoration-line: none; text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space-collapse: preserve;"&gt;The Saint&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;” from 1997. And, the luminescent &lt;a href="https://en.wikipedia.org/wiki/Elisabeth_Shue" target="_blank"&gt;Elizabeth Shue&lt;/a&gt; provides an apt foil for Val Kilmer. In keeping with the namesake in the movie, the original soundtrack for the movie by &lt;/span&gt;&lt;span style="font-size: 14.6667px; text-align: left; white-space-collapse: preserve;"&gt;Graeme Revell is medieval and atmospheric.&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;In a recent interview, the “Past Lives” actress &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Greta_Lee" style="text-decoration-line: none; text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space-collapse: preserve;"&gt;Greta Lee&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt; describes Val Kilmer in this movie being one of her early inspirations. While the movie “The Saint” is not seen as a critical or commercial success, if it inspired a brilliant actress, who can complain.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;In the movie, Val disguises himself after Catholic saints. As a "Saint Head", something I always wanted to understand a bit more, a background of all the Catholic saints that crop up in the movie.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Simon Magus&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 181px; overflow: hidden; width: 145px;"&gt;&lt;img height="181" src="https://lh7-us.googleusercontent.com/my_ugJUrwV7DNUCXfiDQn6iqqM9nNdwx-x_10WUpQyBoHiW_FuJnWzyliN9OaqN9IEteb6eU8rzHXpyI2LAw7kPxXeDK_SHSgx3U4oD6DElXVe7fPsnPdm-SUMVI_HM9IqF3vTFzvPOC-HftLEvIPjI" style="margin-left: 0px; margin-top: 0px;" width="145" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Simon, The Magician”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Simon Magus is a controversial figure in Christian history. He is mentioned in the Acts of the Apostles as a Samaritan magician who converted to Christianity but later tried to buy the power of the Holy Spirit from the apostles Peter and John. This incident is the origin of the term "simony," which refers to the buying or selling of ecclesiastical offices or sacred things.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;John Rossi&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 137px; overflow: hidden; width: 314px;"&gt;&lt;img height="137" src="https://lh7-us.googleusercontent.com/xtHcg6KGd3FEtcheLhn-0cVGuSVKeW2yJPI67YCiowxHGgRhIyU5Y12Ltr9rJ8fhwlfGrZUGq-MD2FrnVr3hOyY4_wOXtE9zPfIx3ct5rRV8FJ48Vml_09fkUemkUs3oH8wD48_Irpw6zIkk-QGBGi8" style="margin-left: 0px; margin-top: 0px;" width="314" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Ivanovanovitch”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint John Rossi (1622-1685) was an Italian priest and canon lawyer who was martyred for his defense of the poor and oppressed. He was born in Piacenza, Italy, to a wealthy family. After studying law at the University of Bologna, he was ordained a priest in 1649. He then devoted his life to serving the poor and disadvantaged, and to defending the rights of the oppressed.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Martin de Porres&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 142px; overflow: hidden; width: 310px;"&gt;&lt;img height="142" src="https://lh7-us.googleusercontent.com/IkZ9UUelykYorfTD6VDOdtJ2-MgU1zrl_8kYDx14vTeaWSRDo-u6Px7deS141cYa7TTJl2S5QwwDKaNDNaXcxR48z12e764kcSZQC1VAsd5OX5Te2btL5ktVxt9injKRosAadnHIdu9f_yTh7mxVViU" style="margin-left: 0px; margin-top: 0px;" width="310" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Martin de Porres”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Martin de Porres (1579-1639) was a Peruvian lay brother of the Dominican Order who is known for his charitable work and his devotion to the Eucharist and constant prayer. He is the patron saint of mixed-race people, barbers, innkeepers, public health workers, and all those seeking racial harmony and animals.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Bruno Hautenfaust&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 157px; overflow: hidden; width: 261px;"&gt;&lt;img height="157" src="https://lh7-us.googleusercontent.com/Omhz-07RQkyHOecfFHoICJPyM6Qd-PXS-vtWQxTdKLC5o9Es3bTGubZ2IIY74OuE3N6Z4ZWFAKUscm-SzHFxL33AXUY9trpVhDuVt-EQhJoqI-VpifkXlghWOn6F8p00aPjjFhqkHfguUO13msZ4MRk" style="margin-left: 0px; margin-top: 0px;" width="261" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Bruno Hautenfaust”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Bruno Hautenfaust, also known as Saint Bruno of Cologne, was a 11th-century German canon and theologian who founded the Carthusian Order, a monastic order dedicated to a life of solitude and contemplation. He was born into a wealthy family in Cologne, Germany, around 1030. After studying at the cathedral school in Reims, France, he became a canon of the cathedral. He was a brilliant scholar and teacher, and he quickly rose through the ranks of the clergy.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Thomas More&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 161px; overflow: hidden; width: 178px;"&gt;&lt;img height="161" src="https://lh7-us.googleusercontent.com/sIlfk2nxWruCtgAOkokDw4O0fwLrrggHjS6u3gN62QhB4GmAHDfF-Ql5jklUtCS91UCYu1nwQDrt9fK_JgFMEgE8X4DEg4H-4tOJXNNcAnG16xInaA1sv2FB08HmfdQUAS6bHAF6SRj3uZQYcfOnO8g" style="margin-left: 0px; margin-top: 0px;" width="178" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Thomas More”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Thomas More (7 February 1478 – 6 July 1535) was an English lawyer, author, statesman, and noted Renaissance humanist. He also served King Henry VIII as Lord Chancellor of England from October 1529 to May 1532. He is best known for his book Utopia, published in 1516, which describes the political system of an imaginary island state.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Charles Borroneo&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Charles Borromeo (1538-1584) was an Italian cardinal and archbishop who was one of the most important figures of the Counter-Reformation. He was born into a wealthy and aristocratic family in Milan, and was groomed for a career in government or the Church. However, he was drawn to a life of prayer and service, and decided to become a priest.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Peter Damian&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Peter Damian (1007-1072) was an Italian cardinal, bishop, and Doctor of the Church. He was a leading figure in the Gregorian Reform movement,&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Luigi Guanella&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Luigi Guanella was an Italian Catholic priest and the founder of the Servants of Charity, a religious order dedicated to caring for the poor and the sick. He was born in 1842 in Fraciscio, Italy, and ordained a priest in 1866. After his ordination, Guanella served as a parish priest in several parishes in northern Italy. He was deeply moved by the plight of the poor and the sick, and he began to establish schools, orphanages, and hospitals to care for them. In 1890, he founded the Servants of Charity, a religious order dedicated to this work.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Nicholas Owen&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Nicholas Owen (c. 1562 – 1/2 March 1606) was an English Jesuit lay brother who was the principal builder of priest holes during the reigns of Queen Elizabeth I and James I of England. Owen built many priest holes in the buildings of English Catholics from 1588 until his final arrest in 1606, when he was tortured to death by prison authorities in the Tower of London. Owen is honoured as a martyr by the Catholic Church and was canonized by Pope Paul VI in 1970.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;Vincent Ferrer&lt;/span&gt;&lt;/h1&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 221px; overflow: hidden; width: 165px;"&gt;&lt;img height="221" src="https://lh7-us.googleusercontent.com/o5OeDYgQ1mqtWzJo75NGCyVORvcZdh1TimXdAmzC6OWZx3BYydWl_ErrqA8txi04xa6nJgFw688TaZtu-vN4YLqi9JTIW8do3l8fBR7CC4c7OPj5S8VKEUZjAfoLDOrx3Jb4f_K0qK8aV7waTwleTHI" style="margin-left: 0px; margin-top: 0px;" width="165" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “Vincent Ferrer”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Vincent Ferrer (1350-1419) was a Dominican friar and preacher who is known for his missionary work and his role in helping to end the Great Western Schism. He was born in Valencia, Spain, and entered the Dominicans at the age of 19. He was a gifted student and became a professor of theology at Valencia. In 1394, he was appointed confessor and theologian to the antipope Benedict XIII at Avignon. However, he resigned from this position after five years in order to undertake missionary work. In 1394, Ferrer was preaching in Valencia, Spain, when he was betrayed by a group of his own followers. These followers were disaffected with Ferrer's support of the Avignon papacy and his attacks on heresy.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 20pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 20pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-weight: 400; vertical-align: baseline; white-space-collapse: preserve;"&gt;August Christopher&lt;/span&gt;&lt;/h1&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;&lt;span style="border: medium; display: inline-block; height: 189px; overflow: hidden; width: 257px;"&gt;&lt;img height="189" src="https://lh7-us.googleusercontent.com/gN-n1G6XPoUgOIST_8W416rFtfIRVPSWQVjgO6UrnjYB6bPJaBztxaZuTY2zFkULIgD6yfblUPj7COckTgqzE0p-D0lNp_EYkZzxZfoj3qkyz54eDMBKYIntE3dVzZAWAO1WZvHN25cWDwZFr64oy9g" style="margin-left: 0px; margin-top: 0px;" width="257" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 9pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Val Kilmer as the character “August Christopher”&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;Saint Christopher is a venerated saint in the Catholic Church and Eastern Orthodoxy. He is the patron saint of travelers, motorists, ferrymen, and all who work in transportation. According to legend, Christopher was originally named Reprobus and was a Canaanite of immense size and strength. He vowed to serve only the greatest king, and so he set out to find the most powerful ruler on Earth. He served many kings, but none of them satisfied his desire for the greatest king.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;And, here is a &lt;/span&gt;&lt;a href="https://setthetape.com/2017/10/05/james-murphy-defends-the-saint-1997/" style="text-decoration-line: none; text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space-collapse: preserve;"&gt;review&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;, candid and in support of “&lt;/span&gt;&lt;a href="https://www.imdb.com/title/tt0120053/" style="text-decoration-line: none; text-decoration: none;"&gt;&lt;span face="Arial, sans-serif" style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space-collapse: preserve;"&gt;The Saint&lt;/span&gt;&lt;/a&gt;&lt;span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"&gt;”.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;h1 style="text-align: left;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 14.6667px; text-align: justify; white-space-collapse: preserve;"&gt;Notes&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 14.6667px; text-align: justify; white-space-collapse: preserve;"&gt;The photos are sourced from the internet&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span face="Arial, sans-serif" style="font-size: 14.6667px; text-align: justify; white-space-collapse: preserve;"&gt;Google &lt;a href="https://gemini.google.com" target="_blank"&gt;Gemini&lt;/a&gt; helped provide the quick summary of each of the catholic saints&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 14.6667px; white-space-collapse: preserve;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h1 style="text-align: left;"&gt;&lt;span face="Arial, sans-serif" style="font-size: 14.6667px; text-align: justify; white-space-collapse: preserve;"&gt;Update&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;span face="Arial, sans-serif" style="font-size: 14.6667px; text-align: justify; white-space-collapse: preserve;"&gt;Val Kilmer passed away on 1st April 2025. May the saint rest in peace.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span face="Arial, sans-serif"&gt;&lt;span style="font-size: 14.6667px; white-space-collapse: preserve;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/6105813196976230950/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/11/the-many-faces-of-val-kilmer.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6105813196976230950" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6105813196976230950" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/11/the-many-faces-of-val-kilmer.html" rel="alternate" title="The Many Faces of Val Kilmer" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://lh7-us.googleusercontent.com/my_ugJUrwV7DNUCXfiDQn6iqqM9nNdwx-x_10WUpQyBoHiW_FuJnWzyliN9OaqN9IEteb6eU8rzHXpyI2LAw7kPxXeDK_SHSgx3U4oD6DElXVe7fPsnPdm-SUMVI_HM9IqF3vTFzvPOC-HftLEvIPjI=s72-c" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-3520186630474123102</id><published>2023-10-29T18:17:00.019+05:30</published><updated>2023-10-30T07:05:19.322+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Now you can see me</title><content type="html">&lt;h2 style="text-align: left;"&gt;&lt;span style="text-align: justify;"&gt;Overview&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;As customers, we shop with various brands (i.e. labels, retailers and ecommerce marketplaces). Once, we grow comfortable with certain bands, we tend to interact more frequently with them. In today's channel-less world, this interaction takes various forms - visiting stores, following the social media updates for inspiration, searching/browsing online in the apps and last but not the least talking to customer service.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;However, despite all the "breadcrumbs" we leave behind with the brand, the experience often leaves us wanting more. On the other hand, brands are increasingly wanting to know and understand about their customers. Various attempts are made at "personalizing" the experience. This is mainly&amp;nbsp;along three pillars below -&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Elevating service in physical touchpoints such as stores&lt;/li&gt;&lt;li&gt;Loyalty programs to incentivize repeat purchases&lt;/li&gt;&lt;li&gt;Seeking out patterns in data from products, services, channels and customers&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Out of the the above 3, #1 and #2 can be expensive, prohibitively so sometimes. Often the more reliable way is #3 - to get the insights from data. Historically, this has been easier said than done as it involves investment in creating large data science and analytics teams who are constantly monitoring customer behavior. The more detailed and granular the monitoring, it helps brands to take proactive and corrective actions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Brands who are unable to fully execute the 3 pillars have a gap. Let's call this the "satisfaction gap". As you can see in the model below, these gaps exist at multiple levels. The gaps start with understanding the intent and need of customer to executing the relevant experience for the same customer.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhni0MlFiurx1P6xGXxwsl2SmHBimbONB_WwGR77dgVME-Vz1jFagNIK6a5QBp1dUE2_qnRpWGSB4lFVrpBC77vcL9SuV_sewbDCWPQsW9PwxT6F21KJpvwNgsFQzqxMXAbe8XeBM9l507WPtknOXpbkE6GEhAZr8pTisVvUSrytjdaPrqZRvzW8zGrEz0/s600/customer%20experience%20execution%20model.webp" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="501" data-original-width="600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhni0MlFiurx1P6xGXxwsl2SmHBimbONB_WwGR77dgVME-Vz1jFagNIK6a5QBp1dUE2_qnRpWGSB4lFVrpBC77vcL9SuV_sewbDCWPQsW9PwxT6F21KJpvwNgsFQzqxMXAbe8XeBM9l507WPtknOXpbkE6GEhAZr8pTisVvUSrytjdaPrqZRvzW8zGrEz0/w400-h334/customer%20experience%20execution%20model.webp" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Credits: Howard Tiersky @ &lt;a href="https://www.cmswire.com/digital-experience/find-the-gaps-in-your-user-experiences/" target="_blank"&gt;CMSWire&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="clear: both; text-align: justify;"&gt;Bridging the Satisfaction Gap&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;If we were to go down pillar #3, in the last couple of decades - technologies, frameworks, design and architecture patterns and engineering practices have evolved to a great extent.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Databases have evolved from having rigid data structure to flexible schemas&lt;/li&gt;&lt;li&gt;Cloud has been a huge enabler to store and process data at scale&lt;/li&gt;&lt;li&gt;Business Intelligence tools have evolved from being able to just "view" dashboards to "actioning" insights&lt;/li&gt;&lt;li&gt;Multiple tools have emerged to manage data lineage and governance&lt;/li&gt;&lt;li&gt;Data engineering has finally borrowed the best practices from software engineering around topics like - infrastructure as code, test automation and data meshes.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style="clear: both; text-align: justify;"&gt;Art of the Possible, Today&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;This is where a combination of analytics, AI and Generative AI can help understand customers better. Before we get into the technology, let's look at the constraints that brands normally have. These generally tend to be -&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Limited data, especially when it comes to the brick-and-mortar stores&lt;/li&gt;&lt;li&gt;Paucity of talent that is required to build and maintain data platforms&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Let's face it, these are not challenges that are easy to solve. So, what can a brand do? Here's a quick guide -&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Control the Controllable. Look at the above constraints and work with them for progressing further.&lt;/li&gt;&lt;li&gt;Small data, big data are just labels. More important question is - Is it "good enough" data? Is it available at the right time to the right users? Are decisions taken on "gut feeling" or based on data? We get more value on ensuring the business processes and IT systems capture and maintain the existing data better.&lt;/li&gt;&lt;li&gt;Build insights over the existing data, some of these can be deterministic (based on facts), some of these can be probabilistic (derived from facts).&lt;/li&gt;&lt;li&gt;Brands often obsess over insight that tell "WHAT" happened in the past. No doubt, this is required. Especially to measure and adjust business performance and operations.&lt;/li&gt;&lt;li&gt;Brands also need to obsess over "WHY" something happened and "HOW" do we improve it in future. This comes from insights that are actionable.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;All these might sound very high level. So, let's look at some concrete examples of how actionable insights can be generated even from the most basic data that is available today.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="clear: both; text-align: justify;"&gt;Capturing Intent Signals&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Brands already capture customer intent in various forms. The diagram below illustrates the typical customer journey. As the customer progresses down the journey, the strength of the signal gets stronger.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboa8r9F6rbEFCBLryuDI10f4byMD2C7WWJcsnWrVbPnbbESt04ZUBRa4zEtZmKRRuanHqEXBA3jWx3Bf1-fojr2_t0w4IHJ_zduAy_2vAORbuPafU-V4pF_i4C_JQX-R0JE9VYIkDw9MLQIWiyhq0tmrUL1rRxR_92-uKb5HvNp1YtCMR7Ujx6rS0v90/s1280/Customer%20Journey%20-%20Intent%20Signal.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboa8r9F6rbEFCBLryuDI10f4byMD2C7WWJcsnWrVbPnbbESt04ZUBRa4zEtZmKRRuanHqEXBA3jWx3Bf1-fojr2_t0w4IHJ_zduAy_2vAORbuPafU-V4pF_i4C_JQX-R0JE9VYIkDw9MLQIWiyhq0tmrUL1rRxR_92-uKb5HvNp1YtCMR7Ujx6rS0v90/w640-h360/Customer%20Journey%20-%20Intent%20Signal.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Credits: &lt;a href="https://www.linkedin.com/in/rajanm/" target="_blank"&gt;Rajan Manickavasagam&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;All of the above steps in the customer journey are already captured by a brand. All it needs is stitching them together in a data platform and extracting the insights. The most crucial insights would be customer attributes and segments.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;h3 style="clear: both;"&gt;Understanding the Intent&lt;/h3&gt;&lt;div class="separator" style="clear: both;"&gt;Now comes the interesting part. Broadly, we could divide the customer attributes into two types - deterministic and probabilistic. The basis for creating these attributes all come from a few forms of economics namely - microeconomics, behavioral economics and consumer theory. Of these, perhaps the most fascinating is behavioral economics which is a combination of economics and psychology.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;The deterministic part of understanding intent could be captured by following attributes. These are calculated base on business rules, statistics and plain mathematics.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;ol&gt;&lt;li&gt;Frequency of purchase&lt;/li&gt;&lt;li&gt;Recency of purchase&lt;/li&gt;&lt;li&gt;Basket Mix&lt;/li&gt;&lt;li&gt;Channel Affinity&lt;/li&gt;&lt;li&gt;Loyalty&lt;/li&gt;&lt;li&gt;Transaction Value&lt;/li&gt;&lt;li&gt;Time between purchases&lt;/li&gt;&lt;li&gt;Locations of purchase&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;The probabilistic part of understanding intent is captured by the following attributes. And, this is where we can start leveraging Generative AI.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;ol&gt;&lt;li&gt;Demographics&lt;/li&gt;&lt;li&gt;Lifestyle&lt;/li&gt;&lt;li&gt;Behaviors and Tendencies&lt;/li&gt;&lt;li&gt;Habits&lt;/li&gt;&lt;li&gt;Interests&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;When we combine the deterministic and probabilistic attributes, we can create almost unlimited customer segments down to that elusive "Segment of 1". This is where each customer is identifiable individually. Something like how each viewer gets a very personalized homepage when they open Netflix. Here is a wonderfully concise article on the &lt;a href="https://gibsonbiddle.medium.com/a-brief-history-of-netflix-personalization-1f2debf010a1" target="_blank"&gt;personalization journey&lt;/a&gt; at Netflix by Gibson Biddle, former VP/CPO of Netflix.&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Coming back to retail brands, here is what a typical retail store transaction looks like. Most of the below data comes from the point of sale systems augmented by other sources like merchandising system as well external sources like weather.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;pre&gt;&lt;code&gt;Transaction
{ 
 time: "28-10-2023",
 weather: "30 celsius, humidity 60%",
 store: "flagship store, orchard road, singapore",
 amount: 1000,
 currency: "singapore dollar",
 loyalty_points_earned: 100,
 loyalty_points_redeemed: 300,
 items : {
   item_1: {
    product_name: “t-shirt long sleeve (black color)”,
    product_category: “womens - casual - t-shirt”,
    quantity: 3,
    price: 300 
   },
   item_2: {
    product_name: “womens mid rise jeans (medium size)”,
    product_category: “womens - casual - bottoms”,
    quantity: 2,
    price: 600 
   },
   item_3: {
    product_name: “cashmere scarves (black and white)”,
    product_category: “womens - accessories”,
    quantity: 1,
    price: 100 
   },
 }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Let's use the &lt;a href="https://blog.google/technology/ai/google-palm-2-ai-large-language-model/" target="_blank"&gt;PaLM&lt;/a&gt; model from Google Cloud &lt;a href="https://cloud.google.com/vertex-ai" target="_blank"&gt;Vertex AI&lt;/a&gt;&amp;nbsp;platform. We pass the above transaction to the &lt;a href="https://cloud.google.com/vertex-ai/docs/generative-ai/model-reference/text" target="_blank"&gt;text-bison&lt;/a&gt; large language model and prompt it with the below instruction.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;pre&gt;&lt;code&gt;Segments
Season - Unknown, Spring, Summer, Autumn, Winter
Loyalty - Unknown, Casual, Committed
Purpose of Shopping - Unknown, Travel, Weekend, Office, Mixed
Demographics - Male, Female, Transgender, Gender neutral, 
Non-binary, Agender, Pangender, Genderqueer, Two-spirit, 
Third gender, All, None, Unknown
Age - 20-30, 30-40, 40-50, 50-60, Unknown

For the above transaction, provide possible segments and values in 
the following json format -
{segment name: {[multiple segment values], [explanation of segment]}}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;The response from the model is below. Of course, more prompt engineering can be done to further customize the response.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;pre&gt;&lt;code&gt;{
  "Season": ["Unknown", "Summer"],
  "Loyalty": ["Committed"],
  "Purpose of Shopping": ["Casual", "Office"],
  "Demographics": ["Female"],
  "Age": ["20-30"],
  "Segments": {
    "Season": "The transaction took place in October, 
    which is the summer season in Singapore. 
    However, the season cannot be determined 
    conclusively from the transaction data alone.",
    "Loyalty": "The customer redeemed 300 loyalty points, 
    which suggests that 
    they are a committed customer.",
    "Purpose of Shopping": "The customer purchased a mix of 
    casual and workwear items. The purchase of three 
    long-sleeved t-shirts suggests that the customer may be shopping 
    for the cooler autumn weather. Additionally, the purchase 
    of two pairs of mid-rise jeans and one cashmere scarf 
    suggests that the customer may also be shopping for workwear.",
    "Demographics": "The customer purchased women's clothing, 
    suggesting that they are female.",
    "Age": "The customer spent SGD 1000, which is a 
    relatively high amount for clothing. This suggests that 
    they are likely to be in the 20-30 age group, when people are 
    typically more likely to have disposable income."
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;div style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both;"&gt;&lt;div class="separator" style="clear: both;"&gt;Let's look at another sample transaction, this time from the online channel.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;pre&gt;&lt;code&gt;Transaction
{ 
 time: "29-10-2023",
 weather: "autumn",
 channel: "mobile app",
 amount: 500,
 currency: "singapore dollar",
 loyalty_points_earned: 0,
 loyalty_points_redeemed: 0,
 items : {
   item_1: {
    product_name: “formal shirt short sleeve (white color)”,
    product_category: “mens - formal - shirt”,
    quantity: 1,
    price: 100 
   },
   item_2: {
    product_name: “mens linen trouser - black (small size)”,
    product_category: “mens - formal - bottoms”,
    quantity: 2,
    price: 150 
   },
   item_3: {
    product_name: “pin stripe tie - blue and red”,
    product_category: “mens - accessories”,
    quantity: 1,
    price: 100 
   },
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;We pass the above online transaction to the text-bison large language model and prompt it with the same instruction as before.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;
&lt;pre&gt;&lt;code&gt;Segments
Season - Unknown, Spring, Summer, Autumn, Winter
Loyalty - Unknown, Casual, Committed
Purpose of Shopping - Unknown, Travel, Weekend, Office, Mixed
Demographics - Male, Female, Transgender, Gender neutral, 
Non-binary, Agender, Pangender, Genderqueer, Two-spirit, 
Third gender, All, None, Unknown
For the above transaction, provide possible segments and values 
in the following json format -
{segment name: {[multiple segment values], [explanation of segment]}}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;The response from the model is below. This time, the response is tailored to the transaction as well.&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;
  &lt;pre&gt;&lt;code&gt;{
  "Season": ["Unknown", "Summer", "Autumn"],
  "Loyalty": ["Unknown"],
  "Purpose of Shopping": ["Office", "Rainy Day"],
  "Demographics": ["Male"],
  "Age": ["20-30", "30-40"],
  "Segments": {
    "Season": "The transaction occurred in October, 
	which is autumn in Singapore.",
    "Loyalty": "The customer did not redeem or earn 
    any loyalty points, which suggests that they are 
    either a new customer or a customer who does not 
    shop at the store often.",
    "Purpose of Shopping": "The customer purchased a 
    formal shirt, trousers, and tie, which suggests 
    that they are shopping for work or a special occasion. 
    The customer may also be purchasing these items for a 
    rainy day, as they are all made of materials that 
    are water-resistant or quick-drying.",
    "Demographics": "The customer's age is unknown, but 
    the average age of customers who purchase formal wear 
    is typically between 20 and 30 years old.",
    "Age": "The customer purchased items that are 
    typically popular with young adults and adults in 
    their early 30s, such as a formal shirt and linen 
    trousers. This suggests that they are in the 20-30 
    or 30-40 age range."
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;div style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both;"&gt;Imagine if we could run this on all store and online transactions. Even with the most basic data available with a brand, we are able to derive customer insights into - demographic, lifestyle, interests and habits. And, all of this is done in a privacy friendly way without the need for personal information like - name, phone and email.&lt;/div&gt;&lt;div style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both;"&gt;Now, brands can get more insight into not just what is selling well or not well, but also get a better understanding of who is buying the products and why. The prompts could be further optimized by using other prompt engineering strategies like - few shot, chain of thought, tree of through etc.&lt;/div&gt;&lt;div style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: both;"&gt;The prompt could be customized to the type of retail brand (convenience, grocery, department store, fashion, luxury, marketplace etc.) as well as the attributes that the brand is interested in. Of course, these attributes would have to be calculated/re-calculated on a weekly or fortnightly basis to keep capturing the latest customer "&lt;a href="https://www.dictionary.com/browse/zeitgeist" target="_blank"&gt;zeitgiest&lt;/a&gt;'.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style="clear: both;"&gt;Creating Experience from the Intent&lt;/h3&gt;&lt;div class="separator" style="clear: both;"&gt;Once the brand has derived the customer insights from the various data points like - purchase transactions, customer feedback, product reviews, this can be leveraged across the organization. The potential applications of the customer attributes and segments can be -&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;ol&gt;&lt;li&gt;Optimize assortment by store / location&lt;/li&gt;&lt;li&gt;Additional signal for refining pricing and promotions (especially quantum and timing)&lt;/li&gt;&lt;li&gt;Personalize the digital experience (homepage, search ranking and product recommendations)&lt;/li&gt;&lt;li&gt;Decide format and location of stores&lt;/li&gt;&lt;li&gt;Contextual digital and store marketing campaigns&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style="clear: both; text-align: justify;"&gt;Summary&lt;/h2&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;In the next post, we will see what are some of the best practices to close the "satisfaction gap".&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Dear brands, now that you can see me clearer, you can serve me better. Mind the Gap!&lt;/div&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/3520186630474123102/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/10/now-you-can-see-me.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3520186630474123102" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3520186630474123102" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/10/now-you-can-see-me.html" rel="alternate" title="Now you can see me" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhni0MlFiurx1P6xGXxwsl2SmHBimbONB_WwGR77dgVME-Vz1jFagNIK6a5QBp1dUE2_qnRpWGSB4lFVrpBC77vcL9SuV_sewbDCWPQsW9PwxT6F21KJpvwNgsFQzqxMXAbe8XeBM9l507WPtknOXpbkE6GEhAZr8pTisVvUSrytjdaPrqZRvzW8zGrEz0/s72-w400-h334-c/customer%20experience%20execution%20model.webp" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-325731436924460045</id><published>2023-09-30T17:02:00.002+05:30</published><updated>2023-09-30T17:13:57.468+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Food"/><title type="text">Singapore Inspired Chilli Chicken</title><content type="html">&lt;h2 style="text-align: left;"&gt;Singapore Inspired Chilli Chicken&lt;/h2&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;If you are living in Singapore, inevitably one gets to try the various hawker centers&lt;/span&gt;&lt;span style="text-align: justify;"&gt;. The trademark style of many of the stalls is various cuisines, all cooked fresh. And, there is a hint of different cultures like - Chinese, Malay, Indian, Indonesian, Thai and Vietnamese in the food and the cooking styles.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;Inspired by the cooking style, this is a simple recipe to make chilli chicken. It can be had as a starter/appetizer, finger food for drinks or even mixed to plain soba / rice noodles as a garnish.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;The recipe is a bit of a shortcut, utilizing the ready made sauces and pastes that are available from the supermarkets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Contributed by&amp;nbsp;&lt;span class="author"&gt;Rajan Manickavasagam&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Published&amp;nbsp;&lt;span class="published"&gt;&lt;span class="value-title" title="2016-01-02T09:00:00-00:00"&gt;&lt;/span&gt;30. September 2023&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="published"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="published"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAc-d6gellZYdRiwJSeHWjmb2kyWw6o1vGv47PtD39Ai5HQtawqn1bbQ2IJ_QHhMHtL-9MGwrzYHgoQ89lSb1aPE8ZVI-Ot_ysMSu3pHLGlntuMcGvlVpAJjk7CVpFGbIeTBYF4XHMn5D8cPw8F0hqvj8XHIayFWu7AHj-43LszP1R_IDfEtkZ0beKw7Y/s4032/chilli%20chicken.jpg" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="3024" data-original-width="4032" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAc-d6gellZYdRiwJSeHWjmb2kyWw6o1vGv47PtD39Ai5HQtawqn1bbQ2IJ_QHhMHtL-9MGwrzYHgoQ89lSb1aPE8ZVI-Ot_ysMSu3pHLGlntuMcGvlVpAJjk7CVpFGbIeTBYF4XHMn5D8cPw8F0hqvj8XHIayFWu7AHj-43LszP1R_IDfEtkZ0beKw7Y/w640-h480/chilli%20chicken.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Chilli Chicken garnished with Coriander&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Ingredients&lt;/h2&gt;&lt;div&gt;&lt;span class="published"&gt;&lt;ul&gt;&lt;li class="ingredient"&gt;2 Chicken breast pieces&lt;/li&gt;&lt;li class="ingredient"&gt;1 cup of &lt;a href="https://thedempseyproject.com/products/ris-red-chili-sauce" target="_blank"&gt;Ris Red Chilli Sauce&lt;/a&gt;&lt;/li&gt;&lt;li class="ingredient"&gt;1 cup of &lt;a href="https://littlefarms.com/shop-by-brand/r/riverina-grove/garlic-chilli-and-ginger-mix-240g-601945" target="_blank"&gt;Riverina Garlic, Chilli, Ginger paste&lt;/a&gt;&lt;/li&gt;&lt;li class="ingredient"&gt;1 bunch of chopped Coriander leaves&lt;/li&gt;&lt;li class="ingredient"&gt;3 tablespoons of vegetable oil&lt;/li&gt;&lt;li class="ingredient"&gt;Salt (to taste)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;Instructions&lt;/h2&gt;&lt;ul class="instructions"&gt;&lt;li&gt;Dice the chicken breasts into cubes.&lt;/li&gt;&lt;li&gt;Rub in 1 tablespoon of salt to diced chicken pieces.&lt;/li&gt;&lt;li&gt;Add in the garlic chilli ginger paste and red chilli sauce to the chicken. Toss the chicken pieces around and marinate them in the fridge for 10 minutes.&lt;/li&gt;&lt;li&gt;In a flat griddle pan, heat the vegetable oil on high heat.&lt;/li&gt;&lt;li&gt;As the oil begins to sizzle, add the marinated chicken to the flat pan. Sear all sides of the chicken until they are dark brown.&lt;/li&gt;&lt;li&gt;Reduce the heat to low / medium and sauté the chicken until done.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Finally, transfer the chicken pieces to a serving dish. Add the freshly chopped coriander and serve.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Happy eating.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;Further details&lt;/h2&gt;&lt;div&gt;Serves 4-6 people.&lt;/div&gt;&lt;div&gt;Preparation time is approximately 15&lt;span class="duration"&gt;&amp;nbsp;min&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;Cooking time is approximately 15&lt;span class="duration"&gt;&amp;nbsp;min.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="duration"&gt;A vegetarian version can be made with Tofu or Indian cottage cheese or medley of vegetables like cauliflower, beans and carrots.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/325731436924460045/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/09/singapore-inspired-chilli-chicken.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/325731436924460045" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/325731436924460045" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/09/singapore-inspired-chilli-chicken.html" rel="alternate" title="Singapore Inspired Chilli Chicken" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAc-d6gellZYdRiwJSeHWjmb2kyWw6o1vGv47PtD39Ai5HQtawqn1bbQ2IJ_QHhMHtL-9MGwrzYHgoQ89lSb1aPE8ZVI-Ot_ysMSu3pHLGlntuMcGvlVpAJjk7CVpFGbIeTBYF4XHMn5D8cPw8F0hqvj8XHIayFWu7AHj-43LszP1R_IDfEtkZ0beKw7Y/s72-w640-h480-c/chilli%20chicken.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-8138654850944185202</id><published>2023-08-27T17:45:00.005+05:30</published><updated>2023-09-30T16:34:40.874+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type="text">Light and Dreams</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Lights and Dreams&amp;nbsp;&lt;/h3&gt;&lt;p&gt;I drink in your sight,&lt;/p&gt;&lt;p&gt;Along with bursts of morning light.&lt;/p&gt;&lt;p&gt;As the shadows disappear,&lt;/p&gt;&lt;p&gt;Our dreams appear.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: x-small;"&gt;A short poem inspired by the haiku format.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://www.rajansview.com/feeds/8138654850944185202/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/08/light-and-dreams.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8138654850944185202" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8138654850944185202" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/08/light-and-dreams.html" rel="alternate" title="Light and Dreams" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6756426214439706052</id><published>2023-07-31T19:13:00.007+05:30</published><updated>2023-08-05T11:02:55.492+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type="text">Book Review - The Price of Being Fair</title><content type="html">&lt;h3 style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8tzKnvQETkhI95gi7Hq10DD50O7HDMLHQaWB3Rb2UwvkIcr-GSaColia4-2S2CHwW-Sf-DMSZJWm9DU1CTSyM6fRNwiV4jOyRqaCeFdsPWAR9m0FlOVDYWZARUPiOb70_u7GlYYNaTHfHaGrvaxEbgdO3DHpkfkmN8l7TpegT_8E9g7oq6Z0Dux1TuE/s448/priceoffair.jpeg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Source: Kinokuniya Website" border="0" data-original-height="448" data-original-width="300" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8tzKnvQETkhI95gi7Hq10DD50O7HDMLHQaWB3Rb2UwvkIcr-GSaColia4-2S2CHwW-Sf-DMSZJWm9DU1CTSyM6fRNwiV4jOyRqaCeFdsPWAR9m0FlOVDYWZARUPiOb70_u7GlYYNaTHfHaGrvaxEbgdO3DHpkfkmN8l7TpegT_8E9g7oq6Z0Dux1TuE/w134-h200/priceoffair.jpeg" width="134" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/h3&gt;&lt;h3 style="text-align: justify;"&gt;Overview&amp;nbsp;&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;As the FairPrice group in Singapore completes 50 years, "The Price of Being Fair" book is a timely story of it's birth and evolution. The book has been authored by Sue-Ann Chia and Shing Huei Peh. While being true to history, the book has nuggets of "behind the scenes" information, given the time the authors have spent with various leaders at FairPrice. The book is already a &lt;a href="https://singapore.kinokuniya.com/bw/9789811873355" target="_blank"&gt;best seller&lt;/a&gt; according to Kinokuniya book store. At under 200 pages, it makes for a breezy read.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;The Usual Suspects&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;Having worked in retail industry for over two decades, the travails of&amp;nbsp; NTUC FairPrice seem familiar to me.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style="text-align: left;"&gt;&lt;li style="text-align: justify;"&gt;A retail CEO once remarked that retail is a pretty "public" industry. There is not much behind which a retail business can hide. As such, retailers often have to follow the aspirations and concerns of the communities and customers they serve. The journey of FairPrice from being an EDLP (everyday low price) retailer to one having multiple formats, businesses and channels has been catalogued well in the book.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;FairPrice overseas business forays make for interesting reading. It is one that I was not aware of. However, FairPrice is not alone in this aspect, many global retailers have had similar experiences. These experiences often help reinforce the core vision that retailers originally start out with.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;The advent of competition, both international and local has spurred FairPrice into focusing on the customer. Often, this is the most reliable way of success for retailers instead of following competition.&amp;nbsp;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Also, the adage of "location, location, location" continues to hold true in retail even with rising competition from digital channels like - ecommerce.&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: left;"&gt;The New Trajectories&lt;/h3&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Be it digital channels or loyalty, FairPrice continues to engage customers with value propositions beyond retail. It is starting to build a "consumer lifestyle platform" of sorts by offering financial services (through the tie up with Trust Bank), Core retail (FairPrice and Cheers) and F&amp;amp;B (in the form Kopitiam). It is an interesting play, not tried by many other retailers.&lt;/li&gt;&lt;li&gt;As FairPrice sources products from around 100 countries, it is also gaining confidence in it's house brands. In retail, it is often the holy grail to create brands and earn higher margins through them. It is also exploring the ideas of growing these brands further in local and overseas markets.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style="text-align: justify;"&gt;Summary&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Among all retailers, grocery retailers have a unique distinction. They form an invisible bond and sometimes tenuous relationship with the communities that they serve.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The continued market leadership of FairPrice is good indicator of the trust that customers continue to have in the brand. As FairPrice completes it's 50th anniversary, here is wishing it many more!&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/6756426214439706052/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/07/book-review-price-of-being-fair.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6756426214439706052" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6756426214439706052" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/07/book-review-price-of-being-fair.html" rel="alternate" title="Book Review - The Price of Being Fair" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8tzKnvQETkhI95gi7Hq10DD50O7HDMLHQaWB3Rb2UwvkIcr-GSaColia4-2S2CHwW-Sf-DMSZJWm9DU1CTSyM6fRNwiV4jOyRqaCeFdsPWAR9m0FlOVDYWZARUPiOb70_u7GlYYNaTHfHaGrvaxEbgdO3DHpkfkmN8l7TpegT_8E9g7oq6Z0Dux1TuE/s72-w134-h200-c/priceoffair.jpeg" width="72"/><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-26.958150836178845 68.663586 29.662316836178846 138.976086</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-4533887920473167552</id><published>2023-07-31T18:27:00.003+05:30</published><updated>2023-07-31T18:27:47.121+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arts"/><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type="text">Together</title><content type="html">&lt;h3 style="text-align: left;"&gt;Together&amp;nbsp;&lt;/h3&gt;&lt;p&gt;I see the sun set in you eyes.&lt;/p&gt;&lt;p&gt;A sky full of stars,&lt;/p&gt;&lt;p&gt;fills my sight.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: x-small;"&gt;A short poem inspired by the haiku format.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://www.rajansview.com/feeds/4533887920473167552/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/07/together.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/4533887920473167552" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/4533887920473167552" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2023/07/together.html" rel="alternate" title="Together" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total><georss:featurename>Singapore</georss:featurename><georss:point>1.352083 103.819836</georss:point><georss:box>-47.477389967261225 33.507335999999995 50.181555967261225 174.132336</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-9017339298906766352</id><published>2021-12-26T09:12:00.001+05:30</published><updated>2021-12-26T09:12:33.129+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Food"/><title type="text">Roast Chicken for the Holiday Season</title><content type="html">&lt;h1 style="text-align: left;"&gt;Roast Chicken&lt;/h1&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;In some parts of the world, December is the time of holidays and colder weather.&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: justify;"&gt;During this time, it's nice to have a sumptuous and healthy meal. Here is a fairly simple recipe for roast chicken. The ingredients should be available everywhere.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Contributed by&amp;nbsp;&lt;span class="author"&gt;Rajan Manickavasagam&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Published&amp;nbsp;&lt;span class="published"&gt;&lt;span class="value-title" title="2016-01-02T09:00:00-00:00"&gt;&lt;/span&gt;19. December 2021&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjarY2DXyxkTobdwJDj084e_glQNZpwkDYvNICF8Rs6Z7eBExi3I-pemmoMKVUSbiLJVPBt51knKHBFN4mtRdnreRWZu0wXoOhH0BRGVDB0SRivhkhEW6rdZ9L9qHSIFtmb98zRifctYtcJqQczTAdIUUeomPmAZELu9pV7uvTAgbVENlZGcTI8q0iE=s1536" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1536" data-original-width="1536" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjarY2DXyxkTobdwJDj084e_glQNZpwkDYvNICF8Rs6Z7eBExi3I-pemmoMKVUSbiLJVPBt51knKHBFN4mtRdnreRWZu0wXoOhH0BRGVDB0SRivhkhEW6rdZ9L9qHSIFtmb98zRifctYtcJqQczTAdIUUeomPmAZELu9pV7uvTAgbVENlZGcTI8q0iE=w640-h640" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Roast Chicken with Spiced Pomegranate Juice&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Ingredients&lt;/h2&gt;&lt;ul&gt;&lt;li class="ingredient"&gt;Salt (to taste)&lt;/li&gt;&lt;li class="ingredient"&gt;Crushed black pepper&amp;nbsp;&lt;/li&gt;&lt;li class="ingredient"&gt;1 Pomegranate&lt;/li&gt;&lt;li class="ingredient"&gt;12-15 peeled baby potatoes&lt;/li&gt;&lt;li class="ingredient"&gt;2 Onions&lt;/li&gt;&lt;li class="ingredient"&gt;2 Carrots&lt;/li&gt;&lt;li class="ingredient"&gt;2 Red Bell Peppers&lt;/li&gt;&lt;li class="ingredient"&gt;6 Chicken thigh pieces&lt;/li&gt;&lt;li class="ingredient"&gt;10 tablespoons of olive oil&lt;/li&gt;&lt;li class="ingredient"&gt;1 tablespoon of garam masala&lt;/li&gt;&lt;li class="ingredient"&gt;1 tablespoon of Kashmiri red chilli powder&lt;/li&gt;&lt;li class="ingredient"&gt;1/2 teaspoon white wine vinegar&lt;/li&gt;&lt;li class="ingredient"&gt;1/2 teaspoon baking soda&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Instructions&lt;/h2&gt;&lt;h4 style="text-align: left;"&gt;Roast Chicken&lt;/h4&gt;&lt;ul class="instructions"&gt;&lt;li&gt;Peel and blend 1 pomegranate in a blender without adding any water.&lt;/li&gt;&lt;li&gt;Divide the pomegranate juice into 2 cups/portions.&lt;/li&gt;&lt;li&gt;To on one of the portions, add 2 tablespoons olive oil, salt, pepper, 2 tablespoons garam masala and 1 tablespoon Kashmiri red chilli powder.&lt;/li&gt;&lt;li&gt;Coat the chicken pieces in this mixture and let it marinate for a few hours.&lt;/li&gt;&lt;li&gt;In a flat bottom pan, add some olive oil, garlic, red bell peppers, diced carrots and onions.&lt;/li&gt;&lt;li&gt;Once the onions start to brown, add the chicken to the pan and stir fry them until they are half cooked.&lt;/li&gt;&lt;li&gt;Transfer the garlic, onions and chicken to a baking tray. Drizzle some olive oil on the chicken and bake at 180C for 30 minutes.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h4&gt;Pomegranate Sauce&lt;/h4&gt;&lt;/div&gt;&lt;ul class="instructions"&gt;&lt;li&gt;Remove some of the garlic and onions from the baking tray and blend them in a food processor along with the remaining portion of the pomegranate juice.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Add half a teaspoon of white wine vinegar and 1 tablespoon of olive oil to the sauce.&lt;/li&gt;&lt;li&gt;This now becomes the pomegranate based sauce for the meal.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h4&gt;Roast Potatoes&lt;/h4&gt;&lt;/div&gt;&lt;ul class="instructions"&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;Peel the baby potatoes and boil them in a hot water again with some salt, pepper and baking soda.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;Once the potatoes are cooked, drain the water and fry them in 2 tablespoons of olive oil with salt and pepper.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="background-color: white;"&gt;Finally, serve all of the above and drizzle the pomegranate sauce over the roast chicken and the vegetables.&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Happy eating.&lt;h2&gt;Further details&lt;/h2&gt;&lt;div&gt;Serves 4-6 people.&lt;/div&gt;&lt;div&gt;Preparation time is approximately&amp;nbsp;&lt;span class="duration"&gt;&lt;span class="value-title" title="PT2H30M"&gt;&lt;/span&gt;30 min&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;Cooking time is approximately 6&lt;span class="duration"&gt;0 min.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/9017339298906766352/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2021/12/roast-chicken-for-holiday-season.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/9017339298906766352" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/9017339298906766352" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2021/12/roast-chicken-for-holiday-season.html" rel="alternate" title="Roast Chicken for the Holiday Season" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEjarY2DXyxkTobdwJDj084e_glQNZpwkDYvNICF8Rs6Z7eBExi3I-pemmoMKVUSbiLJVPBt51knKHBFN4mtRdnreRWZu0wXoOhH0BRGVDB0SRivhkhEW6rdZ9L9qHSIFtmb98zRifctYtcJqQczTAdIUUeomPmAZELu9pV7uvTAgbVENlZGcTI8q0iE=s72-w640-h640-c" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.5945627</georss:point><georss:box>-15.338635136178846 42.4383127 41.281832536178847 112.7508127</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-8836509056023910775</id><published>2021-07-04T11:37:00.013+05:30</published><updated>2021-07-04T12:00:37.506+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Prime Candidate for Analysis</title><content type="html">&lt;h2 style="text-align: justify;"&gt;Promotions in Retail&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Promotions are part of the 4P's (Product, Price, Promotion, Place) of retail marketing. Promotions have always been a key part of the customer experience in retail. Promotional activities largely include a mix of marketing and advertising spend.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Evolution of Promotions&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;With the onset of digital/online retail, the nature of promotional activity have been changing.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Earlier in the world of physical retail, promotions were characterized by a sense of "theatre". It was about decking up the stores with banners, special merchandising and other ploys (such as the &lt;a href="https://www.retaildive.com/news/kmart-brings-back-the-blue-light-special/408484/" target="_blank"&gt;KMart Blue Lights&lt;/a&gt;).&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;In the digital/online world, the "theatre" element has been replaced by one of "urgency". Flash sales, auctions, product launches etc. give customers a sense of urgency to grab the deals as they are available for a small amount of time.&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;The One that Started it All&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Typically, promotions had been linked to major festivals or events such as Christmas (in most parts of the world), Diwali (in India), Chinese New Year (in China) and so on. Supplementing these festival events were the other smaller events such as - Back to School, Mothers Day, Valentines Day, etc. But, none of these events happened in July which was an "empty" spot in the retail calendar.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;So, Amazon picked up this time of the year for their "Prime Days". But, another aspect of Prime Days is that it is also aimed at shoring up customers for the "Prime" loyalty program. Of course, apart from quicker deliveries, Prime customers also enjoy other add-on services from Amazon such as Music, TV, Movies etc.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The recent acquisition of MGM studios by Amazon is probably going to make these add-on services more compelling. Also, the copyright from MGM could potentially be leveraged for themed products. For example, the James Bond franchise is owned by MGM. Maybe next time, you fire up a drone, it's not Alexa but Bond who would do your bidding. Before I digress further, let's get back to Prime!&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Analysis&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;As he has been doing for the past few years, &lt;a href="https://aws.amazon.com/developer/community/evangelists/jeff-barr/" target="_blank"&gt;Jeff Barr&lt;/a&gt; (AWS Technical Evangelist) has been revealing a few tidbits about the technical infrastructure powering Amazon Prime Day. So, I took the opportunity to study Prime Day in a bit more detail both from a business and technical perspective.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;The below table has some data on the different types of technical infrastructure used by Amazon. Of course, it may not be the full list, but still gives us an idea of scale (and therefore cost) of the infrastructure required to run an event as massive as Prime Day. It gives us some clues to the nature/style of the architecture as well.&amp;nbsp;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Apart from the technology, some of the other analysis is around sales, number of items sold and the split between Amazon and 3rd Party Seller share of sales.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGAPSKXK6jlAIJPE_3yd_Y2h2dQb8XjFD4Ir_iYEa_9GLqWX2HXzo1NMzS0C_lCsvN4GwMj5-QELQ66ZV8xhahF8WIAgk2d6ffOiDIgJ8BitwNz4-uXiIcjm8StlObWRKh6J3j_YIo2b-/s1776/PrimeDay.JPG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Prime Day Analysis" border="0" data-original-height="537" data-original-width="1776" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGAPSKXK6jlAIJPE_3yd_Y2h2dQb8XjFD4Ir_iYEa_9GLqWX2HXzo1NMzS0C_lCsvN4GwMj5-QELQ66ZV8xhahF8WIAgk2d6ffOiDIgJ8BitwNz4-uXiIcjm8StlObWRKh6J3j_YIo2b-/s16000/PrimeDay.JPG" title="Click to Zoom" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt; 
&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Insights&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;Of course, some of the above data is based on assumptions and estimates. But, it can still help draw some interesting inferences and insights. Let's split these into business and technology. Potentially, we can also draw some correlation between the two as well.&lt;/p&gt;&lt;h4 style="text-align: justify;"&gt;Business&lt;/h4&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;In terms of percentage to overall sales, Prime Day will probably contribute around 3% to overall Amazon sales in 2021&lt;/li&gt;&lt;li&gt;Compared to the first edition in 2015, duration of Prime Day has increased by around 50% to 66 hours&lt;/li&gt;&lt;li&gt;The average sales per item also probably increased from $26 in 2015 to around $54 in 2020&lt;/li&gt;&lt;li&gt;Over the years, the share of Amazon (vs Marketplace sellers) in Prime Day sales has increased from around 50% to 70%&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h4 style="text-align: justify;"&gt;Technology&lt;/h4&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;If we look at a couple of the infrastructure metrics like AWS Cloudfront and AWS DynamoDB, they are not that different between 2020 and 2021. However, the sales seem to have doubled. This probably indicates a few things -&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;We have already seen that mall footfall has been hit hard by the pandemic. More customers continue to shop online&lt;/li&gt;&lt;li&gt;More customers have shopped with an intent to purchase items and conversion has probably been higher&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Compared to 2020, AWS EBS volumes have come down by 34% in 2021. It could indicate one or a combination of the below -&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Optimization in the technical infrastructure or architecture&lt;/li&gt;&lt;li&gt;Leaner assortment of products&amp;nbsp;&lt;/li&gt;&lt;li&gt;Better customer targeting&lt;/li&gt;&lt;li&gt;Lesser number of deals&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Depending on the cloud that you are using, one can punch in the above technical metrics from the table into the &lt;a href="https://calculator.aws/#/" target="_blank"&gt;AWS Pricing Calculator&lt;/a&gt;&amp;nbsp;/ &lt;a href="https://azure.microsoft.com/en-in/pricing/calculator/" target="_blank"&gt;Azure Pricing Calculator&lt;/a&gt; / &lt;a href="https://cloud.google.com/products/calculator" target="_blank"&gt;GCP Pricing Calculator&lt;/a&gt; to get a sense of the cost required to run an event like Prime Day&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;Summary&lt;/h2&gt;&lt;p style="text-align: justify;"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Assuming that more efficiency can be squeezed out of operations, there is a possibility that Prime Day may one day morph into a Prime Week (like the longer sales period done by retailers such as JD.com)&lt;/li&gt;&lt;li&gt;The profitability from Prime Day is probably higher as the supply chain network (warehouses and delivery fleets) can be leveraged for faster inventory turns than during normal periods. And, this profitability will only increase further with investments such as -&lt;/li&gt;&lt;ul&gt;&lt;li&gt;renewable energy for the warehouses and deliver fleet&lt;/li&gt;&lt;li&gt;better robotics&lt;/li&gt;&lt;li&gt;improved data and AI for supply chain&lt;/li&gt;&lt;li&gt;competitive pricing&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Continue to retain and acquire customers for the Prime program&lt;/li&gt;&lt;li&gt;A trend probably exacerbated by the pandemic has been the rise of marketplace aggregators that are buying up the Fulfilled By Amazon sellers and Direct-to-Consumer brands. Examples of these are companies such as - Thrasio, SellerX, RazorPay etc. For example,&amp;nbsp;&lt;a href="https://www.thrasio.com/" target="_blank"&gt;Thrasio&lt;/a&gt;&amp;nbsp;has so far acquired over 100 brands with around 15,000 products. Over a period of time, we may see a kind of triopoly on Amazon consisting of - Amazon, CPG Brands and Marketplace Aggregators.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="text-align: justify;"&gt;References&lt;/h2&gt;&lt;div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;a href="https://aws.amazon.com/blogs/aws/prime-day-2021-two-chart-topping-days/"&gt;https://aws.amazon.com/blogs/aws/prime-day-2021-two-chart-topping-days/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.statista.com/statistics/728120/annual-amazon-prime-day-sales/"&gt;https://www.statista.com/statistics/728120/annual-amazon-prime-day-sales/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.aboutamazon.com/news/retail/the-history-of-prime-day"&gt;https://www.aboutamazon.com/news/retail/the-history-of-prime-day&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.digitalcommerce360.com/article/amazon-prime-day-data/"&gt;https://www.digitalcommerce360.com/article/amazon-prime-day-data/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.numerator.com/resources/blog/amazon-prime-day-2020-recap"&gt;https://www.numerator.com/resources/blog/amazon-prime-day-2020-recap&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.statista.com/statistics/266282/annual-net-revenue-of-amazoncom/"&gt;https://www.statista.com/statistics/266282/annual-net-revenue-of-amazoncom/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.cnbc.com/2021/05/25/thrasio-disruptor-50.html"&gt;https://www.cnbc.com/2021/05/25/thrasio-disruptor-50.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.reuters.com/world/us/mall-owner-washington-prime-files-chapter-11-bankruptcy-protection-2021-06-14/"&gt;https://www.reuters.com/world/us/mall-owner-washington-prime-files-chapter-11-bankruptcy-protection-2021-06-14/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://press.aboutamazon.com/news-releases/news-release-details/amazon-and-mgm-have-signed-agreement-amazon-acquire-mgm"&gt;https://press.aboutamazon.com/news-releases/news-release-details/amazon-and-mgm-have-signed-agreement-amazon-acquire-mgm&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p style="text-align: justify;"&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://www.rajansview.com/feeds/8836509056023910775/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2021/07/prime-candidate-for-analysis.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8836509056023910775" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/8836509056023910775" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2021/07/prime-candidate-for-analysis.html" rel="alternate" title="Prime Candidate for Analysis" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGAPSKXK6jlAIJPE_3yd_Y2h2dQb8XjFD4Ir_iYEa_9GLqWX2HXzo1NMzS0C_lCsvN4GwMj5-QELQ66ZV8xhahF8WIAgk2d6ffOiDIgJ8BitwNz4-uXiIcjm8StlObWRKh6J3j_YIo2b-/s72-c/PrimeDay.JPG" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.5945627</georss:point><georss:box>-15.338635136178846 42.4383127 41.281832536178847 112.7508127</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-5657619150148611858</id><published>2020-07-18T22:24:00.015+05:30</published><updated>2020-07-19T19:00:58.495+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">A Hyper Local, Crowd Sourced, Data Driven Chatbot for Covid</title><content type="html">&lt;h2 style="text-align: justify;"&gt;Overview&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;The COVID-19 pandemic has captured everyone's attention and impacted our daily lives for the past few months. It is likely to remain that way for the foreseeable future too as we learn to navigate around it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Several organizations and volunteers globally have create various kinds of dashboards, databases etc. so that information is available to everyone. Some of them are -&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Covid 19 database by John Hopkins -&amp;nbsp;&lt;a href="https://github.com/CSSEGISandData/COVID-19"&gt;https://github.com/CSSEGISandData/COVID-19&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Covid 19 India dashboards -&amp;nbsp;&lt;a href="https://github.com/covid19india/covid19india-react"&gt;https://github.com/covid19india/covid19india-react&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Covid 19 India clusters -&amp;nbsp;&lt;a href="https://github.com/someshkar/covid19india-cluster"&gt;https://github.com/someshkar/covid19india-cluster&lt;/a&gt;&lt;/li&gt;&lt;li&gt;WHO app -&amp;nbsp;&lt;a href="https://github.com/WorldHealthOrganization/app"&gt;https://github.com/WorldHealthOrganization/app&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Covid 19 time series data -&amp;nbsp;&lt;a href="https://github.com/pomber/covid19"&gt;https://github.com/pomber/covid19&lt;/a&gt;&lt;/li&gt;&lt;li&gt;And, many others&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Approach&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;From the various open source applications already created for COVID, came my inspiration too, for a chat bot. The idea is to empower local communities with data and insight so that they are better informed as they go about their daily tasks and routine. This might help people assess the "risk" where -&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;some of them have to an office or public place for work&lt;/li&gt;&lt;li&gt;children going to schools/parks&lt;/li&gt;&lt;li&gt;people heading out for chores/outdoors&lt;/li&gt;&lt;li&gt;and similar scenarios&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Concept&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;Governments, NGO's, businesses, health officials all over the world are taking several initiatives to keep people safe. However, it is imperative that local communities also take steps to safe guard themselves. The idea is to create a chat bot that is setup and maintained by each local community, kind of like a ham radio movement.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjswRBlBfjYD8de0qxeC6UD_itySd2DdaL3J4jlNprabncS9vUwSglvIHLyVST_kA4Sm-4lstxPmrLwx_QZS-emMxi5QKY7uFO0QHX5AYqex2z429-Ei-B4dGpfY4Oh6l_NZ0yyHbI3sko/s1290/conceptual+diagram.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="433" data-original-width="1290" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjswRBlBfjYD8de0qxeC6UD_itySd2DdaL3J4jlNprabncS9vUwSglvIHLyVST_kA4Sm-4lstxPmrLwx_QZS-emMxi5QKY7uFO0QHX5AYqex2z429-Ei-B4dGpfY4Oh6l_NZ0yyHbI3sko/w625-h210/conceptual+diagram.png" width="625" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Such chat bots could provide both quantitative and qualitative data to the users. This chat bot could act as a digital sentinel for each local community. So, let's call them DISCO (&lt;b&gt;D&lt;/b&gt;istributed &lt;b&gt;I&lt;/b&gt;nformation &lt;b&gt;S&lt;/b&gt;entinels for &lt;b&gt;CO&lt;/b&gt;vid) chat bots. Each of these DISCO bots will be maintained by each community.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJfdQFJYUnNKkyuFB30gxfQGRl-BaM73oGO_J_d11svq2Somg9fEfabbHV1WVCqvlWbwJbIWKI3GRrGYlsP9-Nez6xNLvVSgLL5DjOlQ5YsgwalFGj02xrxIgUD6vKm1YIaLJKy4ph-hJL/s1158/network.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="681" data-original-width="1158" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJfdQFJYUnNKkyuFB30gxfQGRl-BaM73oGO_J_d11svq2Somg9fEfabbHV1WVCqvlWbwJbIWKI3GRrGYlsP9-Nez6xNLvVSgLL5DjOlQ5YsgwalFGj02xrxIgUD6vKm1YIaLJKy4ph-hJL/w500-h294/network.png" width="500" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Technology&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;The first step is to gather the relevant data. This can be done in a google spreadsheet, as it allows multiple people to update the sheet at the same time. In the example here, data from Arogya Setu app is used to capture the covid positive cases and at-risk cases for a given location. A sample spreadsheet is &lt;a href="https://github.com/rajanm/covid-chat-bot/blob/master/covid-data-sample-google-sheet.csv"&gt;here&lt;/a&gt;. This is the kind of "quantitative" data that the DISCO bot could provide.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Often, many people have queries regarding the pandemic. An FAQ conversation model can be built that can also be integrated into the DISCO bot. A sample is provided &lt;a href="https://github.com/rajanm/covid-chat-bot/blob/master/chat_query_trainer.py"&gt;here&lt;/a&gt;. This is the kind of qualitative data the DISCO bot could provide.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Next, we need a host computer to run the bot. It could be a desktop, laptop, server, cloud or even a Raspberry Pi. This bot would download the above spreadsheet regularly and keep a local cache (for quicker responses to user queries). My copy of the DISCO bot for the local community is running on my Raspberry Pi 3 that has been idle for years.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Lastly, the community can use Telegram chat app on a compatible device to interact with the bot. Scroll below for the demos on how to setup and use the DISCO bot.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibP2Y2orN6l3oq6GV4qvFyzUqK83DU2HZnTosUzRYCKUG1LNiQ4q0bbiDIBNYxzf65f60MmTPLC9K2nmVkoAEiRzLpKkA__oA7FvgScoTXYuP6L0sydQekK_bdQj7qWv7aB76ipcvnum4w/s1317/technical.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="421" data-original-width="1317" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibP2Y2orN6l3oq6GV4qvFyzUqK83DU2HZnTosUzRYCKUG1LNiQ4q0bbiDIBNYxzf65f60MmTPLC9K2nmVkoAEiRzLpKkA__oA7FvgScoTXYuP6L0sydQekK_bdQj7qWv7aB76ipcvnum4w/w625-h200/technical.png" width="625" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Drivers and Goals&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;The following drivers and goals have driven the design and implementation of this chat bot.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Local&lt;/li&gt;&lt;li&gt;Yet Global&lt;/li&gt;&lt;li&gt;Community/Volunteer Driven&lt;/li&gt;&lt;li&gt;Accessible&lt;/li&gt;&lt;li&gt;Simple and Cheap&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Local&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;As we have seen so far, each community can setup their own little 'database' in the form of a google spreadsheet. The idea is not to have a global or even a national instance of the chat bot, but for each community/locality/suburb to maintain one for themselves.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;With many countries and communities in various stages of lock down at some time or other, many people - professionals, students, elderly and children (basically everyone!) are home bound most of the time. Hopefully, this idea motivates people to reuse this chat bot and build something similar for their local communities. This way, people can learn/share some knowledge on technology and help their communities at the same time.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Yet Global&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Largely, people are limiting their travel and daily routines to their immediate and near by areas. This approach can be adopted by communities and organizations around the world.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Use cases for this bot could be residential communities, educational institutions, workplaces (where remote working is not possible), etc.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Community/Volunteer Driven&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;The two key stakeholders for this chat bot are the volunteers -&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Data volunteers - Their responsibility is not just to enter/maintain the data, but to also ensure that the data is "as true" as possible. The data volunteers are kind of playing the role of citizen journalists. One of the "journalistic ethics" is to have a story/lead/data verified by at least 2 independent sources. This is the reason for the google spreadsheet to have the 2 columns - "Data Source Verified By (1): and "Data Source Verified By (2)".&amp;nbsp; It is also important to ensure that the data maintained is sufficiently protected and privacy maintained. For more details, please refer &lt;a href="http://handbook.reuters.com/index.php?title=The_Essentials_of_Reuters_sourcing" target="_blank"&gt;Reuters Handbook&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Technology Volunteers - Their responsibility is to setup and run the chat bot. It should take roughly 1-2 hours to set it all up from scratch. I will be happy if someone can set it up faster than that. The source code and installation instructions are available here at&amp;nbsp;&lt;a href="https://github.com/rajanm/covid-chat-bot" target="_blank"&gt;Github&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Accessible&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Creating chat bots using Telegram API's is incredibly simple. Also, Telegram provides various free chat clients across all devices and form factors - web, desktop, mobile and tablet apps.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Unless someone is on a "feature phone", virtually anyone in the world should be able to access their respective local COVID chat bot over a data connection (mobile or broadband or wi-fi) from a device of their choosing.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="text-align: justify;"&gt;Simple and Cheap&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Simplicity here has 4 connotations -&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;simple to maintain the data&lt;/li&gt;&lt;li&gt;simple and light weight to setup and run the chat bot&lt;/li&gt;&lt;li&gt;simple and actionable insights&lt;/li&gt;&lt;li&gt;simple for anyone to use the chat bot&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;All the technologies used in this chat bot are either free or open source or cheap to buy.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoTable15Grid5DarkAccent6" style="border-collapse: collapse; border: none; mso-border-alt: solid white .5pt; mso-border-themecolor: background1; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;"&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style="background: rgb(112, 173, 71); border: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 28.1pt;" valign="top" width="37"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 5; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;No&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(112, 173, 71); border-bottom: 1pt solid white; border-left: none; border-right: none; border-top: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 78pt;" valign="top" width="104"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;Technology&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(112, 173, 71); border-bottom: 1pt solid white; border-left: none; border-right: none; border-top: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 4cm;" valign="top" width="151"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;Purpose&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(112, 173, 71); border-bottom: 1pt solid white; border-left: none; border-right: none; border-top: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 70.85pt;" valign="top" width="94"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;Cost&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(112, 173, 71); border-bottom: 1pt solid white; border-left: none; border-right: none; border-top: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 96.6pt;" valign="top" width="129"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;Availability &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(112, 173, 71); border: 1pt solid white; mso-background-themecolor: accent6; mso-border-bottom-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-right-alt: solid white .5pt; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 63.85pt;" valign="top" width="85"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;Remarks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(112, 173, 71); border: 1pt solid white; mso-background-themecolor: accent6; mso-border-alt: solid white .5pt; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 28.1pt;" valign="top" width="37"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;&lt;font size="2"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 78pt;" valign="top" width="104"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Google
  Spreadsheet&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 4cm;" valign="top" width="151"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Serves
  as UI and database for the volunteers to enter and maintain data&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 70.85pt;" valign="top" width="94"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Free&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 96.6pt;" valign="top" width="129"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Global&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 63.85pt;" valign="top" width="85"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;o:p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(112, 173, 71); border: 1pt solid white; mso-background-themecolor: accent6; mso-border-alt: solid white .5pt; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 28.1pt;" valign="top" width="37"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 4;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;&lt;font size="2"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(226, 239, 217); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 78pt;" valign="top" width="104"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;font size="2"&gt;Python&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(226, 239, 217); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 4cm;" valign="top" width="151"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;font size="2"&gt;All the programs and
  libraries for the chat bot are written using Python&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(226, 239, 217); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 70.85pt;" valign="top" width="94"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;font size="2"&gt;Free&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(226, 239, 217); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 96.6pt;" valign="top" width="129"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;font size="2"&gt;Global&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(226, 239, 217); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 63.85pt;" valign="top" width="85"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;o:p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(112, 173, 71); border: 1pt solid white; mso-background-themecolor: accent6; mso-border-alt: solid white .5pt; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 28.1pt;" valign="top" width="37"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;&lt;b&gt;&lt;span style="color: white; mso-themecolor: background1;"&gt;&lt;font size="2"&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 78pt;" valign="top" width="104"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Chat Bot Host&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 4cm;" valign="top" width="151"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Run
  the chat bot and other programs&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 70.85pt;" valign="top" width="94"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Raspberry Pi - 4,000
  INR (approx. 50 USD)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 96.6pt;" valign="top" width="129"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;Global&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(197, 224, 179); border-bottom: 1pt solid white; border-left: none; border-right: 1pt solid white; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 102; mso-border-alt: solid white .5pt; mso-border-bottom-themecolor: background1; mso-border-left-alt: solid white .5pt; mso-border-left-themecolor: background1; mso-border-right-themecolor: background1; mso-border-themecolor: background1; mso-border-top-alt: solid white .5pt; mso-border-top-themecolor: background1; padding: 0cm 5.4pt; width: 63.85pt;" valign="top" width="85"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;font size="2"&gt;The chat bot created in this post runs on a Raspberry Pi 3.&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;span style="font-size: small; text-align: justify;"&gt;Alternatively,
  these programs can just run in any existing laptop/desktop/server that can run python 3.6.4 or above.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Chat Bot in Action&lt;/h2&gt;&lt;h4 style="text-align: justify;"&gt;Step 1 - Updating data in a google spreadsheet&lt;/h4&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/Ka63f8oq8ts" width="320" youtube-src-id="Ka63f8oq8ts"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;&lt;br /&gt;&lt;/h4&gt;&lt;h4 style="text-align: justify;"&gt;Step 2 - Training a sample FAQ for the chat bot&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/IWphF4t34Pk" width="320" youtube-src-id="IWphF4t34Pk"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Step 3 - Downloading google spreadsheet to a local file cache and running the chat bot on a Raspberry Pi&lt;/h4&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/ft0uEUycBXc" width="320" youtube-src-id="ft0uEUycBXc"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style="text-align: justify;"&gt;Step 4 - Testing an &lt;i&gt;alpha&lt;/i&gt; version of the chat bot in the Telegram Web app&lt;/h4&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/CPXuFHfRNLk" width="320" youtube-src-id="CPXuFHfRNLk"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h4&gt;Step 4 - Testing current version of the chat bot in Telegram app for iPhone&lt;/h4&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/gAAENoFFzZU" width="320" youtube-src-id="gAAENoFFzZU"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;How to setup your own Bot&lt;/h2&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;The source code and installation instructions are available here at&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/rajanm/covid-chat-bot" style="text-align: justify;" target="_blank"&gt;Github&lt;/a&gt;&lt;span style="text-align: justify;"&gt;. Feel free to customize to your requirements. You can setup and run a bot for your local community/organization.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-align: justify;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;h2 style="text-align: justify;"&gt;Summary&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;In this example, the health and contact tracing application from the Indian central/federal government - Arogya Setu (rough English translation - Bridge to your Health) has been used to collect &lt;b&gt;&lt;i&gt;anonymous&lt;/i&gt;&lt;/b&gt; data for a specific location where I live.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A brief comparison between the two apps, key points highlighted in &lt;b&gt;bold&lt;/b&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;

&lt;table border="1" cellpadding="0" cellspacing="0" class="MsoTable15Grid4Accent5" style="border-collapse: collapse; border: none; mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;"&gt;
 &lt;tbody&gt;&lt;tr&gt;
  &lt;td style="background: rgb(91, 155, 213); border: 1pt solid rgb(91, 155, 213); mso-background-themecolor: accent5; mso-border-bottom-alt: solid #5B9BD5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-left-alt: solid #5B9BD5 .5pt; mso-border-left-themecolor: accent5; mso-border-themecolor: accent5; mso-border-top-alt: solid #5B9BD5 .5pt; mso-border-top-themecolor: accent5; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 5; text-align: center;"&gt;&lt;span style="color: white;"&gt;Arogya Setu&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(91, 155, 213); border: 1pt solid rgb(91, 155, 213); mso-background-themecolor: accent5; mso-border-bottom-alt: solid #5B9BD5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-right-alt: solid #5B9BD5 .5pt; mso-border-right-themecolor: accent5; mso-border-themecolor: accent5; mso-border-top-alt: solid #5B9BD5 .5pt; mso-border-top-themecolor: accent5; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;"&gt;&lt;span style="color: white;"&gt;‘Local’ DISCO Bot&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(222, 234, 246); border: 1pt solid rgb(156, 194, 229); mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;A
  health an contact tracing app maintained by the central/federal government of
  India&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(222, 234, 246); border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;A
  community driven app built and maintained by each local community&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="border: 1pt solid rgb(156, 194, 229); mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 4;"&gt;Uses GPS, Data, Bluetooth&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;b&gt;Uses only Data&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(222, 234, 246); border: 1pt solid rgb(156, 194, 229); mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;Collects
  information based on the scenario&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(222, 234, 246); border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;Doesn’t
  collect any information from end user&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="border: 1pt solid rgb(156, 194, 229); mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 4;"&gt;Provides data at a “point in time” for a location. Data available for entire country.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;b&gt;Provides data at a “point in time” and trends. Data available only for a location.&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(222, 234, 246); border: 1pt solid rgb(156, 194, 229); mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;Contains
  a FAQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(222, 234, 246); border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;Contains
  FAQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="border: 1pt solid rgb(156, 194, 229); mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 4;"&gt;Requires installation of the Arogya Setu App on
  Android or iOS&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;Requires installation of the Telegram messenger app on Desktop,
  Mobile and Tablet&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="background: rgb(222, 234, 246); border: 1pt solid rgb(156, 194, 229); mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"&gt;No customization&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="background: rgb(222, 234, 246); border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-background-themecolor: accent5; mso-background-themetint: 51; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 64;"&gt;Customization
  based on the needs of the community by the community volunteers themselves&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td style="border: 1pt solid rgb(156, 194, 229); mso-border-alt: solid #9CC2E5 .5pt; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 4;"&gt;Public and health agencies collate the data and feed
  into the app&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="border-bottom: 1pt solid rgb(156, 194, 229); border-left: none; border-right: 1pt solid rgb(156, 194, 229); border-top: none; mso-border-alt: solid #9CC2E5 .5pt; mso-border-bottom-themecolor: accent5; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #9CC2E5 .5pt; mso-border-left-themecolor: accent5; mso-border-left-themetint: 153; mso-border-right-themecolor: accent5; mso-border-right-themetint: 153; mso-border-themecolor: accent5; mso-border-themetint: 153; mso-border-top-alt: solid #9CC2E5 .5pt; mso-border-top-themecolor: accent5; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 225.4pt;" valign="top" width="301"&gt;
  &lt;p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"&gt;&lt;b&gt;Data volunteers need to look at the Arogya Setu app and/or other sources and enter data
  into a google spreadsheet for their location&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Take care and stay safe.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;</content><link href="http://www.rajansview.com/feeds/5657619150148611858/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/07/a-hyper-local-crowd-sourced-data-driven.html#comment-form" rel="replies" title="2 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5657619150148611858" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5657619150148611858" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/07/a-hyper-local-crowd-sourced-data-driven.html" rel="alternate" title="A Hyper Local, Crowd Sourced, Data Driven Chatbot for Covid" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjswRBlBfjYD8de0qxeC6UD_itySd2DdaL3J4jlNprabncS9vUwSglvIHLyVST_kA4Sm-4lstxPmrLwx_QZS-emMxi5QKY7uFO0QHX5AYqex2z429-Ei-B4dGpfY4Oh6l_NZ0yyHbI3sko/s72-w625-h210-c/conceptual+diagram.png" width="72"/><thr:total>2</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.5945627</georss:point><georss:box>-15.336842580394448 42.440659632888028 41.280039980394449 112.74846576711197</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-3110573105147728200</id><published>2020-03-29T22:33:00.003+05:30</published><updated>2020-03-31T11:23:40.080+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Tech - Check your Salt - Part 3</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 style="text-align: left;"&gt;
Overview&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
In the previous &lt;a href="https://www.rajansview.com/2020/03/tech-spread-salt-evenly-part-2.html" target="_blank"&gt;post&lt;/a&gt;, we saw how beacons were deployed in all machines using state files. Salt internally uses zero MQ messaging for communication between the master and minions. As with any messaging framework, there are publisher(s) and consumer(s). One can think of the beacons (on salt minions) as publishers and reactors (on salt master) as consumers.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;h3&gt;
Salt Concepts Covered&lt;/h3&gt;
In this post, the following Salt concepts are covered -&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Beacons - Monitor minions for state changes, system diagnostics etc.&lt;/li&gt;
&lt;li&gt;Reactors -&amp;nbsp;Trigger reactions when events occur in the managed systems running minions.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Beacons&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
A beacon on the minion can be used to monitor various system events such as - memory usage, CPU load average, overall statistics, user commands etc. The beacon deployed in the previous post contains the 'sh' module. Sh module monitors all commands run on a machine which has the salt minion running.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;Note: Every time a beacon is deployed to the salt minions, the minions needs to be restarted.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Reactors&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
Now that we have the minion setup, they keep sending the events to the salt master. We now create a reactor that will respond to these events.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Create the /etc/salt/master.d/reactor.conf file on the master -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;# contents of the reactor.conf file&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;reactor:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; - 'salt/beacon/*/sh/*'&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; - '/srv/reactor/sh.sls'&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
Create a Slack account and add an application in it. Use the API key and the channel name from Slack in the below reactor - sh.sls.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Next, create the /srv/reactor/sh.sls on the master -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Send sh to Slack:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; local.slack.post_message:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; - tgt: {{ data['id'] }}&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; - kwarg:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;channel: "&lt;b&gt;[Slack Channel Name]&lt;channel name=""&gt;&lt;/channel&gt;&lt;/b&gt;"&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;api_key: "&lt;b&gt;[Slack API Key]&lt;/b&gt;"&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; message: "{{ data['id'] }} : user {{ data['user'] }} ran command {{ data['cmd'] }} with arguments {{ data['args']&amp;nbsp; }}."&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from_name: "Sh Bot"&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;i&gt;Note: Every time a new reactor is deployed to the salt master, the master needs to be restarted.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
After the beacons and reactors have been set up, you can also monitor the events using the command (in the salt master) - '&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;sudo salt-run state.event pretty=True&lt;/span&gt;'&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Now, all commands that are run on the salt minions can be viewed in Slack (both on a the desktop and mobile apps). This way, the user logins, commands run etc. across the infrastructure can now be monitored and tracked using a Slack channel.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style="clear: both; text-align: justify;"&gt;
Slack Desktop&lt;/h4&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxZokJDaHKDklF8xMkm_ZlPRyqsRGhXsaMnKVITwFBQ0m-G1wvGCh3zZtVv4awBljlJk5O6S6Ab1iBd_Ynr2n-LsXgs59ZZdjr_v03cFf5F2pam0x8UOmrf6sPhAXeWbS08uYpDI_AHw7/s1600/slack-salt1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="888" data-original-width="1600" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxZokJDaHKDklF8xMkm_ZlPRyqsRGhXsaMnKVITwFBQ0m-G1wvGCh3zZtVv4awBljlJk5O6S6Ab1iBd_Ynr2n-LsXgs59ZZdjr_v03cFf5F2pam0x8UOmrf6sPhAXeWbS08uYpDI_AHw7/s640/slack-salt1.PNG" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;h4&gt;
Slack Mobile&lt;/h4&gt;
&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKhM8Y520G7TScB4vfcz1nEZjxydnD6Eh8lOwg-sKoVRXD7kNaCOTJ7KUMEqOjzIyJ286Y3l1-YNOA63SYfhRJaaix8qKmlFHOJIqJk5PRA_D9UYtrt9f1K2RCzuECg1FXrKHap4lgk6j1/s1600/unnamed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="1600" data-original-width="778" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKhM8Y520G7TScB4vfcz1nEZjxydnD6Eh8lOwg-sKoVRXD7kNaCOTJ7KUMEqOjzIyJ286Y3l1-YNOA63SYfhRJaaix8qKmlFHOJIqJk5PRA_D9UYtrt9f1K2RCzuECg1FXrKHap4lgk6j1/s640/unnamed.jpg" width="308" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Summary&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
So far, we have seen how salt has been used to -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Ease the management of infrastructure (servers, desktops, IoT devices)&lt;/li&gt;
&lt;li&gt;Maintain consistent state across the infrastructure environment&lt;/li&gt;
&lt;li&gt;Proactively respond to events in the infrastructure for monitoring and compliance purposes&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/3110573105147728200/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/03/tech-check-your-salt-part-3.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3110573105147728200" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3110573105147728200" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/03/tech-check-your-salt-part-3.html" rel="alternate" title="Tech - Check your Salt - Part 3" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxZokJDaHKDklF8xMkm_ZlPRyqsRGhXsaMnKVITwFBQ0m-G1wvGCh3zZtVv4awBljlJk5O6S6Ab1iBd_Ynr2n-LsXgs59ZZdjr_v03cFf5F2pam0x8UOmrf6sPhAXeWbS08uYpDI_AHw7/s72-c/slack-salt1.PNG" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6082800848913433760</id><published>2020-03-29T21:21:00.002+05:30</published><updated>2020-03-31T11:24:10.592+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Tech - Spread the Salt evenly - Part 2</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 style="text-align: justify;"&gt;
Overview&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
In the previous &lt;a href="https://www.rajansview.com/2019/09/tech-sprinkle-some-salt-on-your.html" target="_blank"&gt;post&lt;/a&gt;, we saw how to setup the salt master and minions. Now, let's see how we can use Salt to maintain a consistent state in the infrastructure. The state here could mean - software, configuration, permissions etc.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;h3&gt;
Salt Concepts Covered&lt;/h3&gt;
In this post, the following concepts are covered -&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Formulas (States) -&amp;nbsp;A declarative or imperative representation of a system configuration.&lt;/li&gt;
&lt;li&gt;Top File -&amp;nbsp;Matches formulas and Salt pillar data to Salt minions.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
State Management&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
One of the key concepts in Salt, is state management. State management in Salt ensures that the applications and infrastructure is managed centrally (as you would using other tools such as Chef, Ansible, Puppet). In addition, state management also ensures that if someone changes the configuration in a minion, state management will rest it back to what it should be. This way, Salt ensures that all changes to application, infrastructure, configuration, permission etc. are managed centrally through Salt master.&lt;br /&gt;
&lt;br /&gt;
In the salt master server, create a folder called /srv/salt. In this folder, we are going to create the salt state management files. In this folder, create a file called&amp;nbsp;&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;top.sls&lt;/span&gt;&amp;nbsp;-&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;# contents of the top.sls file&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;base:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; '*':&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; - packages&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; - beacons&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Add a file called&amp;nbsp;&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;packages.sls&lt;/span&gt;&amp;nbsp;-&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;# contents of the packages.sls file&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;python-pip:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; pkg.installed&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;pynotify:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; pip.installed:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; - require:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - pkg: python-pip&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Add the last file in this folder,&amp;nbsp;&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;beacons.sls&lt;/span&gt;&amp;nbsp;-&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;# contents of the beacons.sls file&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;/etc/salt/minion.d/beacons.conf:&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; file.managed:&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; - source:&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - salt://files/minion.d/beacons.conf&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; - makedirs: True&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Create a folder called /srv/salt/files/minion.d. In this folder, create a file called&amp;nbsp;&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;beacons.conf&lt;/span&gt;&amp;nbsp;-&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;# contents of the beacons.conf file. beacons monitor minion nodes&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;beacons:&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;&amp;nbsp; sh: {}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Finally, run the following command -&amp;nbsp;&lt;span style="background-color: white; color: #757575; font-family: monospace , monospace; font-size: 15px;"&gt;'sudo salt '*' state.apply'&lt;/span&gt;. This command will take the top.sls and apply the state defined in it.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This will now set the 'state' in all the machines running the salt minion agents. This means that the pynotify package is installed in all machines and also create the '/etc/salt/minion.d/beacons.conf' file. We will come to the beacon in the next post.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Summary&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
Salt can be used to ensure that infrastructure components - web/application servers, firewalls, other system configuration are maintained consistently. Any change to the infrastructure has to be made through salt and this way configuration "drift" is avoided.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
In the next &lt;a href="https://www.rajansview.com/2020/03/tech-check-your-salt-part-3.html" target="_blank"&gt;post&lt;/a&gt;, we will look at how the infrastructure can be proactively monitored and managed using beacons and reactors.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/6082800848913433760/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/03/tech-spread-salt-evenly-part-2.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6082800848913433760" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6082800848913433760" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2020/03/tech-spread-salt-evenly-part-2.html" rel="alternate" title="Tech - Spread the Salt evenly - Part 2" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-7168682012071467380</id><published>2019-09-22T12:27:00.001+05:30</published><updated>2020-03-31T11:40:46.238+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Tech - Sprinkle some Salt - Part 1</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 style="text-align: justify;"&gt;
Overview &lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
With the advent of DevOps, many tools have come up on the topic of automation. These include tools such as Jenkins, TeamCity, Ansible, Chef, Puppet, Vagrant, Terraform etc. And, they are used to deploy infrastructure and applications.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
However, once an infrastructure or application is deployed into an environment (Development, Testing, Production), there are changes made to it. The operations and/or site reliability teams may tweak operating system, application configuration to ensure that the environment is stable and functioning well. And, when these changes are made, the environment tends to 'drift' when compared to the source code or documentation.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This is where tools such as Salt Stack are useful. It is a tool from &lt;a href="https://www.saltstack.com/"&gt;https://www.saltstack.com&lt;/a&gt;.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;At a high level, Salt is a configuration management system.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Like most other automation tools, it can deploy infrastructure / application.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;In addition, it can also monitor and react to various events. This greatly improves the life of the operations and site reliability teams.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
In this post, we will go over the basics of Salt Stack (also known as Salt).&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Salt Architecture&lt;/h3&gt;
Salt is a versatile tool. As you can see from the architecture, Salt can be used to manage and monitor infrastructure in diverse scenarios -&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;on premise data centre physical servers&lt;/li&gt;
&lt;li&gt;on premise data centre virtual servers&lt;/li&gt;
&lt;li&gt;network switches, routers&lt;/li&gt;
&lt;li&gt;public cloud servers&lt;/li&gt;
&lt;li&gt;IoT devices&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgBILDWjtfdgKferzhZ2Ezsj-TLyBmjdg9zcjIQkX96SCje9fBvw6A1a-MCimpziUT0-Z7LDNAAD2H_7DgklYOKN6-3GGT-SaWBUY6z3YTN0bmiP7od7F1rQzE6zr33ayAkdqm98IsdL_q/s1600/salt+arch.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="863" data-original-width="1090" height="506" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgBILDWjtfdgKferzhZ2Ezsj-TLyBmjdg9zcjIQkX96SCje9fBvw6A1a-MCimpziUT0-Z7LDNAAD2H_7DgklYOKN6-3GGT-SaWBUY6z3YTN0bmiP7od7F1rQzE6zr33ayAkdqm98IsdL_q/s640/salt+arch.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Image from Mirantis&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
In a series of posts, we will see how Salt can be setup for managing virtual server and IoT devices.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;h3&gt;
Salt Concepts Covered&lt;/h3&gt;
&lt;span style="font-family: &amp;quot;times new roman&amp;quot;;"&gt;Each blog post in these series will cover the salt concepts incrementally. In this post, the following concepts are covered -&lt;/span&gt;&lt;br /&gt;
&lt;div style="-webkit-text-stroke-width: 0px; color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; margin: 0px; orphans: 2; text-align: justify; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Salt Master -&amp;nbsp;This is the master is used to send commands and configurations to the Salt minion that is running on managed systems.&lt;/li&gt;
&lt;li&gt;Salt Minions - This system runs the Salt minion which receives commands and configuration from the Salt master.&lt;/li&gt;
&lt;li&gt;Execution Modules -&amp;nbsp;Ad hoc commands can be executed against the managed systems. These are typically used for - one-off commands, deploy software updates etc.&lt;/li&gt;
&lt;li&gt;Grains -&amp;nbsp;Grains are the information underlying managed system and include operating system, memory, and many other system properties. One can also define custom grains for any system.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Pre-requisites&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
It may be best to have a few virtual or test machines for getting started with Salt. In this example, a bunch of virtual machines in Oracle Virtualbox are used.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;xubuntu-jumpbox - Acts as a Salt master server&lt;/li&gt;
&lt;li&gt;xubuntu-node1, xubuntu-node2, xubuntu-node3 - Act as a nodes in a server cluster&lt;/li&gt;
&lt;li&gt;All the virtual machines run xubuntu 18.04. They have multiple network interfaces such as - NAT and Host-Only. xubuntu is chosen here as they have a very light memory footprint.&lt;/li&gt;
&lt;li&gt;For fun, there is a Raspberry Pi 3 as well that acts as an IoT node.&lt;/li&gt;
&lt;li&gt;An SSH client such as Putty or Bitvise. In this series, Bitvise and Windows Subsystem for Linux in Windows are used as clients.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRl8qFwoha2QGpUMGPiXGCD36oFt6FmC-wm2X2s6SziRVSV5HYSY51lI1E7HefvMnLV_YSe9rngwUekYhVk559xhFEsMvr21Yxzk9Gn6Uib8YEiAZgc06g0eYOVNjo3iDP1jjktpEyGZfR/s1600/oracle+virtualbox+vms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="494" data-original-width="511" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRl8qFwoha2QGpUMGPiXGCD36oFt6FmC-wm2X2s6SziRVSV5HYSY51lI1E7HefvMnLV_YSe9rngwUekYhVk559xhFEsMvr21Yxzk9Gn6Uib8YEiAZgc06g0eYOVNjo3iDP1jjktpEyGZfR/s320/oracle+virtualbox+vms.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Installation&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
Salt has two key components - master and minion. Masters act as controllers and the minions acts as agents.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Login to the master node using an SSH client. Before installation, ensure that the ports 4505 and 4506 are open in the master node, in this case xubuntu-jumpbox. The command to open ports in firewall is '&lt;code&gt;sudo ufw allow &lt;span class="highlight"&gt;4505&lt;/span&gt;:&lt;span class="highlight"&gt;4506&lt;/span&gt;/tcp&lt;/code&gt;'. Check the status of the firewall using '&lt;code&gt;sudo ufw status&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgraUJhMDRFF55GQALTlDAEyVFeBMQ7ksZu_o8LPcPu2F5738q2Rpb0-Y-YAcnr55VdzOhiBCFJ3xsw0Ui1kNHqKm-v4-cbnODi9G8Rn69g6Vt_MCB_kwBP4ADgJMlCV2gGLrkK5Z9HIU7s/s1600/salt+master+ufw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgraUJhMDRFF55GQALTlDAEyVFeBMQ7ksZu_o8LPcPu2F5738q2Rpb0-Y-YAcnr55VdzOhiBCFJ3xsw0Ui1kNHqKm-v4-cbnODi9G8Rn69g6Vt_MCB_kwBP4ADgJMlCV2gGLrkK5Z9HIU7s/s640/salt+master+ufw.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Add the salt repository using the command - '&lt;code&gt;sudo add-apt-repository ppa:saltstack/salt&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Next, run the command - '&lt;code&gt;sudo apt-get update&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Finally, run this command to install salt master - '&lt;code&gt;sudo apt-get install salt-master -y&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Edit the salt master configuration file by this command - '&lt;code&gt;sudo nano /etc/salt/master&lt;/code&gt;'. Add the host-only ip address of virtual machine to this file.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY8D-rcardHGSHf1swdlPvy-vEUnAe0Ihmh9Ww50EqihsPL-17DdR51G3Afp1MF2m8V_3Aju6I2KJInkF-HPoGtxI8LWFvsT9jJUPud6IMIDwPkoKaJreNYURo1OudgVgZ_XXceimweSHN/s1600/salt+master.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY8D-rcardHGSHf1swdlPvy-vEUnAe0Ihmh9Ww50EqihsPL-17DdR51G3Afp1MF2m8V_3Aju6I2KJInkF-HPoGtxI8LWFvsT9jJUPud6IMIDwPkoKaJreNYURo1OudgVgZ_XXceimweSHN/s640/salt+master.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Restart salt master using the command - '&lt;code&gt;sudo systemctl restart salt-master&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Run '&lt;code&gt;sudo systemctl status salt-master&lt;/code&gt;' to view details of the service.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOygcARmEJOk5H2JAejRe0GGj_ZzO7LYuwVAcczTpvbtdQKozp3Yye8ZyK4sboNTGvdS40fPcNqwGG3x36zldcNN03qKRTqdDj9qmgSyU5vQ9g7NwCx-5wjTmSdR1mtW7G3Ztbvl7S5FLn/s1600/salt+service.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOygcARmEJOk5H2JAejRe0GGj_ZzO7LYuwVAcczTpvbtdQKozp3Yye8ZyK4sboNTGvdS40fPcNqwGG3x36zldcNN03qKRTqdDj9qmgSyU5vQ9g7NwCx-5wjTmSdR1mtW7G3Ztbvl7S5FLn/s640/salt+service.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Next run this command - '&lt;code&gt;sudo salt-master --version&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuJePXuA7xOkBC_ihSUtj7bRn95bugAy8rRQ8oCtmmkN4Gyg_2DJL51fWZ9XBAOXaRacSbvfb09kWr1ba67NpQXTLnJvYjCyY3kEEEPhZvFeKsJ7oJsAhcvRzX437OFg1sDtXUBunupwfH/s1600/salt+version.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuJePXuA7xOkBC_ihSUtj7bRn95bugAy8rRQ8oCtmmkN4Gyg_2DJL51fWZ9XBAOXaRacSbvfb09kWr1ba67NpQXTLnJvYjCyY3kEEEPhZvFeKsJ7oJsAhcvRzX437OFg1sDtXUBunupwfH/s640/salt+version.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now, that the master is setup, let's start installing the minions. Start the other virtual machines in virtualbox. Login to them using the SSH client.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Add the salt repository using the command - '&lt;code&gt;sudo add-apt-repository ppa:saltstack/salt&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Next, run the command - '&lt;code&gt;sudo apt-get update&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Finally, run this command to install salt master - '&lt;code&gt;sudo apt-get install salt-minion -y&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Edit the salt master configuration file by this command - '&lt;code&gt;sudo nano /etc/salt/minion&lt;/code&gt;'. Add the host-only ip address of virtual machine to this file.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii3eC6xtzP3dPlRrgtXWw2piQ5BDr-om6EbszeRf7PHsWypi3feGZYzfARth30eaazTq8t5Ce-Y6YF4e3Etg9agDGiolls47cGcsCuDfpJgwRzFdzyZuQ6NIMhjOj4RM71QZxQycWTvwnx/s1600/salt+minion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii3eC6xtzP3dPlRrgtXWw2piQ5BDr-om6EbszeRf7PHsWypi3feGZYzfARth30eaazTq8t5Ce-Y6YF4e3Etg9agDGiolls47cGcsCuDfpJgwRzFdzyZuQ6NIMhjOj4RM71QZxQycWTvwnx/s640/salt+minion.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Restart salt master using the command - '&lt;code&gt;sudo systemctl restart salt-minion&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Run '&lt;code&gt;sudo systemctl status salt-minion&lt;/code&gt;' to view details of the service.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaauBRutaKxoRW9iIrDFEY8xup0Z3sfJHKslM3d9yHgZRB_hkDWrykh8ZdEoq1yctAD9R5GvEgwLnDnMunEGSf02VkMdDV9hsdFf6oCthKGU1c8FP0njMT8dqn3rInIbW4pbatxonqiCzd/s1600/salt+minion+service.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaauBRutaKxoRW9iIrDFEY8xup0Z3sfJHKslM3d9yHgZRB_hkDWrykh8ZdEoq1yctAD9R5GvEgwLnDnMunEGSf02VkMdDV9hsdFf6oCthKGU1c8FP0njMT8dqn3rInIbW4pbatxonqiCzd/s640/salt+minion+service.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Once the salt-minion service is restarted, it would have sent the public key of the minion to the salt master. Repeat this process for all the nodes including the Raspberry Pi 3.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Similarly, the version of the minion can also be checked by '&lt;code&gt;sudo salt-minion --version&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Q4-XKQEFFLiGTfQXDylE3ui5ZswKbMRKGUHe4G9gRuDPLxCaDXBcijsXTcWJSOhletQyAdxJWmvzWNPqQ_v_5hWzR604mG-3SvTfNU34UJqvasRJPJOh2uMMAPbsa9sphJt51Wv5Qe-2/s1600/salt+minion+version.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Q4-XKQEFFLiGTfQXDylE3ui5ZswKbMRKGUHe4G9gRuDPLxCaDXBcijsXTcWJSOhletQyAdxJWmvzWNPqQ_v_5hWzR604mG-3SvTfNU34UJqvasRJPJOh2uMMAPbsa9sphJt51Wv5Qe-2/s640/salt+minion+version.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The request from the minion can be seen in the salt server by running the command - '&lt;code&gt;sudo salt-key -L&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now, run the command to add the minion to the Salt master - '&lt;code&gt;sudo salt-key --accept='raspberrypi-node1'&lt;/code&gt;'.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFu5imLoOHZ13Wvj3ISnHJ_OAnKVfkza_1fRLTFZHhGrG4zLogHgG9eqcSH8Kj0F_kRmvwmyl0cdWzPAqT72dE86STrdF33PmcJLjbQ_5HrVMo7d8FmI5FGSNG-0QTavw7KeGsIT3ihZSg/s1600/salt+minion+add.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFu5imLoOHZ13Wvj3ISnHJ_OAnKVfkza_1fRLTFZHhGrG4zLogHgG9eqcSH8Kj0F_kRmvwmyl0cdWzPAqT72dE86STrdF33PmcJLjbQ_5HrVMo7d8FmI5FGSNG-0QTavw7KeGsIT3ihZSg/s640/salt+minion+add.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Once the keys have been accepted in the salt master, the master can start interacting with all the nodes via the minions.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Salt comes with several pre-built modules. One of them is cmd. In this example, this module is used to run commands on all nodes - '&lt;code&gt;sudo salt '*node*' cmd.run 'sudo apt-get install nmon --upgrade -y' --output=pprint '&lt;/code&gt;. This command will run nmon tool on all the minions that have the text 'node' in their machine name. &lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PAFKHP2UmTqQLiiKfPJuv5bwwmecG8e5sx6Qxi7t3O7DgW-XrjAzvPkGgaYjRz7WbcCT4Urld9G2ceYLNRmY0SeBpxqMrE9ysIn6P5qlMrNUzAXs1j3bLN_lony8W_JSD1IsN6eUtQyn/s1600/salt+install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PAFKHP2UmTqQLiiKfPJuv5bwwmecG8e5sx6Qxi7t3O7DgW-XrjAzvPkGgaYjRz7WbcCT4Urld9G2ceYLNRmY0SeBpxqMrE9ysIn6P5qlMrNUzAXs1j3bLN_lony8W_JSD1IsN6eUtQyn/s640/salt+install.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Let's verify if the nmon tool has indeed been installed in the nodes. Login to one of the nodes and verify, in this case xubuntu-node3.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirmtZ1EwdzMQOfdd5Ts9IRCOTztr2K5S7EFSKXOAG87GGGUt_dWLp_ykILL55FAvQ85XuWTyNETHh8E5NMezvLW4ZODIokh1ZOp43SipbDGPTfOubYT_nb7_Y5SpcgCaCDXzMvE1OLAuoi/s1600/nmon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirmtZ1EwdzMQOfdd5Ts9IRCOTztr2K5S7EFSKXOAG87GGGUt_dWLp_ykILL55FAvQ85XuWTyNETHh8E5NMezvLW4ZODIokh1ZOp43SipbDGPTfOubYT_nb7_Y5SpcgCaCDXzMvE1OLAuoi/s640/nmon.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Let's try another command - '&lt;code&gt;sudo salt '*node*' cmd.run 'sudo apt-get update | sudo apt-get upgrade -y' --output=pprint &lt;/code&gt;'. As seen in this example, multiple commands are separated by the pipe operator.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lMcGb-a1cExH_JppzICsl75VwPWN0iJ8MTxcQeCgFQ9FUNHxasC9jriTBx15K-yX4CiYWXpv8u-0Et5kkklUYzVapT5_sLwDe8kJLGTYzXG-VRv_3A47u3KIEVI0Qhr5mbGqTUPXIbvi/s1600/salt+update.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9lMcGb-a1cExH_JppzICsl75VwPWN0iJ8MTxcQeCgFQ9FUNHxasC9jriTBx15K-yX4CiYWXpv8u-0Et5kkklUYzVapT5_sLwDe8kJLGTYzXG-VRv_3A47u3KIEVI0Qhr5mbGqTUPXIbvi/s640/salt+update.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
You can also run commands such as '&lt;span style="font-family: monospace;"&gt;sudo salt&lt;/span&gt;&lt;span style="font-family: monospace;"&gt;&amp;nbsp;'*' test.ping&lt;/span&gt;' and '&lt;span style="font-family: monospace;"&gt;sudo salt '*' network.get_hostname&lt;/span&gt;' to view the status of the minions.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDBT4g7l5nTLSOKyuEAVnRMYGZICJTmlR_mXXUcU6TdrGngydPrY6cIX572LJb_4Jqo0BAcqr1nkxzvwBg1tZeBsFmLCutkERGi-3wUkofXV51SsuLfDdpQ9mZyGTnt6RomoTxNE9DRGSr/s1600/slack-salt2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="859" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDBT4g7l5nTLSOKyuEAVnRMYGZICJTmlR_mXXUcU6TdrGngydPrY6cIX572LJb_4Jqo0BAcqr1nkxzvwBg1tZeBsFmLCutkERGi-3wUkofXV51SsuLfDdpQ9mZyGTnt6RomoTxNE9DRGSr/s640/slack-salt2.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
You can run the command '&lt;span style="font-family: monospace;"&gt;sudo salt&lt;/span&gt;&lt;span style="font-family: monospace;"&gt;&amp;nbsp;'*' grains.items&lt;/span&gt;' to view the system information for all the minions. In this example, we can see the system information specific for a Raspberry Pi. These grains can also be used for targeting specific states.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKi6jTP7P6h_RZY6zzQUQZ4o1NIjjepP1rH4Jx_sccx2aazH8op0t8lThX-czj8hZJ4cnDqmAkC2922_RfDvGD7BeXi6FsWHiM0kgOJDI5vmxrYdz6sxt99Tt4qbESUMWkOgSVFvzaaedz/s1600/salt+grains.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="859" data-original-width="1600" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKi6jTP7P6h_RZY6zzQUQZ4o1NIjjepP1rH4Jx_sccx2aazH8op0t8lThX-czj8hZJ4cnDqmAkC2922_RfDvGD7BeXi6FsWHiM0kgOJDI5vmxrYdz6sxt99Tt4qbESUMWkOgSVFvzaaedz/s640/salt+grains.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Summary&lt;/h3&gt;
In this post, we have installed/updated software in 4 nodes (3 virtual machines and 1 Raspberry Pi) using 1 salt master. Imagine a scenario where, there are 100's or 1000's of machines that need to be maintained. It is in such scenarios that Salt proves it's usefulness.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
It is possible to have masters in a high-availability mode, but that it out of scope of these posts. In addition to multi-master mode, it is also possible to federate the architecture using features such as Salt Syndic. To know more about Salt architecture and how it scales, you can read about it&amp;nbsp;&lt;a href="https://docs.saltstack.com/en/latest/topics/topology/index.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
If you are interested in a primer for the various salt modules and commands, you an refer the samples in my github&amp;nbsp;&lt;a href="https://gist.github.com/rajanm/b8e22447ef60cf4547e38384d5c90f41" target="_blank"&gt;gist&lt;/a&gt;. As and when I come across something useful, I will keep updating the gist.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
More about other interesting features of Salt in the next &lt;a href="https://www.rajansview.com/2020/03/tech-spread-salt-evenly-part-2.html" target="_blank"&gt;post&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/7168682012071467380/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/09/tech-sprinkle-some-salt-on-your.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/7168682012071467380" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/7168682012071467380" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/09/tech-sprinkle-some-salt-on-your.html" rel="alternate" title="Tech - Sprinkle some Salt - Part 1" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgBILDWjtfdgKferzhZ2Ezsj-TLyBmjdg9zcjIQkX96SCje9fBvw6A1a-MCimpziUT0-Z7LDNAAD2H_7DgklYOKN6-3GGT-SaWBUY6z3YTN0bmiP7od7F1rQzE6zr33ayAkdqm98IsdL_q/s72-c/salt+arch.png" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-1991414959996456477</id><published>2019-08-22T00:10:00.003+05:30</published><updated>2019-08-26T17:12:44.147+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Azure Chronicles - VM Security</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Using the cloud has many benefits, some of them such as elasticity and scalability. On the other hand, some other aspects such as security and cost need to be paid attention to.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Let's look at the security aspect in this post.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;a href="https://cisofy.com/lynis/" target="_blank"&gt;Lynis&lt;/a&gt; is one of the most popular Linux auditing and hardening tools. It has community and enterprise editions. As an example, the community edition is being used here. Let's scan a Linux based VM in Azure and find out the results. This post assumes that you have an existing subscription in Microsoft Azure.&lt;br /&gt;
&lt;br /&gt;
The below steps show how to scan a VM in Azure.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;A new class of VM's called &lt;a href="https://azure.microsoft.com/en-in/updates/b-series-update-b1ls-is-now-available/" target="_blank"&gt;B1ls&lt;/a&gt; was launched. These VM's are quite small and cheap. As this is just an experiment, let's try this new VM.&lt;/li&gt;
&lt;li&gt;Create a B1ls VM with the Ubunto 18.04 LTS image on it. Make sure that the VM has a public IP address and use a public key for access.&lt;/li&gt;
&lt;li&gt;Once the VM is created, login to the VM using a tool such as Putty.&lt;/li&gt;
&lt;li&gt;Follow the steps described &lt;a href="https://packages.cisofy.com/community/#debian-ubuntu" target="_blank"&gt;here&lt;/a&gt; to install the Lynis tool.&lt;/li&gt;
&lt;li&gt;Run the following command to analyze the VM - sudo lynis audit system.&lt;/li&gt;
&lt;li&gt;The report generated by the lynis tool is available in /var/log/lynis-report.dat. This is a text file and can be read in any text editor.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
A sample report is shown below for the Ubuntu 18.04 LTS VM from Azure. The vulnerabilities are marked in &lt;b&gt;bold&lt;/b&gt; below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[ Lynis 2.7.5 ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;################################################################################&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; welcome to redistribute it under the terms of the GNU General Public License.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; See the LICENSE file for details about using this software.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; 2007-2019, CISOfy - https://cisofy.com/lynis/&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Enterprise support available (compliance, plugins, interface and tools)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;################################################################################&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Initializing program&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Detecting OS...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking profiles...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Program version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2.7.5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system name:&amp;nbsp; &amp;nbsp; &amp;nbsp;Ubuntu Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system version:&amp;nbsp; 18.04&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Kernel version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5.0.0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Hardware platform:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x86_64&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Hostname:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ubuntu1804ltsvm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Profiles:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /etc/lynis/default.prf&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Log file:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /var/log/lynis.log&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Report file:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/var/log/lynis-report.dat&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Report version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Plugin directory:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/share/lynis/plugins&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Auditor:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Not Specified]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Language:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; en&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Test category:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Test group:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Program update status...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NO UPDATE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] System Tools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Scanning available tools...&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking system binaries...&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Plugins (phase 1)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp;Note: plugins have more extensive tests and may take several minutes to complete&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Plugins enabled&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Boot and services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Service Manager&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ systemd ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking UEFI boot&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence GRUB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence GRUB2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for password protection&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check running services (systemctl)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Result: found 23 running services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check enabled services at boot (systemctl)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Result: found 49 enabled services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check startup files (permissions)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Kernel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default run level&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ RUNLEVEL 5 ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking CPU support (NX/PAE)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; CPU support: PAE and/or NoeXecute supported&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking kernel version and release&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking kernel type&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking loaded kernel modules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Found 61 active modules&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Linux kernel configuration file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default I/O kernel scheduler&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for available kernel update&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking core dumps configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking setuid core dumps configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ PROTECTED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check if reboot is needed&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NO ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Memory and Processes&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /proc/meminfo&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching for dead/zombie processes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching for IO waiting processes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Users, Groups and Authentication&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Administrator accounts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique UIDs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Consistency of group files (grpck)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique group IDs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique group names&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Password file consistency&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Query system users (non daemons)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NIS+ authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NIS authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - sudoers file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for directory: /etc/sudoers.d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers.d/90-cloud-init-users&amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers.d/README&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM password strength tools&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM configuration files (pam.conf)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM configuration files (pam.d)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM modules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - LDAP module in PAM&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Accounts without expire date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Accounts without password&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking user password aging (minimum)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - User password aging (maximum)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking expired passwords&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Linux single user mode authentication&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Determining default umask&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - umask (/etc/profile)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - umask (/etc/login.defs)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - LDAP authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Logging failed login attempts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Shells&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking shells from /etc/shells&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Result: found 6 shells (valid shells: 6).&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Session timeout settings/tools&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default umask values&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking default umask in /etc/bash.bashrc&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking default umask in /etc/profile&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] File systems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking mount points&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /home mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /tmp mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /var mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Query swap partitions (fstab)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Testing swap partitions&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for old files in /tmp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /tmp sticky bit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /var/tmp sticky bit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - ACL support root file system&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Mount options of /&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NON DEFAULT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Locate database&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Disable kernel support of some filesystems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] USB Devices&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking usb-storage driver (modprobe config)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking USB devices authorization&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking USBGuard&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Storage&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking firewire ohci driver (modprobe config)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] NFS&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check running NFS daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Name services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking search domains&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /etc/resolv.conf options&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching DNS domain name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Domain name: tddhuyalmt4urnpob1l1hchkbh.bx.internal.cloudapp.net&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /etc/hosts&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (duplicates)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (hostname)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (localhost)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (localhost to IP)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Ports and packages&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching package managers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Searching dpkg package manager&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Querying package manager&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Query unpurged packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking security repository in sources.list file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking APT package database&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking vulnerable packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ WARNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking upgradeable packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SKIPPED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking package audit tool&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ INSTALLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Found: apt-get&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Toolkit for automatic upgrades (unattended-upgrade)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Networking&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking IPv6 configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Configuration method&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ AUTO ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IPv6 only&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NO ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking configured nameservers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Testing nameservers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Nameserver: 127.0.0.53&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default gateway&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Getting listening ports (TCP/UDP)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking promiscuous interfaces&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking waiting connections&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking status DHCP client&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for ARP monitoring software&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Printers and Spools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking cups daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking lp daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT RUNNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: e-mail and messaging&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: firewalls&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking iptables kernel module&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking iptables policies of chains&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for empty ruleset&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ WARNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for unused rules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking host based firewall&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: webserver&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Apache&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking nginx&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] SSH Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running SSH daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Searching SSH configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowTcpForwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: ClientAliveCountMax&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: ClientAliveInterval&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: Compression&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: FingerprintHash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: GatewayPorts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: IgnoreRhosts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: LoginGraceTime&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: LogLevel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: MaxAuthTries&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: MaxSessions&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitRootLogin&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitUserEnvironment&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitTunnel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: Port&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PrintLastLog&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: StrictModes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: TCPKeepAlive&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: UseDNS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: VerifyReverseMapping&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: X11Forwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowAgentForwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowUsers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowGroups&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] SNMP Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running SNMP daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Databases&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; No database engines found&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] LDAP Services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking OpenLDAP instance&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] PHP&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking PHP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Squid Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running Squid daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Logging and files&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for a running log daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking Syslog-NG status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking systemd journal status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking Metalog status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking RSyslog status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking RFC 3195 daemon status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking minilogd instances&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking logrotate presence&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking log directories (static list)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking open log files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking deleted files in use&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FILES FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Insecure services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed inetd package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed xinetd package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - xinetd status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed rsh client package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed rsh server package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed telnet client package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed telnet server package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Banners and identification&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - /etc/issue&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - /etc/issue contents&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ WEAK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - /etc/issue.net&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - /etc/issue.net contents&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ WEAK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Scheduled tasks&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking crontab and cronjob files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking atd status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ RUNNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking at users&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking at jobs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Accounting&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking accounting information&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking sysstat accounting data&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking auditd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Time and Synchronization&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NTP daemon found: systemd (timesyncd)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for a running NTP daemon or client&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Cryptography&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for expired SSL certificates [0/1]&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Virtualization&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Containers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Security frameworks&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence AppArmor&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking AppArmor status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence SELinux&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence TOMOYO Linux&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence grsecurity&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for implemented MAC framework&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: file integrity&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking file integrity tools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence integrity tool&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: System tooling&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking automation tooling&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Automation tooling&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for IDS/IPS tooling&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: Malware&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] File Permissions&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Starting file permissions check&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; /root/.ssh&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Home directories&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking shell history files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Kernel Hardening&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Comparing sysctl key pairs with scan profile&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.protected_hardlinks (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.protected_symlinks (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.suid_dumpable (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.core_uses_pid (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.ctrl-alt-del (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.dmesg_restrict (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.kptr_restrict (exp: 2)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.randomize_va_space (exp: 2)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.sysrq (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.yama.ptrace_scope (exp: 1 2 3)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.bootp_relay (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.forwarding (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.log_martians (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.mc_forwarding (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.proxy_arp (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.rp_filter (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.send_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; [ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.log_martians (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.icmp_echo_ignore_broadcasts (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.icmp_ignore_bogus_error_responses (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.tcp_syncookies (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.tcp_timestamps (exp: 0 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.all.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.all.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.default.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.default.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Hardening&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Installed compiler(s)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Installed malware scanner&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Custom Tests&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Running custom tests...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Plugins (phase 2)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; -[ Lynis 2.7.5 Results ]-&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Warnings (2):&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; ! Found one or more vulnerable packages. [PKGS-7392]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7392/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; ! iptables module(s) loaded, but no rules active [FIRE-4512]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FIRE-4512/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Suggestions (35):&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Set a password on GRUB bootloader to prevent altering boot configuration (e.g. boot in single user mode without password) [BOOT-5122]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BOOT-5122/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install a PAM module for password strength testing like pam_cracklib or pam_passwdqc [AUTH-9262]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/AUTH-9262/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Configure minimum password age in /etc/login.defs [AUTH-9286]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/AUTH-9286/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Configure maximum password age in /etc/login.defs [AUTH-9286]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/AUTH-9286/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Default umask in /etc/login.defs could be more strict like 027 [AUTH-9328]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/AUTH-9328/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /home file system, place /home on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /tmp file system, place /tmp on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /var file system, place /var on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft [STRG-1840]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/STRG-1840/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add the IP name and FQDN to /etc/hosts for proper name resolving [NAME-4404]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/NAME-4404/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Purge old/removed packages (1 found) with aptitude purge or dpkg --purge command. This will cleanup old configuration files, cron jobs and startup scripts. [PKGS-7346]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7346/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install debsums utility for the verification of packages with known good database. [PKGS-7370]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7370/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Update your system with apt-get update, apt-get upgrade, apt-get dist-upgrade and/or unattended-upgrades [PKGS-7392]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7392/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install package apt-show-versions for patch management purposes [PKGS-7394]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7394/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider running ARP monitoring software (arpwatch,arpon) [NETW-3032]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/NETW-3032/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : AllowTcpForwarding (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : ClientAliveCountMax (3 --&amp;gt; 2)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : Compression (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : LogLevel (INFO --&amp;gt; VERBOSE)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : MaxAuthTries (6 --&amp;gt; 3)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : MaxSessions (10 --&amp;gt; 2)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : Port (22 --&amp;gt; )&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : TCPKeepAlive (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : X11Forwarding (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : AllowAgentForwarding (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Check what deleted files are still in use and why. [LOGG-2190]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/LOGG-2190/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add a legal banner to /etc/issue, to warn unauthorized users [BANN-7126]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BANN-7126/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add legal banner to /etc/issue.net, to warn unauthorized users [BANN-7130]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BANN-7130/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable process accounting [ACCT-9622]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9622/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable sysstat to collect accounting (no results) [ACCT-9626]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9626/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable auditd to collect audit information [ACCT-9628]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9628/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install a file integrity tool to monitor changes to critical and sensitive files [FINT-4350]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FINT-4350/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Determine if automation tools are present for system management [TOOL-5002]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/TOOL-5002/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * One or more sysctl values differ from the scan profile and could be tweaked [KRNL-6000]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Solution : Change sysctl value or disable test (skip-test=KRNL-6000:&lt;sysctl-key&gt;)&lt;/sysctl-key&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/KRNL-6000/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Solution : Install a tool like rkhunter, chkrootkit, OSSEC&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/HRDN-7230/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Follow-up:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Show details of a test (lynis show details TEST-ID)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check the logfile for all details (less /var/log/lynis.log)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Read security controls texts (https://cisofy.com)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Use --upload to upload data to central system (Lynis Enterprise users)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis security scan details:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; Hardening index : 63 [############&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Tests performed : 220&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Plugins enabled : 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Components:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Firewall&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Malware scanner&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [X]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis modules:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Compliance status&amp;nbsp; &amp;nbsp; &amp;nbsp; [?]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Security audit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Vulnerability scan&amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Files:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Test and debug information&amp;nbsp; &amp;nbsp; &amp;nbsp; : /var/log/lynis.log&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Report data&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: /var/log/lynis-report.dat&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis 2.7.5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Auditing, system hardening, and compliance for UNIX-based systems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; (Linux, macOS, BSD, and others)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; 2007-2019, CISOfy - https://cisofy.com/lynis/&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Enterprise support available (compliance, plugins, interface and tools)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; [TIP]: Enhance Lynis audits by adding your settings to custom.prf (see /etc/lynis/default.prf for all settings)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: red; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The hardening score of 63 is not that bad. However, depending on the scenario, it may be better to use a hardened image.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
So, let's run the Lynis audit on a &lt;a href="https://www.cisecurity.org/blog/cis-hardened-images-now-in-microsoft-azure-marketplace/" target="_blank"&gt;CIS&lt;/a&gt; hardened image. A CIS hardened Ubuntu 18.04 based VM is created in Azure. The above steps are run again on the new VM. As before, the vulnerabilities are marked below in &lt;b&gt;bold &lt;/b&gt;are marked in the report below.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[ Lynis 2.7.5 ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;################################################################################&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; welcome to redistribute it under the terms of the GNU General Public License.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; See the LICENSE file for details about using this software.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; 2007-2019, CISOfy - https://cisofy.com/lynis/&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Enterprise support available (compliance, plugins, interface and tools)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;################################################################################&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Initializing program&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Detecting OS...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking profiles...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Program version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2.7.5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system name:&amp;nbsp; &amp;nbsp; &amp;nbsp;Ubuntu Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Operating system version:&amp;nbsp; 18.04&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Kernel version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.18.0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Hardware platform:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x86_64&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Hostname:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cisubuntuvm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Profiles:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /etc/lynis/default.prf&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Log file:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /var/log/lynis.log&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Report file:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/var/log/lynis-report.dat&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Report version:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Plugin directory:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/share/lynis/plugins&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Auditor:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Not Specified]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Language:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; en&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Test category:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Test group:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ---------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Program update status...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NO UPDATE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] System Tools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Scanning available tools...&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking system binaries...&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Plugins (phase 1)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp;Note: plugins have more extensive tests and may take several minutes to complete&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Plugins enabled&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Boot and services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Service Manager&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ systemd ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking UEFI boot&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence GRUB&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence GRUB2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for password protection&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check running services (systemctl)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Result: found 24 running services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check enabled services at boot (systemctl)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Result: found 50 enabled services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check startup files (permissions)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Kernel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default run level&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ RUNLEVEL 5 ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking CPU support (NX/PAE)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; CPU support: PAE and/or NoeXecute supported&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking kernel version and release&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking kernel type&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking loaded kernel modules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Found 60 active modules&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Linux kernel configuration file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default I/O kernel scheduler&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for available kernel update&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking core dumps configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking setuid core dumps configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DEFAULT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check if reboot is needed&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NO ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Memory and Processes&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /proc/meminfo&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching for dead/zombie processes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching for IO waiting processes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Users, Groups and Authentication&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Administrator accounts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique UIDs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Consistency of group files (grpck)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique group IDs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Unique group names&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Password file consistency&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Query system users (non daemons)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NIS+ authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NIS authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - sudoers file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for directory: /etc/sudoers.d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers.d/90-cloud-init-users&amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Permissions for: /etc/sudoers.d/README&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM password strength tools&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM configuration files (pam.conf)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM configuration files (pam.d)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - PAM modules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - LDAP module in PAM&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Accounts without expire date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Accounts without password&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - User password aging (minimum)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ CONFIGURED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - User password aging (maximum)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ CONFIGURED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking expired passwords&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Linux single user mode authentication&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Determining default umask&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - umask (/etc/profile and /etc/profile.d)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - umask (/etc/login.defs)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - LDAP authentication support&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Logging failed login attempts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Shells&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking shells from /etc/shells&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Result: found 6 shells (valid shells: 6).&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Session timeout settings/tools&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default umask values&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking default umask in /etc/bashrc&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking default umask in /etc/bash.bashrc&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking default umask in /etc/profile&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] File systems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking mount points&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /home mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /tmp mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /var mount point&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Query swap partitions (fstab)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Testing swap partitions&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Testing /proc mount (hidepid)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for old files in /tmp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /tmp sticky bit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /var/tmp sticky bit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - ACL support root file system&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Mount options of /&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NON DEFAULT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Mount options of /dev/shm&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ HARDENED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Locate database&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Disable kernel support of some filesystems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Discovered kernel modules: udf&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] USB Devices&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking usb-storage driver (modprobe config)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking USB devices authorization&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking USBGuard&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Storage&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking firewire ohci driver (modprobe config)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DISABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] NFS&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check running NFS daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Name services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking search domains&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /etc/resolv.conf options&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching DNS domain name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Domain name: yev42i4zysyuzcn5celowc504d.bx.internal.cloudapp.net&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking /etc/hosts&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (duplicates)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (hostname)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (localhost)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking /etc/hosts (localhost to IP)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Ports and packages&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Searching package managers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Searching dpkg package manager&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Querying package manager&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Query unpurged packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking security repository in sources.list file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking APT package database&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking vulnerable packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ WARNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking upgradeable packages&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SKIPPED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking package audit tool&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ INSTALLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; Found: apt-get&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Toolkit for automatic upgrades (unattended-upgrade)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Networking&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking IPv6 configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Configuration method&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ MANUAL ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IPv6 only&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NO ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking configured nameservers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Testing nameservers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Nameserver: 127.0.0.53&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking default gateway&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Getting listening ports (TCP/UDP)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking promiscuous interfaces&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking waiting connections&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking status DHCP client&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for ARP monitoring software&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Printers and Spools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking cups daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking lp daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT RUNNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: e-mail and messaging&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Postfix status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ RUNNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Postfix configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Postfix banner&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ WARNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: firewalls&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking iptables kernel module&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking iptables policies of chains&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for empty ruleset&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking for unused rules&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking host based firewall&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: webserver&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking Apache&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking nginx&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] SSH Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running SSH daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Searching SSH configuration&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowTcpForwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: ClientAliveCountMax&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: ClientAliveInterval&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: Compression&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: FingerprintHash&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: GatewayPorts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: IgnoreRhosts&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: LoginGraceTime&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: LogLevel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: MaxAuthTries&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: MaxSessions&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitRootLogin&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitUserEnvironment&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PermitTunnel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: Port&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: PrintLastLog&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: StrictModes&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: TCPKeepAlive&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: UseDNS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: VerifyReverseMapping&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: X11Forwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowAgentForwarding&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ SUGGESTION ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowUsers&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - SSH option: AllowGroups&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] SNMP Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running SNMP daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Databases&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; No database engines found&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] LDAP Services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking OpenLDAP instance&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] PHP&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking PHP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Squid Support&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking running Squid daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Logging and files&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for a running log daemon&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking Syslog-NG status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking systemd journal status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking Metalog status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking RSyslog status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking RFC 3195 daemon status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking minilogd instances&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking logrotate presence&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking log directories (static list)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking open log files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking deleted files in use&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FILES FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Insecure services&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed inetd package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed xinetd package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - xinetd status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT ACTIVE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed rsh client package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed rsh server package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed telnet client package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Installed telnet server package&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Banners and identification&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - /etc/issue&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - /etc/issue contents&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ WEAK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - /etc/issue.net&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - /etc/issue.net contents&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ WEAK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Scheduled tasks&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking crontab and cronjob files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking atd status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ RUNNING ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking at users&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking at jobs&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Accounting&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking accounting information&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking sysstat accounting data&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking auditd&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Time and Synchronization&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - NTP daemon found: systemd (timesyncd)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for a running NTP daemon or client&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Cryptography&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for expired SSL certificates [0/2]&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Virtualization&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Containers&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Security frameworks&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence AppArmor&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Checking AppArmor status&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ ENABLED ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence SELinux&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence TOMOYO Linux&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence grsecurity&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for implemented MAC framework&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: file integrity&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking file integrity tools&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - AIDE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - AIDE config file&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - AIDE config (Checksum)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking presence integrity tool&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: System tooling&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking automation tooling&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Automation tooling&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking for IDS/IPS tooling&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Software: Malware&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] File Permissions&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Starting file permissions check&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; /root/.ssh&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Home directories&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Checking shell history files&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Kernel Hardening&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Comparing sysctl key pairs with scan profile&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.protected_hardlinks (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.protected_symlinks (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - fs.suid_dumpable (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.core_uses_pid (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.ctrl-alt-del (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.dmesg_restrict (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.kptr_restrict (exp: 2)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.randomize_va_space (exp: 2)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.sysrq (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ DIFFERENT ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - kernel.yama.ptrace_scope (exp: 1 2 3)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.bootp_relay (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.forwarding (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.log_martians (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.mc_forwarding (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.proxy_arp (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.rp_filter (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.all.send_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.conf.default.log_martians (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.icmp_echo_ignore_broadcasts (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.icmp_ignore_bogus_error_responses (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.tcp_syncookies (exp: 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv4.tcp_timestamps (exp: 0 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.all.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.all.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.default.accept_redirects (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - net.ipv6.conf.default.accept_source_route (exp: 0)&amp;nbsp; &amp;nbsp; &amp;nbsp; [ OK ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Hardening&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Installed compiler(s)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp; - Installed malware scanner&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NOT FOUND ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Custom Tests&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Running custom tests...&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ NONE ]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;[+] Plugins (phase 2)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; -[ Lynis 2.7.5 Results ]-&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Warnings (2):&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; ! Found one or more vulnerable packages. [PKGS-7392]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7392/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; ! Found some information disclosure in SMTP banner (OS or software name) [MAIL-8818]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/MAIL-8818/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Suggestions (33):&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Set a password on GRUB bootloader to prevent altering boot configuration (e.g. boot in single user mode without password) [BOOT-5122]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BOOT-5122/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Default umask in /etc/login.defs could be more strict like 027 [AUTH-9328]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/AUTH-9328/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /home file system, place /home on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /tmp file system, place /tmp on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * To decrease the impact of a full /var file system, place /var on a separate partition [FILE-6310]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FILE-6310/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft [STRG-1840]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/STRG-1840/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add the IP name and FQDN to /etc/hosts for proper name resolving [NAME-4404]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/NAME-4404/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Purge old/removed packages (2 found) with aptitude purge or dpkg --purge command. This will cleanup old configuration files, cron jobs and startup scripts. [PKGS-7346]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7346/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install debsums utility for the verification of packages with known good database. [PKGS-7370]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7370/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Update your system with apt-get update, apt-get upgrade, apt-get dist-upgrade and/or unattended-upgrades [PKGS-7392]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7392/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Install package apt-show-versions for patch management purposes [PKGS-7394]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/PKGS-7394/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider running ARP monitoring software (arpwatch,arpon) [NETW-3032]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/NETW-3032/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * You are advised to hide the mail_name (option: smtpd_banner) from your postfix configuration. Use postconf -e or change your main.cf file (/etc/postfix/main.cf) [MAIL-8818]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/MAIL-8818/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Check iptables rules to see which rules are currently not used [FIRE-4513]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/FIRE-4513/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : AllowTcpForwarding (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : ClientAliveCountMax (3 --&amp;gt; 2)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : Compression (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : LogLevel (INFO --&amp;gt; VERBOSE)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : MaxAuthTries (4 --&amp;gt; 3)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : MaxSessions (10 --&amp;gt; 2)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : Port (22 --&amp;gt; )&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : TCPKeepAlive (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Consider hardening SSH configuration [SSH-7408]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Details&amp;nbsp; : AllowAgentForwarding (YES --&amp;gt; NO)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/SSH-7408/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Check what deleted files are still in use and why. [LOGG-2190]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/LOGG-2190/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add a legal banner to /etc/issue, to warn unauthorized users [BANN-7126]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BANN-7126/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Add legal banner to /etc/issue.net, to warn unauthorized users [BANN-7130]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/BANN-7130/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable process accounting [ACCT-9622]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9622/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable sysstat to collect accounting (no results) [ACCT-9626]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9626/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Enable auditd to collect audit information [ACCT-9628]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/ACCT-9628/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Determine if automation tools are present for system management [TOOL-5002]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/TOOL-5002/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * One or more sysctl values differ from the scan profile and could be tweaked [KRNL-6000]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Solution : Change sysctl value or disable test (skip-test=KRNL-6000:&lt;sysctl-key&gt;)&lt;/sysctl-key&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/KRNL-6000/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Harden compilers like restricting access to root user only [HRDN-7222]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/HRDN-7222/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; * Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; - Solution : Install a tool like rkhunter, chkrootkit, OSSEC&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; https://cisofy.com/lynis/controls/HRDN-7230/&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Follow-up:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; ----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Show details of a test (lynis show details TEST-ID)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Check the logfile for all details (less /var/log/lynis.log)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Read security controls texts (https://cisofy.com)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Use --upload to upload data to central system (Lynis Enterprise users)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis security scan details:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;b&gt;&amp;nbsp; Hardening index : 70 [##############&amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Tests performed : 226&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Plugins enabled : 0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Components:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Firewall&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Malware scanner&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [X]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis modules:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Compliance status&amp;nbsp; &amp;nbsp; &amp;nbsp; [?]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Security audit&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Vulnerability scan&amp;nbsp; &amp;nbsp; &amp;nbsp;[V]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Files:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Test and debug information&amp;nbsp; &amp;nbsp; &amp;nbsp; : /var/log/lynis.log&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; - Report data&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: /var/log/lynis-report.dat&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Lynis 2.7.5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Auditing, system hardening, and compliance for UNIX-based systems&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; (Linux, macOS, BSD, and others)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; 2007-2019, CISOfy - https://cisofy.com/lynis/&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; Enterprise support available (compliance, plugins, interface and tools)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;================================================================================&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&amp;nbsp; [TIP]: Enhance Lynis audits by adding your settings to custom.prf (see /etc/lynis/default.prf for all settings)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
One of the more popular Linux distributions being used is Alpine Linux. Let's run one last test on this distribution. At the moment Alpine Linux is not available in Azure marketplace. Install Alpine Linux v3.10.2 locally on Oracle Virtual Box and run Lynis tool on it. The report is for Alpine Linux is below with the vulnerabilities marked in &lt;b&gt;bold&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;# Lynis Report&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;report_version_major=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;report_version_minor=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;report_datetime_start=2019-08-22 12:00:49&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;auditor=[Not Specified]&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;lynis_version=2.7.5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os=Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os_name=Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os_fullname=Linux 4.19.67-0-virt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os_version=4.19.67-0-virt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;linux_version=&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os_kernel_version=4.19.67&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;os_kernel_version_full=4.19.67-0-virt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;hostname=alpine-vm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;test_category=all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;test_group=all&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;plugin_directory=/usr/local/lynis/plugins&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;lynis_update_available=-1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;binaries_count=450&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;binary_paths=/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;vm=2&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;container=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;systemd=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;plugins_enabled=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;hostid=1f160923357b2308cc429fae4f6f3afd66120941&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;hostid2=1bdf03c6999546b96583ecf72515aee796d4e9838eead4d149cb282aa1daff7e&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;uptime_in_seconds=169&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;uptime_in_days=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;boot_loader=unknown&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;boot_uefi_booted=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;boot_uefi_booted_secure=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;service_manager=busybox&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;cpu_pae=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;cpu_nx=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;linux_kernel_release=4.19.67-0-virt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;linux_kernel_version=#1-Alpine SMP Mon Aug 19 10:05:34 UTC 2019&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;linux_kernel_type=modular&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ac&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=aes_x86_64&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=aesni_intel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=af_packet&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ata_generic&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=battery&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=button&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=cdrom&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=cfbcopyarea&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=cfbfillrect&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=cfbimgblt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=crc16&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=crc32_pclmul&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=crc32c_intel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=crct10dif_pclmul&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=cryptd&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=crypto_simd&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=drm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=drm_kms_helper&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=drm_panel_orientation_quirks&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=e1000&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ehci_hcd&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ehci_pci&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=evdev&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ext4&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=fb&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=fb_sys_fops&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=fbdev&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=font&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ghash_clmulni_intel&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=glue_helper&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=hid&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=hid_generic&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=i2c_core&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=i2c_piix4&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ipv6&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=jbd2&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=loop&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=mbcache&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=mousedev&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ohci_hcd&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ohci_pci&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=pcbc&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=psmouse&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=sd_mod&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=sr_mod&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=syscopyarea&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=sysfillrect&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=sysimgblt&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=ttm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=usb_common&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=usb_storage&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=usbcore&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=usbhid&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;loaded_kernel_module[]=vmwgfx&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=KRNL-5830:3|Could not find our running kernel on disk, which is unexpected|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;memory_size=1015980&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;memory_units=kB&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;auth_group_ids_unique=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;auth_group_names_unique=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;real_user[]=root,0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;real_user[]=admin,1234&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=AUTH-9262|Install a PAM module for password strength testing like pam_cracklib or pam_passwdqc|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;warning[]=AUTH-9308|No password set for single mode|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=AUTH-9308|Set password for single user mode to minimize physical access attack surface|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=AUTH-9328|Default umask in /etc/profile or /etc/profile.d/custom.sh could be more strict (e.g. 027)|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;manual_event[]=AUTH-9328:03&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;auth_failed_logins_logged=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ldap_auth_enabled=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ldap_pam_enabled=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;password_min_days=-1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;password_max_days=-1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;available_shell[]=/bin/sh&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;available_shell[]=/bin/ash&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;session_timeout_enabled=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=FILE-6310|To decrease the impact of a full /home file system, place /home on a separate partition|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=FILE-6310|To decrease the impact of a full /tmp file system, place /tmp on a separate partition|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=FILE-6310|To decrease the impact of a full /var file system, place /var on a separate partition|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;swap_partition[]=UUID=0d548975-79df-430d-b61c-648f5460e997,UUID=0d548975-79df-430d-b61c-648f5460e997,&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=STRG-1840|Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;usb_authorized_default_device[]=/sys/bus/usb/devices/usb1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;domainname=my.domain&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;localhost-mapped-to=::1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;name_cache_used=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=PKGS-7398|Install a package audit tool to determine vulnerable packages|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;installed_kernel_packages=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;unattended_upgrade_option_available=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ipv6_mode=auto&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ipv6_only=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;nameserver[]=192.168.1.1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;default_gateway[]=10.0.2.2&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_interface[]=lo&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_interface[]=eth0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_mac_address[]=08:00:27:60:44:C5&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_ipv4_address[]=10.0.2.15&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_ipv4_address[]=127.0.0.1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_ipv6_address[]=fe80::a00:27ff:fe60:44c5/64&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_ipv6_address[]=::1/128&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_listen_port[]=127.0.0.1:323|udp|chronyd|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_listen_port[]=::1:323|udp|chronyd|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_listen_port[]=0.0.0.0:22|tcp|sshd|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;network_listen_port[]=:::22|tcp|sshd|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=NETW-3032|Consider running ARP monitoring software (arpwatch,arpon)|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;imap_daemon=&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;pop3_daemon=&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;smtp_daemon=&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=FIRE-4590|Configure a firewall/packet filter to filter incoming and outgoing traffic|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;ssh_daemon_running=0&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;warning[]=LOGG-2138|klogd is not running, which could lead to missing kernel messages in log files|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;log_directory[]=/var/log&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;log_rotation_config_found=1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;log_rotation_tool=logrotate&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;exception_event[]=PackageIsInstalled:01||&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=BANN-7126|Add a legal banner to /etc/issue, to warn unauthorized users|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;weak_banner_file[]=/etc/issue&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;crond_running=1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;scheduler[]=crond&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=ACCT-9622|Enable process accounting|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=ACCT-9626|Enable sysstat to collect accounting (no results)|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=ACCT-9628|Enable auditd to collect audit information|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;linux_auditd_running=0&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;audit_daemon_running=0&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=TIME-3104|Use NTP daemon or NTP client to prevent time issues.|-|-|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;tz_variable_empty=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_config_found=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_config_type_daemon=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_config_type_eventbased=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_config_type_scheduled=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_config_type_startup=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_daemon=&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;ntp_daemon_running=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;certificate[]=/etc/ssl/cert.pem|0|cn:subject=CN = ACCVRAIZ1, OU = PKIACCV, O = ACCV, C = ES;notafter:Dec 31 09:37:37 2030 GMT;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;certificate[]=/etc/ssl/certs/ca-certificates.crt|0|cn:subject=CN = ACCVRAIZ1, OU = PKIACCV, O = ACCV, C = ES;notafter:Dec 31 09:37:37 2030 GMT;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;certificates=2&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;framework_grsecurity=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;framework_selinux=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=FINT-4350|Install a file integrity tool to monitor changes to critical and sensitive files|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;suggestion[]=TOOL-5002|Determine if automation tools are present for system management|-|-|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;automation_tool_present=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;malware_scanner_installed=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/bin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/home/admin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/root&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/sbin&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/var/empty&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/var/log/chrony&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;home_directory[]=/var/spool/cron&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:No description;field:kernel.core_uses_pid;prefval:1;value:0;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Restrict use of dmesg;field:kernel.dmesg_restrict;prefval:1;value:0;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Restrict access to kernel symbols;field:kernel.kptr_restrict;prefval:2;value:0;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Disable magic SysRQ;field:kernel.sysrq;prefval:0;value:1;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Log all packages for which the host does not have a path back to the source;field:net.ipv4.conf.all.log_martians;prefval:1;value:0;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Disable/Ignore ICMP routing redirects;field:net.ipv4.conf.all.send_redirects;prefval:0;value:1;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Disable/Ignore ICMP routing redirects;field:net.ipv4.conf.default.accept_redirects;prefval:0;value:1;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Disable IP source routing;field:net.ipv4.conf.default.accept_source_route;prefval:0;value:1;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Log all packages for which the host does not have a path back to the source;field:net.ipv4.conf.default.log_martians;prefval:1;value:0;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;details[]=KRNL-6000|sysctl|desc:Disable/Ignore ICMP routing redirects;field:net.ipv6.conf.default.accept_redirects;prefval:0;value:1;|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=KRNL-6000|One or more sysctl values differ from the scan profile and could be tweaked||Change sysctl value or disable test (skip-test=KRNL-6000:&lt;sysctl-key&gt;)|&lt;/sysctl-key&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;suggestion[]=HRDN-7230|Harden the system by installing at least one malware scanner, to perform periodic file system scans|-|Install a tool like rkhunter, chkrootkit, OSSEC|&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;compiler_installed=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;lynis_tests_done=189&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;report_datetime_end=2019-08-22 12:00:52&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;dhcp_client_running=1&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;arpwatch_running=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;firewall_active=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;firewall_empty_ruleset=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;firewall_installed=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;package_audit_tool=&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;package_audit_tool_found=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;vulnerable_packages_found=0&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;b&gt;hardening_index=61&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;tests_executed=HRDN-7230|HRDN-7222|HRDN-7220|KRNL-6000|HOME-9350|HOME-9310|HOME-9302|FILE-7524|MALW-3284|MALW-3282|MALW-3280|MALW-3278|MALW-3276|MALW-3275|TOOL-5190|TOOL-5126|TOOL-5122|TOOL-5120|TOOL-5102|TOOL-5002|FINT-4350|FINT-4338|FINT-4330|FINT-4328|FINT-4326|FINT-4322|FINT-4318|FINT-4314|FINT-4310|MACF-6290|RBAC-6272|MACF-6240|MACF-6232|MACF-6204|CONT-8102|CRYP-7902|TIME-3170|TIME-3148|TIME-3104|ACCT-9636|ACCT-9628|ACCT-9626|ACCT-9622|SCHD-7718|SCHD-7704|SCHD-7702|BANN-7128|BANN-7126|BANN-7124|INSE-8322|INSE-8310|INSE-8342|INSE-8300|INSE-8102|INSE-8100|INSE-8000|LOGG-2192|LOGG-2190|LOGG-2180|LOGG-2170|LOGG-2154|LOGG-2146|LOGG-2142|LOGG-2138|LOGG-2240|LOGG-2230|LOGG-2210|LOGG-2136|LOGG-2132|LOGG-2130|SQD-3602|PHP-2211|LDAP-2219|DBS-1880|DBS-1860|DBS-1840|DBS-1826|DBS-1820|DBS-1818|DBS-1804|SNMP-3302|SSH-7402|HTTP-6702|HTTP-6622|FIRE-4594|FIRE-4590|FIRE-4524|FIRE-4502|MAIL-8880|MAIL-8860|MAIL-8838|MAIL-8820|MAIL-8814|MAIL-8802|PRNT-2314|PRNT-2304|NETW-3032|NETW-3030|NETW-3028|NETW-3015|NETW-3012|NETW-3008|NETW-3006|NETW-3004|NETW-3001|NETW-2705|NETW-2704|NETW-2600|PKGS-7420|PKGS-7410|PKGS-7398|NAME-4408|NAME-4406|NAME-4404|NAME-4402|NAME-4304|NAME-4230|NAME-4202|NAME-4034|NAME-4032|NAME-4028|NAME-4020|NAME-4018|NAME-4016|STRG-1920|STRG-1846|USB-3000|STRG-1842|STRG-1840|FILE-6430|FILE-6376|FILE-6374|FILE-6372|FILE-6368|FILE-6363|FILE-6362|FILE-6354|FILE-6344|FILE-6336|FILE-6332|FILE-6329|FILE-6324|FILE-6323|FILE-6310|SHLL-6230|SHLL-6220|SHLL-6211|AUTH-9402|AUTH-9328|AUTH-9308|AUTH-9288|AUTH-9283|AUTH-9282|AUTH-9278|AUTH-9268|AUTH-9266|AUTH-9264|AUTH-9262|AUTH-9250|AUTH-9242|AUTH-9240|AUTH-9234|AUTH-9226|AUTH-9222|AUTH-9208|AUTH-9204|PROC-3614|PROC-3612|PROC-3602|KRNL-5830|KRNL-5820|KRNL-5728|KRNL-5726|KRNL-5723|KRNL-5695|KRNL-5677|KRNL-5622|BOOT-5260|BOOT-5202|BOOT-5184|BOOT-5177|BOOT-5155|BOOT-5142|BOOT-5139|BOOT-5121|BOOT-5116|BOOT-5108|BOOT-5104|CORE-1000|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;tests_skipped=MALW-3288|MALW-3286|TOOL-5104|FINT-4402|FINT-4336|FINT-4334|FINT-4315|MACF-6242|MACF-6234|MACF-6208|CONT-8108|CONT-8107|CONT-8106|CONT-8104|CONT-8004|TIME-3160|TIME-3136|TIME-3132|TIME-3128|TIME-3124|TIME-3120|TIME-3116|TIME-3112|TIME-3106|ACCT-9662|ACCT-9660|ACCT-9656|ACCT-9654|ACCT-9652|ACCT-9650|ACCT-9634|ACCT-9632|ACCT-9630|ACCT-2760|ACCT-2754|SCHD-7724|SCHD-7720|BANN-7130|BANN-7113|INSE-8050|INSE-8200|INSE-8116|INSE-8106|INSE-8104|INSE-8016|INSE-8006|INSE-8004|INSE-8002|LOGG-2164|LOGG-2162|LOGG-2160|LOGG-2152|LOGG-2150|LOGG-2148|LOGG-2134|SQD-3680|SQD-3630|SQD-3624|SQD-3620|SQD-3616|SQD-3614|SQD-3613|SQD-3610|SQD-3606|SQD-3604|PHP-2378|PHP-2376|PHP-2374|PHP-2372|PHP-2368|PHP-2320|LDAP-2224|DBS-1888|DBS-1886|DBS-1884|DBS-1882|DBS-1816|SNMP-3306|SNMP-3304|SSH-7440|SSH-7408|SSH-7406|SSH-7404|HTTP-6720|HTTP-6716|HTTP-6714|HTTP-6712|HTTP-6710|HTTP-6708|HTTP-6706|HTTP-6704|HTTP-6643|HTTP-6641|HTTP-6640|HTTP-6632|HTTP-6626|HTTP-6624|FIRE-4586|FIRE-4540|FIRE-4538|FIRE-4536|FIRE-4534|FIRE-4532|FIRE-4530|FIRE-4526|FIRE-4520|FIRE-4518|FIRE-4513|FIRE-4512|FIRE-4508|MAIL-8920|MAIL-8818|MAIL-8817|MAIL-8816|MAIL-8803|PRNT-2420|PRNT-2418|PRNT-2316|PRNT-2308|PRNT-2307|PRNT-2306|PRNT-2302|NETW-3014|PKGS-7394|PKGS-7393|PKGS-7392|PKGS-7390|PKGS-7388|PKGS-7387|PKGS-7386|PKGS-7384|PKGS-7383|PKGS-7382|PKGS-7381|PKGS-7380|PKGS-7378|PKGS-7370|PKGS-7366|PKGS-7354|PKGS-7352|PKGS-7350|PKGS-7348|PKGS-7346|PKGS-7345|PKGS-7334|PKGS-7332|PKGS-7330|PKGS-7328|PKGS-7322|PKGS-7320|PKGS-7314|PKGS-7312|PKGS-7310|PKGS-7308|PKGS-7306|PKGS-7304|PKGS-7303|PKGS-7302|PKGS-7301|NAME-4306|NAME-4238|NAME-4236|NAME-4232|NAME-4210|NAME-4206|NAME-4204|NAME-4036|NAME-4026|NAME-4024|STRG-1930|STRG-1928|STRG-1926|STRG-1906|STRG-1904|STRG-1902|FILE-6410|FILE-6439|FILE-6330|FILE-6312|FILE-6311|SHLL-6202|AUTH-9410|AUTH-9409|AUTH-9408|AUTH-9406|AUTH-9340|AUTH-9306|AUTH-9304|AUTH-9286|AUTH-9254|AUTH-9252|AUTH-9228|AUTH-9489|AUTH-9218|AUTH-9216|AUTH-9212|PROC-3604|KRNL-5788|KRNL-5770|KRNL-5831|KRNL-5745|KRNL-5730|BOOT-5263|BOOT-5262|BOOT-5180|BOOT-5165|BOOT-5159|BOOT-5126|BOOT-5261|BOOT-5124|BOOT-5122|BOOT-5117|BOOT-5106|BOOT-5102|&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;finish=true&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="color: purple; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;As is evident from the two Lynis reports above, the CIS hardened Ubuntu 18.04 image has a higher score (&lt;span style="color: blue;"&gt;70&lt;/span&gt;) than the Canonical Ubuntu 18.04 score (&lt;span style="color: red;"&gt;63&lt;/span&gt;) and Alpine Linux score (&lt;span style="color: purple;"&gt;61&lt;/span&gt;).&lt;br /&gt;
&lt;br /&gt;
Depending on the scenario, a normal or a hardened Linux image could be used in a VM. You could perform the hardening of Linux by yourself or use a hardened image. However, the cost angle comes into play. The hardened images usually come at an additional cost.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
Some of the scenarios where such audit tools could be used are -&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;As part of software development process when new infrastructure is setup&lt;/li&gt;
&lt;li&gt;Help site reliability engineers ensure that any patches/upgrades made to an existing application/VM do not add new vulnerabilities&lt;/li&gt;
&lt;li&gt;Use them as a quality gate in CI/CD process of infrastructure as code&lt;/li&gt;
&lt;li&gt;Verify new VM's in blue-green deployments when new VM's are swapped-in for the older ones&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Of course, Lynis audit results are not the only criteria for choosing a Linux distribution. Other factors such as risk vs effort/cost trade-off, compatibility with the application, performance etc. also need to be taken into account before taking a decision.&lt;br /&gt;
&lt;br /&gt;
Either way, it's a good idea to run a tool like Lynis (or something similar) to audit the VM's in the cloud (or on-premise). Based on the output from the tool and the non-functional requirements, one can tweak the configuration of the VM and/or Azure.&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/1991414959996456477/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/08/azure-chronicles-vm-security.html#comment-form" rel="replies" title="2 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1991414959996456477" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1991414959996456477" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/08/azure-chronicles-vm-security.html" rel="alternate" title="Azure Chronicles - VM Security" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>2</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6630945390777094651</id><published>2019-03-26T15:26:00.002+05:30</published><updated>2019-03-31T11:41:18.520+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Cloudera Quick Start VM in Hyper-V</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h3 style="text-align: justify;"&gt;
Overview&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
Marc Andreessen penned his now famous essay, “&lt;a href="https://www.wsj.com/articles/SB10001424053111903480904576512250915629460" target="_blank"&gt;Why Software Is Eating the World&lt;/a&gt;” in Wall Street Journal in 2011. However, if we dig under the covers, it's really virtualization that is powering this phenomenon. Today, literally every hardware component such as - processor, memory, network, storage, network load-balancer, network router and switch, firewall are virtualized. In fact, even a user is now "virtualized" especially in scenarios such as load testing and synthetic monitoring. Finally, as a concept, money is also virtualized in the form of crypto-currencies.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
In this post, let's go through how we can implement virtualization in a local machine and get better understanding of the concepts of virtualization.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Virtualization&amp;nbsp;&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="text-align: left;"&gt;One key aspect, driver and benefit of virtualization is sharing of the physical resources.&amp;nbsp;&lt;/span&gt;Before we dive in, let's define some concepts.&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Host Machine - This can be a server rack, single server or a desktop/laptop. In our case, it is a laptop. Typically, virtualization has to be configured in the hardware BIOS.&lt;/li&gt;
&lt;li&gt;Host Resources - These are the "physical" resources in the host machine such as cpu, memory, network cards, disk, display. peripheral devices.&lt;/li&gt;
&lt;li&gt;Host OS - The operating system of the host machine. In addition, virtualization software/drivers need to be installed int he Host OS too.&lt;/li&gt;
&lt;li&gt;Guest VM - This is the "virtual machine" that will be created. So, one could create multiple VM's in a single physical machine.&lt;/li&gt;
&lt;li&gt;Guest Resources - Each guest VM can have it's own set of resources. For example, it is possible to create a VM without a display attached to it.&lt;/li&gt;
&lt;li&gt;Guest OS - In each VM, one can have different operating systems and applications.&lt;/li&gt;
&lt;li&gt;Hypervisor - Type 1 or Type 2&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h4 style="text-align: left;"&gt;
Hypervisor&lt;/h4&gt;
The key construct of virtualization is a hypervisor. Hypervisor is the component that allocates and manages the various physical resources among the virtual machines. There are broadly two types of hypervisors - Type 1 and Type 2.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7v60halwj6n2Ut-fzF1ENiImpXvmtPNRgGj_Ni2g2eb5q3Rh1R8cbajKFCx-nHHV9IBJT3GBLG0KpDgLbMWRzv7-qkGSr9J1yxVrNi3MyAuaS6agge4yD8L6HP50G_p5U_97wnml2zel/s1600/hypervisors.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="231" data-original-width="575" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7v60halwj6n2Ut-fzF1ENiImpXvmtPNRgGj_Ni2g2eb5q3Rh1R8cbajKFCx-nHHV9IBJT3GBLG0KpDgLbMWRzv7-qkGSr9J1yxVrNi3MyAuaS6agge4yD8L6HP50G_p5U_97wnml2zel/s640/hypervisors.gif" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Image Source: &lt;a href="https://developer.ibm.com/articles/cl-hypervisorcompare/" target="_blank"&gt;IBM&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
As seen in the figure above, Type 1 hypervisors (Hyper-V, VMWare ESX etc.) are more closely integrated with the host OS. Type 2 hypervisors (Oracle Virtual Box, VMWare Player etc.) run as an "application" on to of the Host OS. For running applications in "live" environment, Type 1 is typically used. Type 2 is more used in the "development" environment. However, now with Hyper-V from Microsoft, it is now possible to have a Type 1 hypervisor that can be used in a Windows desktop/laptop.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: left;"&gt;
Exercise&lt;/h3&gt;
&lt;div&gt;
&lt;span style="text-align: justify;"&gt;In this example, the following are going to be used -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Host Machine - Dell Inspiron 15 7000 Gaming laptop.&lt;/li&gt;
&lt;li&gt;Host Resources - The laptop has 8 logical cores (i7 Processor). 16 GB RAM, 1 TB Hard Disk and 1 Network Card.&lt;/li&gt;
&lt;li&gt;Host OS - Windows 10 Professional.&lt;/li&gt;
&lt;li&gt;Guest VM - 1 Guest VM.&lt;/li&gt;
&lt;li&gt;Guest Resources - Guest VM has 4 cores, 10 GB RAM and virtual hard disk assigned to it.&lt;/li&gt;
&lt;li&gt;Guest OS - Cent OS 6.&lt;/li&gt;
&lt;li&gt;Hypervisor - Type 1 (Windows Hyper V)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style="text-align: justify;"&gt;
Prerequisites&lt;/h4&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Ensure that the virtualization is enabled in the desktop/laptop BIOS.&lt;/li&gt;
&lt;li&gt;Open the "Windows Features" option under "Control Panel". Enable Hyper-V option as shown below. Restart the desktop/laptop.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqR0_Q8L9fVLcwMMRNZJaPSajMRhWEtnl2yrYKtDiDvda8IecDD2ffQiK7IWvX5Ggd1c-LnP1Wt0SQtW-O22esj0hPLG8OBZG-IPWTRenQDHvQqm6QVH6e4kDysrYpG1o1YURUtjnCmODK/s1600/hyperv.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="615" data-original-width="694" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqR0_Q8L9fVLcwMMRNZJaPSajMRhWEtnl2yrYKtDiDvda8IecDD2ffQiK7IWvX5Ggd1c-LnP1Wt0SQtW-O22esj0hPLG8OBZG-IPWTRenQDHvQqm6QVH6e4kDysrYpG1o1YURUtjnCmODK/s320/hyperv.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style="text-align: justify;"&gt;
Setup&lt;/h4&gt;
&lt;span style="text-align: justify;"&gt;In this example, let's deliberately&amp;nbsp;&lt;/span&gt;&lt;span style="text-align: justify;"&gt;take a complex use case. We need a big data framework to be setup. Let's look at Cloudera distribution. Cloudera internally consists of various software components such as HDFS, HBase, Impala, Solr, Spark etc. It is possible to setup these components separately, but it is time consuming and error prone. Here comes virtualization to the rescue!&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The steps are -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Download the VMWare image of &lt;a href="https://www.cloudera.com/downloads/quickstart_vms/5-13.html" target="_blank"&gt;Cloudera Quick VM&lt;/a&gt;. Copy it to a folder say "D:\Temp".&lt;/li&gt;
&lt;li&gt;Install &lt;a href="https://www.virtualbox.org/wiki/Downloads" target="_blank"&gt;Oracle Virtual Box&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open the Virtual Box folder in Command Prompt. Run this command to convert the image from VMWare to Hyper-V format -&amp;nbsp;&lt;b&gt;vboxmanage clonehd “D:\Temp\cloudera-quickstart-vm-5.13.0-0-vmware\cloudera-quickstart-vm-5.13.0-0-vmware.vmdk” “D:\Temp\cloudera-quickstart-vm-5.13.0-0-vmware.vhd" --format vhd&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Open the Hyper-V Manager and create a new VM. Create a new external virtual switch and call it 'External Switch'.&lt;/li&gt;
&lt;li&gt;Create a new VM with following settings -&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Generation 1 VM&amp;nbsp;&lt;/li&gt;
&lt;li&gt;4 Cores&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Min 8 GB, Max - 10 GB RAM (with dynamic allocation)&lt;/li&gt;
&lt;li&gt;Instead of creating a new virtual hard disk, assign the virtual hard disk created above&lt;/li&gt;
&lt;li&gt;Assign the 'External Switch'&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Start the VM.&lt;/li&gt;
&lt;li&gt;The user id and password for the VM and all services is cloudera/cloudera.&lt;/li&gt;
&lt;li&gt;Depending on the amount of CPU and memory assigned to the VM, allow the various Cloudera services to start. It may take anywhere from 3-5 minutes.&lt;/li&gt;
&lt;li&gt;Once all the services are up, the Cloudera instance can be used by connecting to the VM.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style="text-align: left;"&gt;
Tests&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
You can also get the IP address of the VM and open &lt;b&gt;http://[VM IP Address]:7180 &lt;/b&gt;in the host machine browser to access Cloudera Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3AQGj1DvOa1b6AIYrNGbrd9k1-HOMLuUeJ81XXJJhk6H_BqePUIg2QmHnyDY5-pyMz28iu4kPJQ4NIpuetb1VssoqPJGJhQWHj39KS5LSaP3PSE5plrwZ0Lk7h0iyofjdCTRewgc0HtpF/s1600/cloudera.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="802" data-original-width="1600" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3AQGj1DvOa1b6AIYrNGbrd9k1-HOMLuUeJ81XXJJhk6H_BqePUIg2QmHnyDY5-pyMz28iu4kPJQ4NIpuetb1VssoqPJGJhQWHj39KS5LSaP3PSE5plrwZ0Lk7h0iyofjdCTRewgc0HtpF/s640/cloudera.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
This is a big data framework after all. Let's now see if we can ingest some sample data.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Open Hue from&amp;nbsp;&lt;b style="text-align: left;"&gt;http://[VM IP Address]:8888&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: left;"&gt;User ID/password is cloudera/cloudera.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: left;"&gt;Using Hue, one can create table in Impala by running this command - &lt;b&gt;CREATE TABLE default.t1 (x INT, y STRING);&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: left;"&gt;Next step is to insert multiple rows using - &lt;b&gt;INSERT INTO default.t1 VALUES (1, 'one'), (2, 'two'), (3, 'three');&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: left;"&gt;Finally, query the table using - &lt;b&gt;SELECT * FROM default.t1;&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwtqGn1jcY_YwTqrWv6a6BpJ4LxRljKIM-r3HSbb778VOEwIJgt5MNx23ZTXQ4mJPrtkHZxp4FZfqgSofwp-19W17J1gmhLkODtPuKLFF2P7QJr_JToum0dNoM165zB51U0V45EhIQklJw/s1600/hue.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="607" data-original-width="1600" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwtqGn1jcY_YwTqrWv6a6BpJ4LxRljKIM-r3HSbb778VOEwIJgt5MNx23ZTXQ4mJPrtkHZxp4FZfqgSofwp-19W17J1gmhLkODtPuKLFF2P7QJr_JToum0dNoM165zB51U0V45EhIQklJw/s640/hue.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Benefits&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
From a development perspective, here are the advantages of virtualization -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;It saves the time of having to setup multiple components for a complex software.&lt;/li&gt;
&lt;li&gt;A VM can be setup in minutes to run any kind of application&lt;/li&gt;
&lt;li&gt;If, for some reason, the VM is corrupted, it can always be re-installed.&lt;/li&gt;
&lt;li&gt;Each developer in the team can have their own full fledged Cloudera instance for developing, testing, troubleshooting etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/6630945390777094651/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/03/cloudera-quick-start-vm-in-hyper-v.html#comment-form" rel="replies" title="3 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6630945390777094651" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6630945390777094651" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/03/cloudera-quick-start-vm-in-hyper-v.html" rel="alternate" title="Cloudera Quick Start VM in Hyper-V" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7v60halwj6n2Ut-fzF1ENiImpXvmtPNRgGj_Ni2g2eb5q3Rh1R8cbajKFCx-nHHV9IBJT3GBLG0KpDgLbMWRzv7-qkGSr9J1yxVrNi3MyAuaS6agge4yD8L6HP50G_p5U_97wnml2zel/s72-c/hypervisors.gif" width="72"/><thr:total>3</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-3163186507909122726</id><published>2019-02-17T15:05:00.000+05:30</published><updated>2019-08-26T17:13:13.599+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Azure Chronicles - Scaling Mule</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;h3&gt;
Overview&lt;/h3&gt;
In the previous &lt;a href="https://www.rajansview.com/2019/02/azure-chronicles-mule.html" target="_blank"&gt;post&lt;/a&gt;, we saw how to install and test Mule run time on a standalone VM in Azure. In this post, we will take it a step further to scale out the Mule run time.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
There are several ways one could scale a Mule runtime. They are -&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Anypoint Cloudhub&lt;/li&gt;
&lt;li&gt;Anypoint Runtime Fabric (internally uses Docker and Kubernetes at the moment)&lt;/li&gt;
&lt;li&gt;Container as a Service provided by multiple cloud vendors - Google Container Engine, Amazon Container Service, Azure Container Service etc.&lt;/li&gt;
&lt;li&gt;Build your own cluster with containers&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
As we go down the above list, the level of details we need to get into is more. So, this post will get into explain how to implement option 4 above.&lt;br /&gt;
&lt;br /&gt;
We will make use of various technologies and Azure components such as - Docker, Containers and Azure VM Scale Set to achieve it. For those of you are new to these concepts, we will go through each of the steps in detail.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Application&lt;/h3&gt;
Let's use the same Mule API that was created in the previous post. The code is available &lt;a href="https://github.com/mulesoft-samples/azure-mule-autoscale/blob/master/product-api/azure-product-api-39.zip" target="_blank"&gt;here&lt;/a&gt;. Import this application in Anypoint Studio 6.5 and test it locally.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Container&lt;/h3&gt;
Next, we need to 'package' this application in a container. As Docker is the prevalent tool in this area, let's use it. The container used in this example is built using this &lt;a href="https://github.com/mulesoft-samples/azure-mule-autoscale/blob/master/product-api/Dockerfile" target="_blank"&gt;Dockerfile&lt;/a&gt;. The Docker image created is available in &lt;a href="https://hub.docker.com/r/rajanm/muleruntime" target="_blank"&gt;Docker Hub&lt;/a&gt;. The image can be pulled from Docker Hub to a Docker host machine and tested locally.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Scheduler&lt;/h3&gt;
In this example, we just have one container. But, if we have a more complex example where multiple containers make up an application, then we need to use a Scheduler. Like Docker, the most popular scheduler is Kubernetes. Just like the containers are deployed to an auto scaling VM cluster, Kubernetes can also be deployed in the same way. Perhaps, in another post, we will cover this too.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Cloud&lt;/h3&gt;
Now, for the main part of this post. In this example, we are going to take it a step further and create an auto scaling cluster that can add/remove VM's based on the load on the application.&lt;br /&gt;
&lt;br /&gt;
Now, that we have the container ready, we need to deploy this container to the VM in an automated manner. Using Azure Custom Extensions, the container can be deployed. The&amp;nbsp; custom extension comprise of two files - a shell script that is executed for each VM and a configuration file. Both can be found &lt;a href="https://github.com/mulesoft-samples/azure-mule-autoscale/tree/master/custom-extension" target="_blank"&gt;here&lt;/a&gt;. The container is deployed to a VM whenever it is created for the first time.&lt;br /&gt;
&lt;br /&gt;
In addition, the VM Scale Set also has scale-out and scale in rules defined. If the CPU goes above 50%, an additional VM is added (and the container deployed). This is the scale-out rule. If the CPU goes below 30%, the VM is deleted. This is the scale-in rule.&lt;br /&gt;
&lt;br /&gt;
1. We initial start with a VM Scaled Set which has the minimum VM's set to 2 and maximum to 4. Initially, with little or no load, the 2 VM's are running (as our minimum is set to 2 for resilience). the minimum and maximum are configurable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio2lUUm8v2RP92ourrS9JH1d2yikG6zrJLKH07dcUbwgVDb4sxmMVkhOIx93tAmfm7bX9R2Qtj3gp8vPXuFGh4Zrqd0virlRzUxZj0oyKoelzehCs8uw-E_ZctrtvORoE2QR6aDAXYxhcG/s1600/1+-+initial+vm+set.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="535" data-original-width="1539" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio2lUUm8v2RP92ourrS9JH1d2yikG6zrJLKH07dcUbwgVDb4sxmMVkhOIx93tAmfm7bX9R2Qtj3gp8vPXuFGh4Zrqd0virlRzUxZj0oyKoelzehCs8uw-E_ZctrtvORoE2QR6aDAXYxhcG/s640/1+-+initial+vm+set.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
2. The CPU usage in both the VM's is negligible.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr5dw8EYJVUNByCBWkC5axiobjetSh935cSKXwSnB0gXdCjdQpHWIF2SJi3QUAaUOqS8Hk7gGXBBpjQf1nniFmDLdQ-JQoRUUpNma5WgYxEdMIRDH9yCLeYnGLepJZHCwW4FAEzWxuQtV8/s1600/2+-+initial+cpu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="701" data-original-width="1430" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr5dw8EYJVUNByCBWkC5axiobjetSh935cSKXwSnB0gXdCjdQpHWIF2SJi3QUAaUOqS8Hk7gGXBBpjQf1nniFmDLdQ-JQoRUUpNma5WgYxEdMIRDH9yCLeYnGLepJZHCwW4FAEzWxuQtV8/s640/2+-+initial+cpu.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
3. The load test used in the last post duplicated and modified to point to the public IP of the load balancer of the VM set. The load test results this time are much better. We will see in a moment, why.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia3_XTLT3FzDkpT7ybgujgT7UY7zrYbpIUVO0xy8m3GXMq3S_aS6OMWLWW3garCG5ywRcwoZaLB-KaFikLxsBZmiqmwNm9tFta3jxFGMkQu-tzC2yoqThqmjh8JGMMvic_1cUFK7Zj7s-k/s1600/3+-+load+test.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="608" data-original-width="1600" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia3_XTLT3FzDkpT7ybgujgT7UY7zrYbpIUVO0xy8m3GXMq3S_aS6OMWLWW3garCG5ywRcwoZaLB-KaFikLxsBZmiqmwNm9tFta3jxFGMkQu-tzC2yoqThqmjh8JGMMvic_1cUFK7Zj7s-k/s640/3+-+load+test.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
4. While the load test is running, the CPU in the VM's jumps to above 50%. In the portal, there is also an 'Updating' message which shows that the VM Scale Set is being updated.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo2UUUZ3PzE9uGE8HcpizB_ITWlQYiNW3FuvvcGpLkrTm_0JGQL0nikobcRYjkHgyEOljQGhlltMGGWGc7boIjkvSJ38DiZK1ONaykfrfcufFOBv41Q6eFHBYa-7ftFWsgwqHqtOfnxctP/s1600/3.5+-+cpu+usage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="732" data-original-width="1472" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo2UUUZ3PzE9uGE8HcpizB_ITWlQYiNW3FuvvcGpLkrTm_0JGQL0nikobcRYjkHgyEOljQGhlltMGGWGc7boIjkvSJ38DiZK1ONaykfrfcufFOBv41Q6eFHBYa-7ftFWsgwqHqtOfnxctP/s640/3.5+-+cpu+usage.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
5. When the instances tab is viewed, the additional VM's have been created. The Docker container have also been deployed automatically to these VM's.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7_jtUfLugTf59lwBpbb2JnSkilGQQQY5YUqDBGvPqdWsDb0935L9CGNmx_51WgLHwpVauaXLHvYAHlAAgxFOj8w7OIRb5o-HwW-nmeEKQqGOfVmroWDD8ZEeB8uAhS1v2BQmhzCAjZH4/s1600/4+-+addl+vms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="660" data-original-width="1428" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI7_jtUfLugTf59lwBpbb2JnSkilGQQQY5YUqDBGvPqdWsDb0935L9CGNmx_51WgLHwpVauaXLHvYAHlAAgxFOj8w7OIRb5o-HwW-nmeEKQqGOfVmroWDD8ZEeB8uAhS1v2BQmhzCAjZH4/s640/4+-+addl+vms.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
6. The additional VM's have also been added to the load balancer automatically. The incoming requests to the Mule API are now load balanced across 4 VM's.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEdT37OZSkOsyRsqg8wMs-mKVX0emIfe1C8zqPjY-2i1phSkL_nV7ycC5rA160-VoA4HKNEPVEkQ5QWuotqJ7hGv340XJ0l1IPJLsktwVtdIcDVrf4x6JXX8JiiisIS06rDyD-L6nZG096/s1600/4.5+-+updated+lb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="675" data-original-width="1538" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEdT37OZSkOsyRsqg8wMs-mKVX0emIfe1C8zqPjY-2i1phSkL_nV7ycC5rA160-VoA4HKNEPVEkQ5QWuotqJ7hGv340XJ0l1IPJLsktwVtdIcDVrf4x6JXX8JiiisIS06rDyD-L6nZG096/s640/4.5+-+updated+lb.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Once the load test ends, the CPU usage across all VM's comes down to the original state.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqMLGfXX3N7DV12e1D6AVbnoNKAbEtjq2SAm3TJ-Btk31sz4g2JvUzOOaXcdGPo7ZADT1MtQ1_dDf1vhknluj1Em4doWLpHJ51gC2sRtw6aFZx7RQdw9XN9Ii0lwOQdN9Y2h6D87Se3bd/s1600/5+-+cpu+down.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="682" data-original-width="1439" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLqMLGfXX3N7DV12e1D6AVbnoNKAbEtjq2SAm3TJ-Btk31sz4g2JvUzOOaXcdGPo7ZADT1MtQ1_dDf1vhknluj1Em4doWLpHJ51gC2sRtw6aFZx7RQdw9XN9Ii0lwOQdN9Y2h6D87Se3bd/s640/5+-+cpu+down.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
8. One by one, the newer VM's are also deleted completely.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJpOO_0oj6egxzZbosK05Yd0DX9exPGm6y5C5j5i3rfQ_gIBh-rbETUqm3jfT7K8ERmTYVAFnS91tln6iMsdnyzjxBBq3RAEJJD2yBsvu6oaAjhweVZs6msW2DGq-zOUWyMkBJfcuT6bMh/s1600/5.5+-+delete+vms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="678" data-original-width="1483" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJpOO_0oj6egxzZbosK05Yd0DX9exPGm6y5C5j5i3rfQ_gIBh-rbETUqm3jfT7K8ERmTYVAFnS91tln6iMsdnyzjxBBq3RAEJJD2yBsvu6oaAjhweVZs6msW2DGq-zOUWyMkBJfcuT6bMh/s640/5.5+-+delete+vms.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
9. The status of the deletions can also bee seen in the Azure Portal.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFYUHCkk36ytI224yV6A8Acz-B1zHep9CETi9BPdsC61WWWIBiLDcBBbImKtpXZ8B7sD-vZv7j0UufCRP3rPSyTRMRYgtVj0rhbttQj4-yuv5KkYLHIidhFxVToiAXrtsCZoKkQe2dKNi/s1600/6+-+delete+vms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="672" data-original-width="1439" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFYUHCkk36ytI224yV6A8Acz-B1zHep9CETi9BPdsC61WWWIBiLDcBBbImKtpXZ8B7sD-vZv7j0UufCRP3rPSyTRMRYgtVj0rhbttQj4-yuv5KkYLHIidhFxVToiAXrtsCZoKkQe2dKNi/s640/6+-+delete+vms.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
10. Finally, we are back to the original cluster size of 2 VM's.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidt87_fMmHVvOMunwgL-JgNCDDxyQ8yr_2k5L3KliWdPl8HJrJ_PgjvgVhP4zDfbuccgQ6L6bf04FUy1gLa3K49IXWFcnt8aVFc5ryOkM2Nr3u-Jzf9YQiy0KnbnZ3xqdLuwIqyuZDFDt1/s1600/7+-+orig+state.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="671" data-original-width="1400" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidt87_fMmHVvOMunwgL-JgNCDDxyQ8yr_2k5L3KliWdPl8HJrJ_PgjvgVhP4zDfbuccgQ6L6bf04FUy1gLa3K49IXWFcnt8aVFc5ryOkM2Nr3u-Jzf9YQiy0KnbnZ3xqdLuwIqyuZDFDt1/s640/7+-+orig+state.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
11. Once the test is over, we can also see the amount of CPU credits utilized. The below image&amp;nbsp;shows that more CPU credits were consumed only when the 2 additional VM's were created.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio69pEOw7zfnJJ5NrCqqzbWMVMl4f1KFEJ5xWZ8d5mWC12J1mlvb62bHjshDO_9m3YES8AU8IVTmc3s4oZBSPj99_7fIrXooZqn7p0WqhBXuaHjjQyUm0uyM4VsJ78zqeGtg3z9wy2xyA8/s1600/8+-+benefits.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="676" data-original-width="1533" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio69pEOw7zfnJJ5NrCqqzbWMVMl4f1KFEJ5xWZ8d5mWC12J1mlvb62bHjshDO_9m3YES8AU8IVTmc3s4oZBSPj99_7fIrXooZqn7p0WqhBXuaHjjQyUm0uyM4VsJ78zqeGtg3z9wy2xyA8/s640/8+-+benefits.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Summary&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Scaling out an application horizontally in the cloud helps when an application faces unexpected load. Generally speaking, this approach is more scalable than vertical scaling. Having said that, depending on the type of application, horizontally scalable applications come with their own challenges such as maintaining consistency and state across a cluster of VM's.&lt;/li&gt;
&lt;li&gt;As this example shows, the benefit of the elastic scalability is that money is spent only when needed. This ends up saving money, if we had a fixed VM capacity.&lt;/li&gt;
&lt;li&gt;The combination of Docker and VM Custom Extension is quite powerful as almost any kind of application (like web applications, databases, 3rd party software) can be deployed and scaled automatically.&lt;/li&gt;
&lt;li&gt;One could say that the auto scaling and orchestration using Docker Swarm or Kubernetes is faster and more powerful.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;However, if there are use cases such as a Python based web application, this approach might be simpler and equally beneficial because languages such as Python are available by default in most Linux distributions. Also, it saves the effort for a team of learning and supporting additional technologies.&lt;/li&gt;
&lt;li&gt;In this example here, the assumption is that this API will have an unpredictable or varying load on it. For this kind of use case, the 'burstable' B-series VM types are ideal. We get charged for the actual CPU utilization and not the vCPU's allocated in the VM. More details can be found &lt;a href="https://docs.microsoft.com/en-us/azure/virtual-machines/linux/b-series-burstable" target="_blank"&gt;here&lt;/a&gt;. So, the above VM Scale Set is using the B1ms VM type.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
Finally, it is quicker and cheaper to try out various application architectures and deployment models in the cloud. This example took a a day to build and test. And, it cost around 80 INR (roughly equivalent to 1.1 USD). And, that is roughly the same price as a McDonalds Chicken Kebab Burger in India!&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/3163186507909122726/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/02/azure-chronicles-scaling-mule.html#comment-form" rel="replies" title="1 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3163186507909122726" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3163186507909122726" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/02/azure-chronicles-scaling-mule.html" rel="alternate" title="Azure Chronicles - Scaling Mule" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio2lUUm8v2RP92ourrS9JH1d2yikG6zrJLKH07dcUbwgVDb4sxmMVkhOIx93tAmfm7bX9R2Qtj3gp8vPXuFGh4Zrqd0virlRzUxZj0oyKoelzehCs8uw-E_ZctrtvORoE2QR6aDAXYxhcG/s72-c/1+-+initial+vm+set.png" width="72"/><thr:total>1</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-1948577728592894450</id><published>2019-02-03T13:09:00.002+05:30</published><updated>2019-08-26T17:14:43.938+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Azure"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Azure Chronicles - Mule</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;h4 style="text-align: justify;"&gt;
Overview&lt;/h4&gt;
&lt;div style="text-align: justify;"&gt;
Continuing from the previous &lt;a href="https://www.rajansview.com/2018/11/adventures-with-raspberry-pi-part-4.html" target="_blank"&gt;post&lt;/a&gt;, I now move to the other end of the spectrum, from Raspberry Pi to the cloud. Microsoft Azure cloud has been making impressive strides in the cloud space, especially among the enterprises.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This is an experiment of running the same Mule run time in an Azure cloud server. The server is created in the East US Azure location.&lt;br /&gt;
&lt;br /&gt;
I created an A series server (Extra Small) in Azure using the ARM templates. An A series Extra Small server has 1 CPU core and 07.GB RAM. On this server, the Mule run time is on a JVM with 256 MB heap size.&lt;br /&gt;
&lt;br /&gt;
Then, I then ran some scripts to perform the following -&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Install Oracle JDK 8&lt;/li&gt;
&lt;li&gt;Configure the Mule run time (version 3.9)&lt;/li&gt;
&lt;li&gt;Deploy a simple REST based API in Mule&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="text-align: justify;"&gt;Objective&lt;/span&gt;&lt;/h4&gt;
&lt;div style="text-align: justify;"&gt;
The purpose of this experiment is to test how much load can a very simple REST API in Mule handle, while running on a very low specification server in Azure. I wanted to see how the Mule run time would perform from a performance perspective.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
A simple REST API is created using Anypoint Studio. The response of the REST API is dynamic based on the parameters passed to it. This ensures that the response doesn't get cached in any layer - server/network/client.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_Vx7GwXj5ThoBv1Pv7eJBougJX7Y-fI7TwesWPaDOkZk0wjXvB3thMMqrRs-p5-sQBl6TO0_SzOxBfZRsB-g9STX_bU2RJ90ON7NXzLdmE7UUjJd-GfXo_Tn7YGnvHc6CfiN_YnR3MSa/s1600/Mule+API.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_Vx7GwXj5ThoBv1Pv7eJBougJX7Y-fI7TwesWPaDOkZk0wjXvB3thMMqrRs-p5-sQBl6TO0_SzOxBfZRsB-g9STX_bU2RJ90ON7NXzLdmE7UUjJd-GfXo_Tn7YGnvHc6CfiN_YnR3MSa/s640/Mule+API.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Once the REST API is deployed in Mule run time in Azure, a sample request is tested from a browser. The JSON response is as below. This sample API is based on the sample RAML available at Mulesoft documentation site.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYlwwYvII1ilqmhadA64BBK9XaxU7WTACZJBCzms4NIld27AKSE1VE9Xtsq43L2Cl8o_JW2PQWyuBBd5R6vd3M7GENSY0ZH0Ck0DfbGDgtzcBqrhdHC6JT3fiS65mCkecO6oKSS92ILqN1/s1600/Mule+REST+API.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="613" data-original-width="1600" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYlwwYvII1ilqmhadA64BBK9XaxU7WTACZJBCzms4NIld27AKSE1VE9Xtsq43L2Cl8o_JW2PQWyuBBd5R6vd3M7GENSY0ZH0Ck0DfbGDgtzcBqrhdHC6JT3fiS65mCkecO6oKSS92ILqN1/s640/Mule+REST+API.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
As the REST API is publicly exposed, the load tests are setup in &lt;a href="https://www.blazemeter.com/" target="_blank"&gt;Blazemeter&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyHAe1eSh75atL5W9ejpOcJ9DYKRsSvB2HwMfu88Fb4J1b3Et6txJmNVOcRsSnS6tPZLCx3YtfwSCWdH0v2PtKsTFcDRat88eWHyd2e6A05VS7QQhTalAbtVnJXPAjLXJylXFGvCUlVGJr/s1600/Blazemeter+Test+Config.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="673" data-original-width="1600" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyHAe1eSh75atL5W9ejpOcJ9DYKRsSvB2HwMfu88Fb4J1b3Et6txJmNVOcRsSnS6tPZLCx3YtfwSCWdH0v2PtKsTFcDRat88eWHyd2e6A05VS7QQhTalAbtVnJXPAjLXJylXFGvCUlVGJr/s640/Blazemeter+Test+Config.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Before starting the load test from Blazemeter, the resource statistics on the server are normal. Press F5 in htop utility to view the processes in a tree structure.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC23zeweZIZQ5fWcxj1OyVKAVkfswPGYGuov6OBoecAo1BFLBovAlTrUeBCu_O2KcCaf-p2BnNgJCc_CAaAJyKMHaO1ZWufa116QM_S4w3IvrFmdlKbyaK1mmEfq1vuadpJwLzoEBLErT8/s1600/VM+Without+Tests.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="818" data-original-width="1600" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC23zeweZIZQ5fWcxj1OyVKAVkfswPGYGuov6OBoecAo1BFLBovAlTrUeBCu_O2KcCaf-p2BnNgJCc_CAaAJyKMHaO1ZWufa116QM_S4w3IvrFmdlKbyaK1mmEfq1vuadpJwLzoEBLErT8/s640/VM+Without+Tests.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Blazemeter tests are now kicked off and the test results are impressive. The 90 percentile response time is under 200 ms. For a "read" operation on a REST API, this response time is pretty good. The average throughput is also looking good at 170 hits/second. This test simulates 20 concurrent virtual users hitting the REST API endpoint. For an A0 server, this performance is not bad at all.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJzyf8m2m9L1UnpHrEnKWBN26Fvd5H6guH73b8cyhvvE-VPvgF-RL7o94UMeFNtDRGJdO69vEhZACO6RGggw2FfWTQgXcqPB7VjPquNMVxlCpNgCM41LEHTdXiPkSTbR-uL9W3tTAezH7w/s1600/Blazemeter+without+NewRelic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="675" data-original-width="1600" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJzyf8m2m9L1UnpHrEnKWBN26Fvd5H6guH73b8cyhvvE-VPvgF-RL7o94UMeFNtDRGJdO69vEhZACO6RGggw2FfWTQgXcqPB7VjPquNMVxlCpNgCM41LEHTdXiPkSTbR-uL9W3tTAezH7w/s640/Blazemeter+without+NewRelic.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
During the above test, the load on the CPU has spiked to 100%. The server stats can be viewed from the Azure Portal.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hd5ONDMhhNzNG2DdZJ8hBXyFWY1L__t_QlTSzlqPPf4IvFy8swI_lpx7tV7mya-TTL1od7HQ85ICaO75mEGbtDUkcR7QagKZ2U5G7F2d1gPjI_r-Y5eTuntvcCVDazFLtFWqaJomiGCN/s1600/Azure+Portal+During+Tests.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="553" data-original-width="1174" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3hd5ONDMhhNzNG2DdZJ8hBXyFWY1L__t_QlTSzlqPPf4IvFy8swI_lpx7tV7mya-TTL1od7HQ85ICaO75mEGbtDUkcR7QagKZ2U5G7F2d1gPjI_r-Y5eTuntvcCVDazFLtFWqaJomiGCN/s640/Azure+Portal+During+Tests.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now, I setup the New Relic agent on the server, restarted the Mule run time and re-ran the same test. The results are now starkly different. The 90 percentile response time has gone up by 5 times, to above 1 second. The average throughput has dropped by more than 50% to 71 hits/second.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheHafUMyxC7nRzCN1wtXwSbzHmaI43NDNKoDBJXVuGR1BdivC7Sfsh7KalwZ06rmq4-QEk6BDPTwBjkyUQ2P47k38VQJ2Bd8PMb2cXDvlA0W2Hr_4QcLE0XzZ4xE5QpRPXM5JB2UAUQ4yx/s1600/Blazemeter+with+NewRelic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="690" data-original-width="1600" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheHafUMyxC7nRzCN1wtXwSbzHmaI43NDNKoDBJXVuGR1BdivC7Sfsh7KalwZ06rmq4-QEk6BDPTwBjkyUQ2P47k38VQJ2Bd8PMb2cXDvlA0W2Hr_4QcLE0XzZ4xE5QpRPXM5JB2UAUQ4yx/s640/Blazemeter+with+NewRelic.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
While we can see the application statistics in New Relic, there is a warning as well. This is about a circuit breaker being triggered in the New Relic agent.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagqnGAIPLAgPXEN1LwfTYwQ-VL93GNIPjeMh6KT7zU8qq4Y74NmFv_SCLl_ukbG83wAScFlcYZXQn76m8Belt22CRLAkH8IAGeppjoFRlEG-lduRhtvANgCQ3FH3NL3k4oLPXCIpl87Vx/s1600/New+Relic+During+Tests.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="805" data-original-width="1327" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagqnGAIPLAgPXEN1LwfTYwQ-VL93GNIPjeMh6KT7zU8qq4Y74NmFv_SCLl_ukbG83wAScFlcYZXQn76m8Belt22CRLAkH8IAGeppjoFRlEG-lduRhtvANgCQ3FH3NL3k4oLPXCIpl87Vx/s640/New+Relic+During+Tests.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The circuit breaker gives more details that the JVM heap is under pressure.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyabJX-yvX0gj7e7AlNb36nTJ3GUFch95PcXcpvlEGY9oEy0kMJG274WuiHjcg9BRkLB9X6a9qG-7GMlzHcnne9E7TB1zAgF2ngg3_L_acXnPQGmaQ7FJ3IFpKXR1fcfTVAU4kfkh3lbHL/s1600/New+Relic+Circuit+Break+During+Tests.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="390" data-original-width="1333" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyabJX-yvX0gj7e7AlNb36nTJ3GUFch95PcXcpvlEGY9oEy0kMJG274WuiHjcg9BRkLB9X6a9qG-7GMlzHcnne9E7TB1zAgF2ngg3_L_acXnPQGmaQ7FJ3IFpKXR1fcfTVAU4kfkh3lbHL/s640/New+Relic+Circuit+Break+During+Tests.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h4 style="text-align: justify;"&gt;
Summary -&amp;nbsp;&lt;/h4&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;When running API's or websites in a production environment, there is usually a server cluster / farm that handles all requests. While a Mule run time can technically run on an A0 server, one should probably&amp;nbsp;use at least a Dv3 or a Ev3 VM type in Azure. For details on more Linux VM types, please refer &lt;a href="https://azure.microsoft.com/en-in/pricing/details/virtual-machines/linux/" target="_blank"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;New Relic agent has the "circuit breaker" pattern implemented, which is quite thoughtful and helpful.&lt;/li&gt;
&lt;li&gt;When sizing the memory for a JVM based application, keep in mind the additional CPU/Memory requirements for an agent such as New Relic.&lt;/li&gt;
&lt;li&gt;If the API's are publicly exposed, evaluate cloud based tools such as Blazemeter. Also, ensure that the cloud based tool and the server are in different clouds, to simulate traffic across the internet. For instance, here the server is in Azure while Blazemeter test runner is in AWS.&lt;/li&gt;
&lt;li&gt;Potentially, Blazemeter could be used not just for load testing of API's but also as a synthetic monitoring tool.&lt;/li&gt;
&lt;li&gt;Mule Community edition is a great way to explore the tool. From an enterprise perspective, as of now, multiple deployment options are available. They are - On Premise, Anypoint Cloudhub (SaaS) and Anypoint Runtime Fabric (PaaS).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/1948577728592894450/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/02/azure-chronicles-mule.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1948577728592894450" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/1948577728592894450" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2019/02/azure-chronicles-mule.html" rel="alternate" title="Azure Chronicles - Mule" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW_Vx7GwXj5ThoBv1Pv7eJBougJX7Y-fI7TwesWPaDOkZk0wjXvB3thMMqrRs-p5-sQBl6TO0_SzOxBfZRsB-g9STX_bU2RJ90ON7NXzLdmE7UUjJd-GfXo_Tn7YGnvHc6CfiN_YnR3MSa/s72-c/Mule+API.png" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-3405363124302160020</id><published>2018-11-03T17:49:00.001+05:30</published><updated>2018-11-15T15:40:11.296+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Adventures with Raspberry Pi - Part 4</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
As we saw in the previous &lt;a href="https://www.rajansview.com/2018/08/adventures-with-raspberry-pi-part-3.html" target="_blank"&gt;post&lt;/a&gt;, we now have Raspberry Pi server setup and integrated with multiple mobile devices successfully, let's try a more complex integration.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
API's have become the de-facto standard for communicating between devices. But, if we also wanted to implement any logic, data transformation, loose coupling between devices, then we could use an ESB. One can think of the Mule ESB as another form of IFTTT. We can use the multiple connectors to link&amp;nbsp; up different kinds of devices, services and applications.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Let's two kinds of integrations - event driven and batch.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="clear: both; text-align: justify;"&gt;
Event Driven&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
In this example, a service pushes data to the Raspberry Pi.&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_VgwR1v7tIBrJMCxXZFjuFi9WD7V07z8qLIBI_nuUmkX6b0OsJtp6DakJmizxNoUOYR2auCtRL9EYJkOqKeB2gujPOWmcAy7VX2RPVdZH4P71PIg1oGNrRlQBUmfXVpq8I2KnosPy7vIt/s1600/pi-diagram.jpeg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1129" data-original-width="1600" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_VgwR1v7tIBrJMCxXZFjuFi9WD7V07z8qLIBI_nuUmkX6b0OsJtp6DakJmizxNoUOYR2auCtRL9EYJkOqKeB2gujPOWmcAy7VX2RPVdZH4P71PIg1oGNrRlQBUmfXVpq8I2KnosPy7vIt/s640/pi-diagram.jpeg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Event Driven Flow&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
I am using Anypoint Studio 7 and Mule Runtime 4. A mockup product API is created in the Mule project. This API is exposed as a REST API with a GET operation. When someone calls the API, the Mule flow is executed. In the Mule flow, the data is read from the API and sent via SFTP to a target device.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div&gt;
In this case, the target device is a Raspberry Pi with SFTP server running on it. As part of the Mule flow, additionally logging and error handling are also implemented.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFR7hmrwduFsSiGR3F2i3I8m-OQslga1gr20Lv4ZWmHXjci33GUjJC7Z7hqNrQTEMyZPCKNVIHtu-WamJ-VSOcwpW6yOWSUwqBsiOtFGStMqQX3NEcTzI1TRHaodeZJfym6pKWj67ZNxl2/s1600/pi-product-mule.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFR7hmrwduFsSiGR3F2i3I8m-OQslga1gr20Lv4ZWmHXjci33GUjJC7Z7hqNrQTEMyZPCKNVIHtu-WamJ-VSOcwpW6yOWSUwqBsiOtFGStMqQX3NEcTzI1TRHaodeZJfym6pKWj67ZNxl2/s640/pi-product-mule.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Mule Flow in Anypoint Studio&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once the Mule project is built and run, the API and the flow is hosted in a Mule runtime (which in turn is running on a JVM). An API console is available to test or call the product API.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbynbztQ1w9-aZEJQ03cKsAAdVYpL4iXoH7_NJDerhrVfsLOm2s72owa03ZX8rLLGhgshNlhBVAAdXcIm2nQ1Sx1aaNhBaZkTB4D60VUJK2VeClqpYRIx16QxTAXHJKFPIN9xzeyDRXGK_/s1600/pi-get-product.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbynbztQ1w9-aZEJQ03cKsAAdVYpL4iXoH7_NJDerhrVfsLOm2s72owa03ZX8rLLGhgshNlhBVAAdXcIm2nQ1Sx1aaNhBaZkTB4D60VUJK2VeClqpYRIx16QxTAXHJKFPIN9xzeyDRXGK_/s640/pi-get-product.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;API Console&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
On invoking the product API, the data is transferred in the form of a JSON file to the Raspberry Pi SFTP folder.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0uwU0q3YA9zkBhP-ibPC3x7Gi0f70z0qthPpIGrREm2KE7aeYaFVnt5Isn-jmfZoFnu9C8cy5jHWcOGwQ2K-sVv9IUOPTnzXj2M6lu3WbmECVVekPlRQ8iTVDqRfFopjfRBaIGMycgxBc/s1600/pi-product-data.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="989" data-original-width="1378" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0uwU0q3YA9zkBhP-ibPC3x7Gi0f70z0qthPpIGrREm2KE7aeYaFVnt5Isn-jmfZoFnu9C8cy5jHWcOGwQ2K-sVv9IUOPTnzXj2M6lu3WbmECVVekPlRQ8iTVDqRfFopjfRBaIGMycgxBc/s640/pi-product-data.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Raspberry Pi SFTP&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="text-align: justify;"&gt;
&lt;h3 style="clear: both;"&gt;
Batch&amp;nbsp;&lt;/h3&gt;
Let's now look at a batch example. Of course, one could also have a "reverse" flow. Raspberry Pi could monitor it's own temperature and push it to the Mule ESB as well.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-5HmeoF-SVAeGIa1_UjIuKKakC2iXYMV-FtFyuv3c7W8U1iFMmmsyz1oWgmVHfXZjOogbSLjimIRbTJenlcWdtMRdsj4XHOUU2NXD2CFrqq-4k4gbxbSjiAqENhChL2GelXKVOCV69egM/s1600/pi-batch.jpeg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1190" data-original-width="1600" height="474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-5HmeoF-SVAeGIa1_UjIuKKakC2iXYMV-FtFyuv3c7W8U1iFMmmsyz1oWgmVHfXZjOogbSLjimIRbTJenlcWdtMRdsj4XHOUU2NXD2CFrqq-4k4gbxbSjiAqENhChL2GelXKVOCV69egM/s640/pi-batch.jpeg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Batch Mule Flow&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Setup a cron job in the Raspberry Pi that runs every minute to collect the CPU/board temperature.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrRf6fHQWPlB02Xt2L5Zepoh4NBGt6IxnE4g3sTV0Dqg2pbHTCtn8yzhFtc6aw_RRBrx9lf2OZjxEkrxJ3Aj4nkFVxLLhvPRhW4f-DbiTpfe6chihQvT6VQCFuR0KNnBeoBaO3w8VXivH2/s1600/pi-crontab.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="38" data-original-width="823" height="28" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrRf6fHQWPlB02Xt2L5Zepoh4NBGt6IxnE4g3sTV0Dqg2pbHTCtn8yzhFtc6aw_RRBrx9lf2OZjxEkrxJ3Aj4nkFVxLLhvPRhW4f-DbiTpfe6chihQvT6VQCFuR0KNnBeoBaO3w8VXivH2/s640/pi-crontab.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Crontab entry for a "every minute" job&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
The cron job writes the temperature details to a text file locally on the Raspberry Pi. The same file is over written every minute.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqrJKMpPq19CKN0FbhKC1hp2S0OvmJTfkRiemGFLvb7poaW6bEh7zsMIsXnpyNEOl2zjqUjzL2h-dkp25f_Y0xyfmAsS-CGaa2kD2YOEcCBXxhsft40FvKCME3aKODpXvoTQDEUZs6rji/s1600/pi-temp.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="989" data-original-width="1378" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqrJKMpPq19CKN0FbhKC1hp2S0OvmJTfkRiemGFLvb7poaW6bEh7zsMIsXnpyNEOl2zjqUjzL2h-dkp25f_Y0xyfmAsS-CGaa2kD2YOEcCBXxhsft40FvKCME3aKODpXvoTQDEUZs6rji/s640/pi-temp.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Temperature details&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
There is a Mule flow that reads the text file from the Raspberry Pi using an SFTP connector. The temperature details are then emailed using an Email connector to Outlook 365. Unlike the earlier flow, this one runs as a batch driven by the Scheduler component in the first step.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWC4IZfxrvPFnADDHA1LrlcpQVDD6MLLW6_YkX1r4rlTU6h-_xlErcEfMD32ZHFtoF8J18KozpCAy1bXvJjKIAXCF0-kILL733qvbMHY8CwTvYn4RjQ9Q60HKsaMZZVHi-AF0MbBaiQg9Y/s1600/pi-monitor-app.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="850" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWC4IZfxrvPFnADDHA1LrlcpQVDD6MLLW6_YkX1r4rlTU6h-_xlErcEfMD32ZHFtoF8J18KozpCAy1bXvJjKIAXCF0-kILL733qvbMHY8CwTvYn4RjQ9Q60HKsaMZZVHi-AF0MbBaiQg9Y/s640/pi-monitor-app.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Scheduled job in a Mule Flow&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In order to test this example properly, one would need two email addresses - one to send and one to receive. For security reasons, the email address is masked in the screenshot below.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivCEyAYa6Wm_66ZG7e398pP10yAA0y6Jo_7Gj6LvLMSpeVNoQEtSAju-7TgdTdsuB7dFWDOakwlfaAjp6bJGFo9TMYA1GGUCwecqOF3n4cj8f2DrQfq7uEV4N8OcLTkDjmy9DRiXnvOWbW/s1600/pi-status-email.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="678" data-original-width="1600" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivCEyAYa6Wm_66ZG7e398pP10yAA0y6Jo_7Gj6LvLMSpeVNoQEtSAju-7TgdTdsuB7dFWDOakwlfaAjp6bJGFo9TMYA1GGUCwecqOF3n4cj8f2DrQfq7uEV4N8OcLTkDjmy9DRiXnvOWbW/s640/pi-status-email.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Status emails in Outlook 365&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Of course, now one could setup many other kinds of flows like - collect the weather from an web based API and email, monitor the stock prices and email etc.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Mule ESB on IoT&amp;nbsp;&lt;/h3&gt;
Lastly, the Mule ESB can also be run on the Raspberry PI. Both version 3.x and 4.x can be installed side-by-side in the same Pi. Below is an example of Mule 3.9 Community Runtime running in a Raspberry Pi model 3 B.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX2jmC_EhFYJZCnJ1B30MVIynMcjENv6G-b5NhWjJ9hhbpYfYjicMmXM8qLuiLcLErdlyEqeEqHnhTxxQPLNI-prj0ZKPdyXTFOFFvi6bLIE_iE1K9BKW0q1ONQOTjnNez5EY_DeSY8jpA/s1600/mule-pi.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="807" data-original-width="1349" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX2jmC_EhFYJZCnJ1B30MVIynMcjENv6G-b5NhWjJ9hhbpYfYjicMmXM8qLuiLcLErdlyEqeEqHnhTxxQPLNI-prj0ZKPdyXTFOFFvi6bLIE_iE1K9BKW0q1ONQOTjnNez5EY_DeSY8jpA/s640/mule-pi.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Mule CE Runtime v3.9 on a Raspberry Pi 3 B&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
In addition, the New Relic APM agent is also running in the Pi and is monitoring the Mule API's, flows and JVM statistics.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf6OT2-2jxVo38nhvuaY_RQ7SVLgxFVqb6DuZIA7RYG8qr-LYnSZPT27SuTaY-6jxv3-ybSdnuBzqUkeFfL_L8z2VF9R33nIWjFao3Lvh0XMHBPV6Alb9sulimavXXpMWfNsxby-w_GxjJ/s1600/mule-newrelic.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="532" data-original-width="1600" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf6OT2-2jxVo38nhvuaY_RQ7SVLgxFVqb6DuZIA7RYG8qr-LYnSZPT27SuTaY-6jxv3-ybSdnuBzqUkeFfL_L8z2VF9R33nIWjFao3Lvh0XMHBPV6Alb9sulimavXXpMWfNsxby-w_GxjJ/s640/mule-newrelic.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;New Relic Dashboard showing Mule statistics&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/3405363124302160020/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/11/adventures-with-raspberry-pi-part-4.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3405363124302160020" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3405363124302160020" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/11/adventures-with-raspberry-pi-part-4.html" rel="alternate" title="Adventures with Raspberry Pi - Part 4" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_VgwR1v7tIBrJMCxXZFjuFi9WD7V07z8qLIBI_nuUmkX6b0OsJtp6DakJmizxNoUOYR2auCtRL9EYJkOqKeB2gujPOWmcAy7VX2RPVdZH4P71PIg1oGNrRlQBUmfXVpq8I2KnosPy7vIt/s72-c/pi-diagram.jpeg" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-6382212397091789919</id><published>2018-08-29T19:10:00.001+05:30</published><updated>2018-08-29T19:10:40.424+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Adventures with Raspberry Pi - Part 3</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Continuing from the previous &lt;a href="http://www.rajansview.com/2018/07/adventures-with-raspberry-pi-part-2.html" target="_blank"&gt;post&lt;/a&gt;, lets now build a Chatbot on the Raspberry Pi. If we have some digital media such as music, movies etc. stored in a media server on the Pi, these can be accessed using a Chatbot too.&lt;br /&gt;
&lt;br /&gt;
I have used Telegram to build the bot. The Telegram app is available for all platforms - iOS, Android, Web etc. Using the funnily named &lt;a href="https://telegram.me/BotFather" target="_blank"&gt;BotFather&lt;/a&gt; from Telegram, anyone can create a &lt;a href="https://core.telegram.org/bots" target="_blank"&gt;Bot&lt;/a&gt; account.&lt;br /&gt;
&lt;br /&gt;
Once the account is created, the "brain" of the Chatbot needs to be implemented using a programming language and framework. I have use the python based&amp;nbsp;&lt;a href="https://chatterbot.readthedocs.io/en/stable/" target="_blank"&gt;chatterbot&amp;nbsp;&lt;/a&gt;framework to create a bot called - Frasier (named after the TV Series). The bot in turn interacts with the Plex Media Server API's to search and download the requested media such as a song, TV show or a movie. Telegram currently allows files up to 1.5 GB to be shared via the app.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimN3hKrTlL7jJi4YC4bVrPeEBReKEzEnnhIPKHYTdsd3fJLPnauu1OK1PUb1Vcb4ZjCwanCoErRMFoIelCybeVff8IOJ5reNkDtwxbTWfYWVIPtJTkOY3J41nhhtQi2y4a7S6juCYhhvn5/s1600/frasier.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1334" data-original-width="750" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimN3hKrTlL7jJi4YC4bVrPeEBReKEzEnnhIPKHYTdsd3fJLPnauu1OK1PUb1Vcb4ZjCwanCoErRMFoIelCybeVff8IOJ5reNkDtwxbTWfYWVIPtJTkOY3J41nhhtQi2y4a7S6juCYhhvn5/s640/frasier.png" width="356" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Telegram App in an iPhone requesting a song from a Chatbot running on a Raspberry Pi&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
In the screenshot above, the chats in Blue are my commands and in Gray are the responses from the Chatbot.&lt;br /&gt;
&lt;br /&gt;
Requesting for digital content is just one of the examples. One could build additional commands such as "/weather" to know the weather, "/stocks" to know about shares, "/news" to download news articles etc. Of course, for each such command, some API from underlying services such as Weather Underground, Yahoo Finance, News Sites would have to be integrated into the Chatbot.&lt;br /&gt;
&lt;br /&gt;
Have fun building your own Chatbots in the Raspberry Pi!&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/6382212397091789919/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/08/adventures-with-raspberry-pi-part-3.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6382212397091789919" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/6382212397091789919" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/08/adventures-with-raspberry-pi-part-3.html" rel="alternate" title="Adventures with Raspberry Pi - Part 3" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimN3hKrTlL7jJi4YC4bVrPeEBReKEzEnnhIPKHYTdsd3fJLPnauu1OK1PUb1Vcb4ZjCwanCoErRMFoIelCybeVff8IOJ5reNkDtwxbTWfYWVIPtJTkOY3J41nhhtQi2y4a7S6juCYhhvn5/s72-c/frasier.png" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-3996034037194297008</id><published>2018-07-22T19:39:00.004+05:30</published><updated>2020-09-12T11:41:47.987+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Adventures with Raspberry Pi - Part 2</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Continuing from the previous &lt;a href="http://www.rajansview.com/2018/05/adventures-with-raspberry-pi-part-1.html" target="_blank"&gt;post&lt;/a&gt;, let us now put the Pi to some practical uses.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
File Server&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
The Pi can serve as a file server for home use. One could use it to store files for use across multiple computers, backup files, share media (songs, photos and videos) etc. As most of us use Windows at home, you can setup a Samba file server. You can read/write files easily from Windows computers.&amp;nbsp; In addition, there are Apps for iOS and Android, so you can access these files from mobile/tablets too.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;You can SSH into the Pi and run the following commands to install Samba&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;sudo apt-get update&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;sudo apt-get upgrade&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;sudo apt-get install samba samba-common-bin&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;You could give all access to the Public folder under /home/pi/ folder using the command -&lt;b&gt;&amp;nbsp;chmod +777&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;Create a Samba user and password using the command - &lt;b&gt;sudo smbpasswd -a pi&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Configure Samba as shown below -&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Edit the Samba configuration - &lt;b&gt;sudo vi /etc/samba/smb.conf&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;[share]&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Comment = Pi shared folder&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Path = /home/pi/Public&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Browseable = yes&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Writeable = Yes&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;only guest = no&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;create mask = 0777&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;directory mask = 0777&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Public = yes&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Guest ok = yes&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Finally, restart and reload Samba using the command - &lt;b&gt;sudo /etc/init.d/samba restart&lt;/b&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The above steps are just a one-off. Whenever the Pi is restarted, the Samba server will be up. From a a Windows computer, you can use the following address in Explorer to access the file share - \\[Pi Name]&lt;pi name=""&gt;\&lt;pi name=""&gt;Public. The files from the computer can now be copied to the above shared folder that you have just created.&lt;/pi&gt;&lt;/pi&gt;&lt;br /&gt;
&lt;pi name=""&gt;&lt;pi name=""&gt;&lt;br /&gt;&lt;/pi&gt;&lt;/pi&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcO05-H3jSoIA8TVtZG5rMZwy0DQB7jh6UHzLy8_35roib70Yk3r-0QorNdECHpsuR-vT-VfiHm46Um3Q0U2XWVF4iFujRuYcK2ZdMHV0mcZrBEZwqcHWm26ZTkEyUbtz3GnIClyA1mdw/s1600/samba.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="297" data-original-width="1000" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcO05-H3jSoIA8TVtZG5rMZwy0DQB7jh6UHzLy8_35roib70Yk3r-0QorNdECHpsuR-vT-VfiHm46Um3Q0U2XWVF4iFujRuYcK2ZdMHV0mcZrBEZwqcHWm26ZTkEyUbtz3GnIClyA1mdw/s640/samba.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pi name=""&gt;&lt;pi name=""&gt;&lt;br /&gt;&lt;/pi&gt;&lt;/pi&gt;&lt;/div&gt;
&lt;h3 style="text-align: justify;"&gt;
Media Server&lt;/h3&gt;
&lt;div style="text-align: justify;"&gt;
Digital Living Network Alliance (DLNA) was initially created by a group of consumer electronic companies. It's aim was to promote inter-operability among gadgets produced by various electronics manufacturers.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Suppose, you have copied some media files (audio and video) to the above shared folder on the Pi. You can setup a DLNA software server in the Pi. Using the DLNA server, this media can be streamed to other devices within your network.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Install Mini DLNA server using the command -&amp;nbsp;&lt;b&gt;sudo apt-get install minidlna&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;&lt;span style="text-align: left;"&gt;Edit the DLNA configuration -&amp;nbsp;&lt;/span&gt;&lt;b&gt;sudo nano /etc/minidlna.conf&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;media_dir=A,/home/pi/Public/Music&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;media_dir=V,/home/pi/Public/Movies&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;friendly_name=Pi-Media-Server&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;sudo service minidlna restart&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;sudo service minidlna force-reload&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
These steps are again a one-off. The DLNA server will show up as "Pi-Media-Server" in all the clients such as a Smart TV's, Mobile/Tablet Apps etc. You can verify the DLNA server by opening the URL in browser - http://[Pi Name]:8200/, you should see the status page below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLXu7VetwwDVlDlOkxs8CyCjFNExQSme2B4ETSiqtcD2paIFJd2h4H89VA6UdivctUOqK0BXdCIpw71X0dK180nSd7pbfQJN3aC8mbKrkSm14DdPUz6zNI-WYhdITVj6NN2jND-xwT0mjs/s1600/dlna.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="350" data-original-width="1166" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLXu7VetwwDVlDlOkxs8CyCjFNExQSme2B4ETSiqtcD2paIFJd2h4H89VA6UdivctUOqK0BXdCIpw71X0dK180nSd7pbfQJN3aC8mbKrkSm14DdPUz6zNI-WYhdITVj6NN2jND-xwT0mjs/s640/dlna.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
For a more advanced media server, one can also install the Plex Media Server on the Raspberry Pi. In the Plex Server, one can also enable it to be accessed from the internet. The official Plex app is available for iOS, Android and Smart TV devices. This means that all the movies, TV shows and songs in the Plex App can be accessed on the go wherever you are. The Plex server and apps are all free to download and use. Plex server can be downloaded and installed from &lt;a href="https://www.plex.tv/media-server-downloads/" target="_blank"&gt;here&lt;/a&gt;. The Plex mobile apps will be available int he respective app stores.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbT1mn79_xyNM00W64cISPu4eY0A-YnUXwC2Ad1S404UiOmoAipg5bfEY8EHCo_eMY441Mw1Fa1LoEf1UoTZUcYXSdI-m2yZHbaCF7Gf0FsFMx9msGWM3YGWbVpgIfIUX6HTl09J-Wxswn/s1600/IMG_0208.jpg" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1334" data-original-width="750" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbT1mn79_xyNM00W64cISPu4eY0A-YnUXwC2Ad1S404UiOmoAipg5bfEY8EHCo_eMY441Mw1Fa1LoEf1UoTZUcYXSdI-m2yZHbaCF7Gf0FsFMx9msGWM3YGWbVpgIfIUX6HTl09J-Wxswn/s640/IMG_0208.jpg" width="356" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;Plex App in iPhone connected to the Raspberry Pi&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieFdOicXMSBgOwdGSCAJ9WCuUu2CUg6PAGA6WQ9hLNINVYSnP34BG_ArGqD9WzrdUewI9bu1NouyQnC-nq7So5LvIe3btsplFTHmZxUidVMcm-Axi5wTHM1Iw_fQkaEhX2rQa3v8hmJ8r2/s1600/3F8E6222-E3F5-43DD-AE09-D368C29F22AB.png" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="1600" data-original-width="1200" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieFdOicXMSBgOwdGSCAJ9WCuUu2CUg6PAGA6WQ9hLNINVYSnP34BG_ArGqD9WzrdUewI9bu1NouyQnC-nq7So5LvIe3btsplFTHmZxUidVMcm-Axi5wTHM1Iw_fQkaEhX2rQa3v8hmJ8r2/s640/3F8E6222-E3F5-43DD-AE09-D368C29F22AB.png" width="480" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 12.8px;"&gt;&lt;br /&gt;Plex App in iPad connected to the Raspberry Pi&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;
You can buy wireless external hard drives that come with the same features (Samba, Plex etc.) as above. These drives normally come bundled with the Plex media/DLNA server and cost anywhere from INR Rs 16000 upwards in the online shopping sites such as Amazon (India). It cost me about INR Rs 6000 to create the same using the Pi.&lt;br /&gt;
&lt;br /&gt;
So, not only do you get to save some money but also have fun in the process! More coming up in the next &lt;a href="http://www.rajansview.com/2018/08/adventures-with-raspberry-pi-part-3.html" target="_blank"&gt;post&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/3996034037194297008/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/07/adventures-with-raspberry-pi-part-2.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3996034037194297008" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/3996034037194297008" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/07/adventures-with-raspberry-pi-part-2.html" rel="alternate" title="Adventures with Raspberry Pi - Part 2" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcO05-H3jSoIA8TVtZG5rMZwy0DQB7jh6UHzLy8_35roib70Yk3r-0QorNdECHpsuR-vT-VfiHm46Um3Q0U2XWVF4iFujRuYcK2ZdMHV0mcZrBEZwqcHWm26ZTkEyUbtz3GnIClyA1mdw/s72-c/samba.jpg" width="72"/><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-5546522926419804039</id><published>2018-05-29T18:26:00.000+05:30</published><updated>2018-11-03T17:05:36.893+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type="text">Adventures with Raspberry Pi - Part 1</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Raspberry Pi has been around for a few years. It was initially launched in 2012 by the UK based Raspberry PI &lt;a href="https://www.raspberrypi.org/about/"&gt;foundation&lt;/a&gt;. Over the years, many &lt;a href="https://www.raspberrypi.org/products/" target="_blank"&gt;flavors &lt;/a&gt;of the Raspberry PI have been created.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
While the Pi computer has been created as a learning tool, it can be used for some practical use cases too. These can be for both home and business use.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Below is my Raspberry Pi setup at home.&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class="instagram-media" data-instgrm-captioned="" data-instgrm-permalink="https://www.instagram.com/p/BilP1FllHG4/" data-instgrm-version="8" style="background: #fff; border-radius: 3px; border: 0; box-shadow: 0 0 1px 0 rgba(0 , 0 , 0 , 0.5) , 0 1px 10px 0 rgba(0 , 0 , 0 , 0.15); margin: 1px; max-width: 658px; padding: 0; width: 99.375%;"&gt;
&lt;div style="padding: 8px;"&gt;
&lt;div style="background: #F8F8F8; line-height: 0; margin-top: 40px; padding: 50.0% 0; text-align: center; width: 100%;"&gt;
&lt;div style="background: url(data:image/png; display: block; height: 44px; margin: 0 auto -44px; position: relative; top: -22px; width: 44px;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="margin: 8px 0 0 0; padding: 0 4px;"&gt;
&lt;a href="https://www.instagram.com/p/BilP1FllHG4/" style="color: black; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none; word-wrap: break-word;" target="_blank"&gt;Imperial storm troopers protecting their precious cargo of Raspberry Pi, Mi power bank and Western Digital hard disk. All the secrets of the empire are safe! #starwars #raspberrypi #stormtrooper #maker #diy&lt;/a&gt;&lt;/div&gt;
&lt;div style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;"&gt;
A post shared by &lt;a href="https://www.instagram.com/rajanmanickavasagam/" style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px;" target="_blank"&gt; Rajan&lt;/a&gt; (@rajanmanickavasagam) on &lt;time datetime="2018-05-10T03:33:52+00:00" style="font-family: Arial,sans-serif; font-size: 14px; line-height: 17px;"&gt;May 9, 2018 at 8:33pm PDT&lt;/time&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;script async="" defer="" src="//www.instagram.com/embed.js"&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
The bill of parts for the above setup consists of (left to right) -
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/gp/product/B077RV8CCZ/ref=oh_aui_detailpage_o01_s00?ie=UTF8&amp;amp;psc=1" target="_blank"&gt;Mi 20000 maH Power Bank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://potentiallabs.com/cart/buy-raspberry-on-off-switch-cable-online-hyderabad-india?gclid=CjwKCAjw_47YBRBxEiwAYuKdw4yQBJ2yyMlM554I-VSBUjUVhDTvedhSyknpsEQYr-gVe_iBzXXJbBoCqAwQAvD_BwE" target="_blank"&gt;USB to Micro USB cable with a power on/off switch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/gp/product/B0110J9QFY/ref=oh_aui_detailpage_o05_s00?ie=UTF8&amp;amp;psc=1" target="_blank"&gt;Raspberry Pi case with heat sink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/gp/product/B01CD5VC92/ref=oh_aui_detailpage_o06_s00?ie=UTF8&amp;amp;psc=1" target="_blank"&gt;Raspberry PI Model 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/SanDisk-Ultra-microSD-Adapter-SDSQUAR-016G-GN6MA/dp/B073K14CVB/ref=sr_1_1?ie=UTF8&amp;amp;qid=1526994128&amp;amp;sr=8-1&amp;amp;keywords=sandisk+micro+sd+card+16+gb" target="_blank"&gt;Class 10 SD Card 16 GB capacity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.in/Elements-Portable-External-Drive-Black/dp/B008GS8LT0/ref=sr_1_3?s=computers&amp;amp;ie=UTF8&amp;amp;qid=1526994249&amp;amp;sr=1-3&amp;amp;keywords=western+digital+1tb+hard+disk" target="_blank"&gt;Western Digital 1 TB external hard drive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The storm troopers just showed up! &#128522;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
There are many tutorials available online which show how to put all of these together. Here are some useful links -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.raspberrypi.org/documentation/installation/installing-images/" target="_blank"&gt;Installing Operating System in SD Card&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.circuitbasics.com/raspberry-pi-basics-setup-without-monitor-keyboard-headless-mode/" target="_blank"&gt;Connecting to Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.raspberrypi.org/documentation/remote-access/vnc/README.md" target="_blank"&gt;Enabling VNC Server in Pi&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
My initial observations are -&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li style="text-align: justify;"&gt;The default OS in the Pi is Debian based. This means one can use the "apt-get" package manager to install required software like Java, Python, NodeJS etc.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Containers like &lt;a href="https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/" target="_blank"&gt;Docker&lt;/a&gt;&amp;nbsp;and databases like&amp;nbsp;&lt;a href="http://www.raspberry-projects.com/pi/software_utilities/web-servers/mysql" target="_blank"&gt;MySQL&lt;/a&gt;&amp;nbsp;can be setup on the Pi.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Given the limited resources (CPU/memory/disk) on the Pi, some of these software may not perform at "full throttle" but at least functionally they will work.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Keep an eye on the "heat" from the Pi. Without the heat sink, the temperature Raspberry Pi was around 10-15 celsius higher.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Normally Pi's are powered from a main power source. The power bank is a quirky addition. One can now literally run a portable and fully functioning Pi computer for several days. Imagine, you could now run a Hadoop cluster on a handful of Pi computers and carry it around in a bag.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
My experience with Pi started more as a hobby. But, the ease and stability of using the Pi encouraged me to explore more use cases. Some of the home/personal use cases I have tried are -&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Setup a file server in the Pi&lt;/li&gt;
&lt;li&gt;Setup a streaming media server in the Pi&lt;/li&gt;
&lt;li&gt;Build a personal assistant&lt;/li&gt;
&lt;li&gt;IoT style integration&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
More about this in the next blog &lt;a href="http://www.rajansview.com/2018/07/adventures-with-raspberry-pi-part-2.html" target="_blank"&gt;post&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/5546522926419804039/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/05/adventures-with-raspberry-pi-part-1.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5546522926419804039" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5546522926419804039" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/05/adventures-with-raspberry-pi-part-1.html" rel="alternate" title="Adventures with Raspberry Pi - Part 1" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry><entry><id>tag:blogger.com,1999:blog-98573395477491231.post-5763275301467247554</id><published>2018-01-13T11:45:00.002+05:30</published><updated>2020-04-22T15:55:58.454+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="General"/><title type="text">Let Us Say Grace</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
As we head into another new year, the calendar has changed to 2018. But the differences in the world continue to remain. As long as the &lt;a href="https://en.wikipedia.org/wiki/Human_condition" target="_blank"&gt;human condition&lt;/a&gt; prevails, these differences will always exist. These differences periodically surface as flash points in politics, economics, societies, arts and personal freedoms.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://upload.wikimedia.org/wikipedia/en/1/1a/Saying_Grace%2C_Norman_Rockwell.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="323" data-original-width="309" height="640" src="https://upload.wikimedia.org/wikipedia/en/1/1a/Saying_Grace%2C_Norman_Rockwell.jpg" width="611" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Saying Grace by Norman Rockwell (Source - Wikipedia)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
There is a painting "Saying Grace" by the iconic American illustrator Norman Rockwell. It was created for the cover of the Saturday Evening Post in 1951. As is characteristic of Norman Rockwell paintings, it captures an ordinary moment with extraordinary detail. A boy and his mother say their prayers in a restaurant before a meal in a restaurant. We can also see the reactions of the other diners, some fully, some partially and some not at all.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
What is truth? What is justice? What is equality? What is morality? Before we even debate these topics, we must search for the meaning of them individually. We must accept that on these and many other topics, we sometimes understand it fully, partial or not at all. Only life can reveal the understanding to us in many different ways. And, that is a journey we all have to undertake.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
So, in the new year and beyond, like the diners in the painting let us observe and not judge harshly what we do not understand. Even if we disagree or debate on our differences, let us do so with grace. Perhaps the grace will help us come together.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Happy New Year to everyone!&lt;/div&gt;
&lt;/div&gt;
</content><link href="http://www.rajansview.com/feeds/5763275301467247554/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/01/let-us-say-grace.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5763275301467247554" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/98573395477491231/posts/default/5763275301467247554" rel="self" type="application/atom+xml"/><link href="http://www.rajansview.com/2018/01/let-us-say-grace.html" rel="alternate" title="Let Us Say Grace" type="text/html"/><author><name>Rajan</name><uri>http://www.blogger.com/profile/17836996687030837163</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total><georss:featurename>Bengaluru, Karnataka, India</georss:featurename><georss:point>12.9715987 77.594562699999983</georss:point><georss:box>12.4764182 76.949115699999979 13.4667792 78.240009699999987</georss:box></entry></feed>