{"id":9540,"date":"2022-01-18T12:55:34","date_gmt":"2022-01-18T07:25:34","guid":{"rendered":"https:\/\/opstree.com\/blog\/\/?p=9540"},"modified":"2022-01-18T12:55:38","modified_gmt":"2022-01-18T07:25:38","slug":"host-based-intrusion-detection-using-ossec","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2022\/01\/18\/host-based-intrusion-detection-using-ossec\/","title":{"rendered":"HOST-BASED INTRUSION DETECTION USING OSSEC"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"what-is-ossec\">What is Ossec :<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">It claims to be the world\u2019s most widely used open-source host-based intrusion detection system. In short,&nbsp;we can call it HIDS. It performs log analysis, integrity checking, Windows registry monitoring, rootkit detection, time-based alerting, and active response. This is made up of two parts: <strong>Ossec server and Ossec agent<\/strong>. The Ossec server is used to monitor other servers that we call Ossec agents. At any time, an agent can be added to the Ossec server for its monitoring and can be removed. For that, server and agent connections need to be established, which we will be discussing. It also provides a <em>Web interface<\/em> for showing all alerts, logs, and agent information.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"possible-scenarios-that-you-might-face-of-intrusion-on-your-servers\">Possible scenarios that you might face of Intrusion on your servers:<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2022\/01\/71df7-01xxbcrjukgec7g7c.jpg\" alt=\"\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-justify\">1) Attacker launched a brute force attack against your machine. Now you need to track him. For that, you need his IP address. First, on your Ossec server, do:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">cat\/var\/ossec\/logs\/alerts\/alerts.log<\/pre>\n\n\n\n<p class=\"has-text-align-justify\">Where you find Source IP against the alert of SSH insecure connection attempt rule. Secondly, we can get it from a UI-based alert.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"has-text-align-justify\">2) Attacker has uploaded a script to the server and executed it as the root user. For this, we have a sys check, in which we define all the directories and files to monitor for any kind of changes. In this case, you will receive an alert of integrity checksum change for that file, showing what content has actually changed and by which user the script was executed.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">3) Suppose the attacker has changed your system file like \/etc\/group or \/etc\/password. In this case, you will receive an alert of the Integrity checksum changed for that system file.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Like this, there can be many possible scenarios where you should use Ossec against any kind of intrusion detection.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ossec-installation\">Ossec Installation :<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"manual-installation-of-server-agent\"><strong>Manual Installation of Server\/Agent:<\/strong><\/h3>\n\n\n\n<p>A) Install Ossec dependencies:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo yum install unzip\nsudo yum install gcc-c++ make -y\nsudo yum install wget\nsudo yum install -y php-cli php-common sendmail inotify-tools<\/pre>\n\n\n\n<p>B) Choose Ossec version, download tar file and then untar it:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">cd \/opt\nexport VERSION=\u201d3.1.0\"\nsudo wget&nbsp;https:\/\/github.com\/ossec\/ossec-hids\/archive\/${VERSION}.tar.gz\nsudo tar -xvzf \/opt\/${VERSION}.tar.gz<\/pre>\n\n\n\n<p>C) Execute the script:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo sh ossec-hids-${VERSION}\/install.sh\na) Select Language: en\nb) Press &lt;ENTER&gt; to continue or Ctrl+C to abort\nc) Select what kind of installation do you want (server, agent, local, hybrid or help)?: Sever\/Agent\nd) Choose Installation location \/var\/ossec: \/var\/ossec\ne) Do you want e-mail notification? (y\/n) [y]: y\/n\nf) Do you want to run the integrity check daemon? (y\/n) [y]: y\/n\ng) Do you want to run the rootkit detection engine? (y\/n) [y]: y\/n\nh) Do you want to enable the firewall-drop response? (y\/n) [y]: y\/n\ni) Press Enter, that\u2019s it you are done with Ossec Server\/Agent Installation.<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installation-of-agent-using-bash-script-just-to-avoid-this-real-time-interface\"><strong>Installation of agent using Bash script(Just to avoid this real time interface):<\/strong><\/h3>\n\n\n\n<pre id=\"7177\" class=\"wp-block-preformatted has-light-gray-background-color has-background\">#!\/bin\/bash\nossecAgent() {\nsudo yum install unzip\nsudo yum install gcc-c++ make -y\nsudo yum install wget\nsudo yum install -y php-cli php-common sendmail inotify-tools\ncd \/opt\nossec_server_ip=\u201d1.1.1.1\"\nexport VER=\u201d3.1.0\"\nsudo wget&nbsp;https:\/\/github.com\/ossec\/ossec-hids\/archive\/${VER}.tar.gz\nsudo tar -xvzf \/opt\/${VER}.tar.gz\ncd \/opt\/ossec-hids-${VER}\nsudo sed -i \u20182 i USER_LANGUAGE=$1\u2019 install.sh\nsudo sed -i \u20182 i USER_INSTALL_TYPE=$2\u2019 install.sh\nsudo sed -i \u20182 i USER_DIR=$3\u2019 install.sh\nsudo sed -i \u20182 i USER_AGENT_SERVER_IP=$4\u2019 install.sh\nsudo sed -i \u20182 i USER_ENABLE_SYSCHECK=$5\u2019 install.sh\nsudo sed -i \u20182 i USER_ENABLE_ROOTCHECK=$6\u2019 install.sh\nsudo sed -i \u20182 i USER_ENABLE_ACTIVE_RESPONSE=$7\u2019 install.sh\nsudo sed -i \u20182 i USER_ENABLE_SYSLOG=$8\u2019 install.sh\nsudo echo -ne \u2018\\n\u2019 | sudo sh install.sh en agent \/var\/ossec ${ossec_server_ip} y y y y\nsudo sed -i \u201812d\u2019 \/var\/ossec\/etc\/ossec.conf\nsudo sed -i \u201812d\u2019 \/var\/ossec\/etc\/ossec.conf\nsudo sed -i \u201912 i &lt;directories report_changes=\u201dyes\u201d check_all=\u201dyes\u201d realtime=\u201dyes\u201d&gt;\/etc,\/usr,\/var\/log\/&lt;\/directories&gt;\u2019 \/var\/ossec\/etc\/ossec.conf\nsudo sed -i \u201913 i &lt;directories report_changes=\u201dyes\u201d check_all=\u201dyes\u201d realtime=\u201dyes\u201d&gt;\/bin,\/sbin,\/proc,\/dev&lt;\/directories&gt;\u2019 \/var\/ossec\/etc\/ossec.conf\n}<\/pre>\n\n\n\n<pre id=\"b366\" class=\"wp-block-preformatted has-light-gray-background-color has-background\">echo \u201cInstalling Ossec Agent\u201d<br>ossecAgent<\/pre>\n\n\n\n<p><strong>#Note :<\/strong><br>Enter your Ossec Server Ip here in place of&nbsp;<strong>ossec_server_ip<\/strong>=\u201d1.1.1.1&#8243; in bash script.<\/p>\n\n\n\n<p id=\"b366\"><strong>Now start\/stop your Ossec server\/agent with :<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo \/var\/ossec\/bin\/ossec-control start\/stop<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installation-of-ossec-web-ui\"><strong>Installation of Ossec Web UI :<\/strong><\/h3>\n\n\n\n<p>A) Clone Ossec Web UI:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">cd \/opt\nsudo git clone&nbsp;https:\/\/github.com\/ossec\/ossec-wui.git<\/pre>\n\n\n\n<p>B) Execute Installation Script:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo sh ossec-wui\/setup.sh<br>a) Enter Username<br>b) Enter Password<br>c) Enter your web server user name : Ex : apache, www, nobody, www-data or www-data<\/pre>\n\n\n\n<p>C) Create an <strong>Apache<\/strong> virtual host config file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo vim \/etc\/apache2\/sites-enabled\/ossec-wui.conf<\/pre>\n\n\n\n<p>Place below mentioned config in this<strong>:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">&lt;VirtualHost *:80&gt;\nDocumentRoot \/opt\/ossec-wui\/\nServerName OSSEC_SERVER_IP\/ HOST_NAME\nServerAlias OSSEC_SERVER_IP\/ HOST_NAME\nServerAdmin&nbsp;admin@admin.com\n&lt;Directory \/opt\/ossec-wui\/&gt;\nOptions +FollowSymlinks\nAllowOverride All\nRequire all granted\n&lt;\/Directory&gt;\nErrorLog \/var\/log\/apache2\/moodle-error.log\nCustomLog \/var\/log\/apache2\/moodle-access.log combined\n&lt;\/VirtualHost&gt;<\/pre>\n\n\n\n<p>D) Start Apache Server:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo a2enmod rewrite\nsudo systemctl restart apache2<\/pre>\n\n\n\n<p class=\"has-text-align-justify\">E) Access your Ossec Server at&nbsp;http:\/\/OSSEC_SERVER_IP<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"connection-between-agent-and-server\">Connection between Agent and Server:<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">For this, we need to do configuration on both the server and the agent. So that they can both establish a connection between them. Make sure to allow UDP Port 1514 traffic through the firewalls or security groups for both the Ossec Server and Agent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"server-configuration\"><strong>Server Configuration:<\/strong><\/h3>\n\n\n\n<p class=\"has-text-align-justify\">A) Create an Agent file containing Agent&#8217;s IP and name inside the Ossec server. You can add multiple agents here:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo vim \/var\/ossec\/agents and add Agent ip and name into this file.<br>Ex : 172.10.2.1,Agent1<br>172.10.2.2,Agent2<br>Here added 2 agents with agent ip and name with comma separated.<\/pre>\n\n\n\n<p>B) Generating keys for agents:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo \/var\/ossec\/bin\/manage_agents -f \/var\/ossec\/agents<\/pre>\n\n\n\n<p>C) Obtain the key for agents:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo \/var\/ossec\/bin\/manage_agents -e $(cat \/var\/ossec\/etc\/client.keys | grep \u201cAgent1\/Agent2\u201d | awk {\u2018print $1\u2019})<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"agent-configuration\"><strong>&nbsp;Agent Configuration:<\/strong><\/h3>\n\n\n\n<p>A) Add Server IP to var\/ossec\/etc\/ossec.conf on Agent Server:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">vim \/var\/ossec\/etc\/ossec.conf<br>update into file : &lt;server-ip&gt;ossec_server_ip&lt;\/server-ip&gt;<\/pre>\n\n\n\n<p>B) Import the agent keys that you extracted in server configuration step 3:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">yes | \/var\/ossec\/bin\/manage_agents -i $agent_key<\/pre>\n\n\n\n<p>C)  Finally restart Ossec server and Agent both with:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo \/var\/ossec\/bin\/ossec-control restart<\/pre>\n\n\n\n<p>D) On Ossec server, list the active agents through command or UI:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-gray-background-color has-background\">sudo \/var\/ossec\/bin\/list_agents -c<br>Output will be like this :&nbsp;<strong>agent1\u20131.1.1.1 is active.<\/strong><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusion<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">Server security is as paramount as network security because servers often hold a great deal of an organization\u2019s vital information. If a server is compromised, all of its contents may become available for the attacker to steal or manipulate at will. This can lead to heavy losses in business and the defamation of an organization. To ensure your servers are monitored in a dedicated manner, we need a solution, which Ossec is capable of.<\/p>\n\n\n\n<p><strong style=\"font-weight:bold;\">Blog Pundit: <\/strong><a href=\"https:\/\/opstree.com\/blog\/\/author\/bhupendersinghb5dca0b393\/\"><strong>Bhupender rawat<\/strong><\/a> and <strong>Sanjeev Pandey<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.opstree.com\/contact-us?utm_source=blog&amp;utm_medium=wordpress+&amp;utm_campaign=HOST-BASED-INTRUSION-DETECTION-USING-OSSEC\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Opstree<\/strong> <\/a>is an End to End DevOps solution provider<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.opstree.com\/contact-us\" target=\"_blank\" rel=\"noreferrer noopener\">CONTACT US<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>Connect Us <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-social-links aligncenter is-content-justification-right is-layout-flex wp-container-core-social-links-is-layout-1 wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a href=\"https:\/\/www.linkedin.com\/company\/opstree-solutions\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">LinkedIn<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-youtube  wp-block-social-link\"><a href=\"https:\/\/www.youtube.com\/channel\/UCeLma6SpNYH7jjYKSBNSexw\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">YouTube<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-github  wp-block-social-link\"><a href=\"https:\/\/github.com\/OpsTree\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">GitHub<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a href=\"https:\/\/www.facebook.com\/opstree\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Facebook<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-medium  wp-block-social-link\"><a href=\"https:\/\/medium.com\/buildpiper\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20.962,7.257l-5.457,8.867l-3.923-6.375l3.126-5.08c0.112-0.182,0.319-0.286,0.527-0.286c0.05,0,0.1,0.008,0.149,0.02 c0.039,0.01,0.078,0.023,0.114,0.041l5.43,2.715l0.006,0.003c0.004,0.002,0.007,0.006,0.011,0.008 C20.971,7.191,20.98,7.227,20.962,7.257z M9.86,8.592v5.783l5.14,2.57L9.86,8.592z M15.772,17.331l4.231,2.115 C20.554,19.721,21,19.529,21,19.016V8.835L15.772,17.331z M8.968,7.178L3.665,4.527C3.569,4.479,3.478,4.456,3.395,4.456 C3.163,4.456,3,4.636,3,4.938v11.45c0,0.306,0.224,0.669,0.498,0.806l4.671,2.335c0.12,0.06,0.234,0.088,0.337,0.088 c0.29,0,0.494-0.225,0.494-0.602V7.231C9,7.208,8.988,7.188,8.968,7.178z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Medium<\/span><\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Ossec : It claims to be the world\u2019s most widely used open-source host-based intrusion detection system. In short,&nbsp;we can call it HIDS. It performs log analysis, integrity checking, Windows registry monitoring, rootkit detection, time-based alerting, and active response. This is made up of two parts: Ossec server and Ossec agent. The Ossec server &hellip; <a href=\"https:\/\/opstree.com\/blog\/2022\/01\/18\/host-based-intrusion-detection-using-ossec\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;HOST-BASED INTRUSION DETECTION USING OSSEC&#8221;<\/span><\/a><\/p>\n","protected":false},"author":212211121,"featured_media":29900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[28070474],"tags":[460,4810706,22,10484870,768739286,298,4996032],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/11\/DevSecOps-1.jpg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-2tS","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9540"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/212211121"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=9540"}],"version-history":[{"count":24,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9540\/revisions"}],"predecessor-version":[{"id":9745,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9540\/revisions\/9745"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/29900"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=9540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=9540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=9540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}