{"id":563,"date":"2020-03-05T00:27:58","date_gmt":"2020-03-05T00:27:58","guid":{"rendered":"https:\/\/www.seven-stones.biz\/blog\/?p=563"},"modified":"2020-03-05T00:27:59","modified_gmt":"2020-03-05T00:27:59","slug":"netdelta-install-and-configure","status":"publish","type":"post","link":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/","title":{"rendered":"Netdelta &#8211; Install and Configure"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.netdelta.io\">Netdelta<\/a> is a tool for monitoring networks and flagging alerts upon changes in advertised services. Now &#8211; I like Python and especially <a href=\"https:\/\/www.djangoproject.com\/\">Django<\/a>, and around 2014 or so i was asked to setup a facility for monitoring for changes in that organisation&#8217;s perimeter. After some considerable digging, i found nada, as in nothing, apart from a few half-baked student projects. So i went off and coded Netdelta, and the world has never been the same since.<\/p>\n\n\n\n<p>I guess when i started with Netdelta i didn&#8217;t see it as a solution that would be widely popular because i was under the impression you could just do some basic shell scripting with <a href=\"https:\/\/nmap.org\/\">nmap<\/a>, and <a href=\"https:\/\/nmap.org\/ndiff\/\">ndiff<\/a> is specifically designed for delta flagging. However what became apparent at an early stage was that timeouts are a problem. A delta will be flagged when a host or service times out &#8211; and this happens a lot, even on a gigabit LAN, and it happens even more in public clouds. I built some analytics into Netdelta that looks back over the scan history and data and makes a call on the likelihood of a false positive (red, amber green). <\/p>\n\n\n\n<p>Most organisations i worked with would benefit from this. One classic example i can think of &#8211; a trading house that had been on an aggressive M&amp;A spree, maybe it was Black Friday or&#8230;? Anyway &#8211; they fired some network engineers and hired some new and cheaper ones, exacerbating what was already a poorly managed perimeter scenario. CISO wanted to know what was going off with these Internet facing subnets &#8211; enter Netdelta. <strong><em>Unauthorised changes are a problem! <\/em><\/strong>I am directly aware of no fewer than 6 incidents that occurred as a result of exposed SSH, SMB (Wannacry), and more recently RDP, and indirectly aware of many more.<\/p>\n\n\n\n<p>Anyway without further waffle, here&#8217;s how you get Netdelta up and running. Warning &#8211; there are a few moving parts, but if someone wants it in Docker, <a href=\"https:\/\/www.netdelta.io\/#contact\">let me know<\/a>.<\/p>\n\n\n\n<p>I always go with Ubuntu. The differences between Linux distros are like the differences between mueslis. My build was on 18.04 but its highly likely 19 variants will be just fine. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt-get update\napt-get install curl nmap apache2 python3 python3-pip python3-venv rabbitmq-server mysql-server libapache2-mod-wsgi-py3 git\napt-get -y install software-properties-common\nadd-apt-repository ppa:certbot\/certbot\napt-get install -y python-certbot-apache<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Clone the repository from github into your &lt;netdelta root&gt; <br>git clone https:\/\/github.com\/SevenStones\/netdelta.git<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Filesystem<\/h2>\n\n\n\n<p>Create the user that will own &lt;netdelta root&gt;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">useradd -s \/bin\/bash -d \/home\/&lt;user&gt; -m &lt;user&gt;<\/pre>\n\n\n\n<p>Create the directory that will host the Netdelta Django project if necessary<\/p>\n\n\n\n<p>Add the user to a suitable group, and strip world permissions from netdelta directories<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> groupadd &lt;group&gt; \n usermod -G  &lt;group&gt; &lt;user&gt;\n usermod -G  &lt;group&gt; www-data\n chown -R www-data:&lt;group&gt; \/var\/www\n chown -R &lt;user&gt;:&lt;group&gt; &lt;netdelta root&gt; <\/pre>\n\n\n\n<p>Make the logs dir, e.g. \/logs, and you will need to modify \/nd\/netdelta_logger.py to point to this location. Note the celery monitor logs go to \/var\/log\/celery\/celery-monitor.log \u2026which of course you can change.<\/p>\n\n\n\n<p>Strip world permissions from all netdelta and apache root dirs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">chmod -Rv o-rwx &lt;web root&gt;<br>chmod -Rv o-rwx &lt;netdelta root&gt;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Virtualenv<\/strong><\/h2>\n\n\n\n<p>The required packages are in requirements.txt, in the root of the git repo. Your virtualenv build with Python 3 goes approximately like this &#8230; <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 -m venv \/path\/to\/new\/virtual\/environment<\/pre>\n\n\n\n<p>You activate thusly: source &lt;\/path\/to\/new\/virtual\/environment\/&gt;\/bin\/activate<\/p>\n\n\n\n<p>Then suck in the requirements as root, remembering to fix permissions after you do this.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip3 install wheel\npip3 install -r &lt;netdelta root&gt;\/requirements.txt<\/pre>\n\n\n\n<p>You can use whatever supported database you like. MySQL is assumed here. <\/p>\n\n\n\n<p>The Python framework mysqlclient was used with earlier versions of Django and MySQL. but with Python 3 and later Django versions, the word on the street is PyMySQL is the way to go. With this though, it took some trickery to get the Django project up and running; in the form of <strong>init<\/strong>.py for the project (&lt;netdelta root&gt;\/netdelta\/.<strong>init<\/strong>.py) and adding a few lines \u2026<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import pymysql \npymysql.install_as_MySQLdb()<\/pre>\n\n\n\n<p>While in virtualenv, and under your netdelta root, add a superuser for the DF<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Patch libnmap<\/h2>\n\n\n\n<p>Two main mods to the libnmap in usage with Netdelta were necessary. First, with later versions of Celery (&gt;3.1), there was a security issue with \u201cdeamonic processes are not allowed to have children\u201d, for which an alternative fork of libnmap fixed the problem. Then we needed to return to Netdelta the process id of the running nmap port scanner process.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd \/opt\ngit clone https:\/\/github.com\/pyoner\/python-libnmap.git\ncp .\/python-libnmap\/libnmap\/process.py &lt;virtualenv root&gt;\/lib\/python3.x\/site-packages\/libnmap\/<\/pre>\n\n\n\n<p>then patch libnmap to allow Netdelta to kill scanning processes<\/p>\n\n\n\n<p>&lt;netdelta_root&gt;\/scripts\/fix-libnmap.bash<\/p>\n\n\n\n<p>Change the environment variables to match your install and use the virtualenv name as a parameter<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Database Setup<\/h2>\n\n\n\n<p>Create a database called netdetla and use whichever encoding snd collation you like. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CREATE DATABASE netdelta CHARACTER SET utf8 COLLATE utf8_general_ci;<\/pre>\n\n\n\n<p>Then from &lt;netdelta root&gt; with virtualenv engaged:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python manage.py makemigrations nd<br>python manage.py migrate<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Web Server<\/h2>\n\n\n\n<p>I am assuming all you good security pros don&#8217;t want to use the development server? Well as you&#8217;re only dealing with port scan data then&#8230;.your call. I&#8217;m assuming Apache as a production web server.<\/p>\n\n\n\n<p>You will need to give Apache a stub web root and enable the wsgi module. For the latter i added this to apache2.conf &#8211; this gives you some control over the exact version of Python loaded.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">LoadModule wsgi_module \"\/usr\/lib\/python3.7\/site-packages\/mod_wsgi\/server\/mod_wsgi-py37.cpython-37m-i386-linux-gnu.so\"<br>\nWSGIPythonHome \"\/usr\"<\/pre>\n\n\n\n<p>Under the DocumentRoot line in your apache config file, give the pointers for WSGI.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">WSGIDaemonProcess &lt;site&gt; python-home=&lt;virtualenv root&gt; python-path=&lt;netdelta root&gt;  WSGIProcessGroup &lt;site&gt;  WSGIScriptAlias \/ &lt;netdelta root&gt;\/netdelta\/wsgi.py  Alias \/static\/ &lt;netdelta root&gt;\/netdelta\/<\/pre>\n\n\n\n<p>Note also you will need to adjust your wsgi.py under &lt;netdelta root&gt;\/netdelta\/ &#8211; <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Add the site-packages of the chosen virtualenv to work with site.addsitedir('&lt;virtualenv root&gt;\/lib\/python3.7\/site-packages')<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Celery<\/h2>\n\n\n\n<p>From the current shell<br> in \u2026&lt;virtualenv&gt; &#8230;.under &lt;netdelta root&gt;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">celery worker -E -A nd -n default -Q default --loglevel=info -B --logfile=&lt;netdelta root&gt;\/logs\/celery.log<\/pre>\n\n\n\n<p>Under systemd (you will almost certainly want to do this) with the root user. The script pointed to by systemd for<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl start celery<\/pre>\n\n\n\n<p>can have all the environment checking (this isn&#8217;t intended to be a tutorial in BASH scripting), but the core of it\u2026<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd &lt;netdelta root&gt;<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">nohup $VIRTUALENV_DIR\/bin\/celery worker -E -A nd -n ${SITE} -Q ${SITE} --loglevel=info -B --logfile=${SITE_LOGS}\/celery.log &gt;\/dev\/null 2&gt;&amp;1 &amp;<\/pre>\n\n\n\n<p>And then you can put together your own scripts for status, stop, restart.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Netdelta is a tool for monitoring networks and flagging alerts upon changes in advertised services. Now &#8211; I like Python and especially Django, and around 2014 or so i was asked to setup a facility for monitoring for changes in &hellip; <a href=\"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":575,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[103,169,194,171,104,105,19,1,195,102,138,118,101,23,31],"tags":[198,196,201,200,197,110,199,202,108,109],"class_list":["post-563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-delta-port-scanning","category-devops-and-security","category-fintech-security","category-fintechs-and-security","category-firewall-delta-detection","category-firewall-testing","category-firewalls","category-general","category-perimeter-change-monitoring","category-port-scanning","category-python","category-saas","category-security-tools","category-tools","category-vulnerability-assessment","tag-delta-port-scans","tag-differential-port-scanning","tag-firewall-change-detection","tag-firewall-testing","tag-ndiff","tag-netdelta","tag-network-delta-testing","tag-perimeter-monitoring","tag-port-scan-deltas","tag-port-scanning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Netdelta - Install and Configure - Security Macromorphosis<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netdelta - Install and Configure - Security Macromorphosis\" \/>\n<meta property=\"og:description\" content=\"Netdelta is a tool for monitoring networks and flagging alerts upon changes in advertised services. Now &#8211; I like Python and especially Django, and around 2014 or so i was asked to setup a facility for monitoring for changes in &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/\" \/>\n<meta property=\"og:site_name\" content=\"Security Macromorphosis\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-05T00:27:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-05T00:27:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png\" \/>\n\t<meta property=\"og:image:width\" content=\"240\" \/>\n\t<meta property=\"og:image:height\" content=\"80\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"itibble@gmail.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@seven_stones\" \/>\n<meta name=\"twitter:site\" content=\"@seven_stones\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"itibble@gmail.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/\"},\"author\":{\"name\":\"itibble@gmail.com\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/#\\\/schema\\\/person\\\/dd7adbe0152f2279b133661b823e0c28\"},\"headline\":\"Netdelta &#8211; Install and Configure\",\"datePublished\":\"2020-03-05T00:27:58+00:00\",\"dateModified\":\"2020-03-05T00:27:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/\"},\"wordCount\":898,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/wp-content\\\/uploads\\\/netdelta-logo-greyback-80by240.png\",\"keywords\":[\"delta port scans\",\"differential port scanning\",\"firewall change detection\",\"firewall testing\",\"ndiff\",\"netdelta\",\"network delta testing\",\"perimeter monitoring\",\"port scan deltas\",\"port scanning\"],\"articleSection\":[\"delta port scanning\",\"Devops and security\",\"fintech security\",\"Fintechs and Security\",\"firewall delta detection\",\"firewall testing\",\"Firewalls\",\"General\",\"perimeter change monitoring\",\"port scanning\",\"Python\",\"SaaS\",\"security tools\",\"Tools\",\"Vulnerability Assessment\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/\",\"url\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/\",\"name\":\"Netdelta - Install and Configure - Security Macromorphosis\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/wp-content\\\/uploads\\\/netdelta-logo-greyback-80by240.png\",\"datePublished\":\"2020-03-05T00:27:58+00:00\",\"dateModified\":\"2020-03-05T00:27:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/#\\\/schema\\\/person\\\/dd7adbe0152f2279b133661b823e0c28\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/wp-content\\\/uploads\\\/netdelta-logo-greyback-80by240.png\",\"contentUrl\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/wp-content\\\/uploads\\\/netdelta-logo-greyback-80by240.png\",\"width\":240,\"height\":80,\"caption\":\"netdelta logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/netdelta-install-and-configure\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Netdelta &#8211; Install and Configure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/\",\"name\":\"Security Macromorphosis\",\"description\":\"Ian Tibble&#039;s Security Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.seven-stones.biz\\\/blog\\\/#\\\/schema\\\/person\\\/dd7adbe0152f2279b133661b823e0c28\",\"name\":\"itibble@gmail.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g\",\"caption\":\"itibble@gmail.com\"},\"description\":\"Author of Security De-engineering, CTO at Seven Stones (Indonesia)\",\"sameAs\":[\"http:\\\/\\\/www.seven-stones.biz\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netdelta - Install and Configure - Security Macromorphosis","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/","og_locale":"en_US","og_type":"article","og_title":"Netdelta - Install and Configure - Security Macromorphosis","og_description":"Netdelta is a tool for monitoring networks and flagging alerts upon changes in advertised services. Now &#8211; I like Python and especially Django, and around 2014 or so i was asked to setup a facility for monitoring for changes in &hellip; Continue reading &rarr;","og_url":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/","og_site_name":"Security Macromorphosis","article_published_time":"2020-03-05T00:27:58+00:00","article_modified_time":"2020-03-05T00:27:59+00:00","og_image":[{"width":240,"height":80,"url":"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png","type":"image\/png"}],"author":"itibble@gmail.com","twitter_card":"summary_large_image","twitter_creator":"@seven_stones","twitter_site":"@seven_stones","twitter_misc":{"Written by":"itibble@gmail.com","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#article","isPartOf":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/"},"author":{"name":"itibble@gmail.com","@id":"https:\/\/www.seven-stones.biz\/blog\/#\/schema\/person\/dd7adbe0152f2279b133661b823e0c28"},"headline":"Netdelta &#8211; Install and Configure","datePublished":"2020-03-05T00:27:58+00:00","dateModified":"2020-03-05T00:27:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/"},"wordCount":898,"commentCount":0,"image":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png","keywords":["delta port scans","differential port scanning","firewall change detection","firewall testing","ndiff","netdelta","network delta testing","perimeter monitoring","port scan deltas","port scanning"],"articleSection":["delta port scanning","Devops and security","fintech security","Fintechs and Security","firewall delta detection","firewall testing","Firewalls","General","perimeter change monitoring","port scanning","Python","SaaS","security tools","Tools","Vulnerability Assessment"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/","url":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/","name":"Netdelta - Install and Configure - Security Macromorphosis","isPartOf":{"@id":"https:\/\/www.seven-stones.biz\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#primaryimage"},"image":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png","datePublished":"2020-03-05T00:27:58+00:00","dateModified":"2020-03-05T00:27:59+00:00","author":{"@id":"https:\/\/www.seven-stones.biz\/blog\/#\/schema\/person\/dd7adbe0152f2279b133661b823e0c28"},"breadcrumb":{"@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#primaryimage","url":"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png","contentUrl":"https:\/\/www.seven-stones.biz\/blog\/wp-content\/uploads\/netdelta-logo-greyback-80by240.png","width":240,"height":80,"caption":"netdelta logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seven-stones.biz\/blog\/netdelta-install-and-configure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seven-stones.biz\/blog\/"},{"@type":"ListItem","position":2,"name":"Netdelta &#8211; Install and Configure"}]},{"@type":"WebSite","@id":"https:\/\/www.seven-stones.biz\/blog\/#website","url":"https:\/\/www.seven-stones.biz\/blog\/","name":"Security Macromorphosis","description":"Ian Tibble&#039;s Security Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seven-stones.biz\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seven-stones.biz\/blog\/#\/schema\/person\/dd7adbe0152f2279b133661b823e0c28","name":"itibble@gmail.com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4efc9caa4c914912bcf9dd199b33f34a0d42e56752f4f713cd8d0c5416733603?s=96&d=mm&r=g","caption":"itibble@gmail.com"},"description":"Author of Security De-engineering, CTO at Seven Stones (Indonesia)","sameAs":["http:\/\/www.seven-stones.biz"]}]}},"_links":{"self":[{"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/posts\/563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/comments?post=563"}],"version-history":[{"count":8,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/posts\/563\/revisions"}],"predecessor-version":[{"id":573,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/posts\/563\/revisions\/573"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/media\/575"}],"wp:attachment":[{"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/media?parent=563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/categories?post=563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seven-stones.biz\/blog\/wp-json\/wp\/v2\/tags?post=563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}