{"id":6697,"date":"2011-02-27T18:42:08","date_gmt":"2011-02-27T17:42:08","guid":{"rendered":"https:\/\/www.corelan.be\/?p=6697"},"modified":"2011-02-27T18:42:08","modified_gmt":"2011-02-27T17:42:08","slug":"cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x","status":"publish","type":"post","link":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/","title":{"rendered":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x"},"content":{"rendered":"<h3>Introduction<\/h3>\n<p>After spending a few hours fighting a battle against <a href=\"http:\/\/www.snorby.org\" target=\"_blank\" rel=\"noopener\">Snorby<\/a> and Apache2 + Passenger, I finally managed to get it to run properly on my Ubunty 10.x box (32bit). Looking back, I figured I might not be the only one who is having issues with this.<\/p>\n<p>So I decided to publish the notes I took while setting everything up, and as a little bonus, explain how to install and configure <a href=\"http:\/\/openinfosecfoundation.org\" target=\"_blank\" rel=\"noopener\">Suricata<\/a> as well (configured in combination with barnyard2 which will pick up local logs and send them to the remote MySQL server).<\/p>\n<p>There are the components that will be installed :<\/p>\n<ul>\n<li>Snorby 2.x (latest revision from git)<\/li>\n<li>MySql 5<\/li>\n<li>Ruby 1.9.2p0<\/li>\n<li>Apache2<\/li>\n<li>Passenger 3<\/li>\n<li>Barnyard 2<\/li>\n<li>Suricata 1.1beta1 with emerging-threat ruleset<\/li>\n<\/ul>\n<p>&#160;<\/p>\n<h3>Install dependencies \/ prerequisites for Snorby<\/h3>\n<h4>Packages<\/h4>\n<p>First, make sure your system is up to date :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">aptitude update\napt-get update\napt-get upgrade\napt-get dist-upgrade<\/pre>\n<p>\n  <br \/>Then install new packages : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">apt-get install gcc g++ build-essential libssl-dev libreadline5-dev \\\n     zlib1g-dev linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev \\\n     imagemagick git-core libmysqlclient-dev mysql-server libmagickwand-dev \\\n     default-jre<\/pre>\n<h4>wkhtmlpdf with QT patch<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/tmp\nwget http:\/\/wkhtmltopdf.googlecode.com\/files\/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2\nbunzip2 wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2\ntar xvf wkhtmltopdf-0.10.0_rc2-static-i386.tar\ncp wkhtmltopdf-i386 \/usr\/bin\/wkhtmltopdf<\/pre>\n<h4>Ruby 1.9.2p0<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/tmp\nwget http:\/\/ftp.ruby-lang.org\/\/pub\/ruby\/1.9\/ruby-1.9.2-p0.tar.gz\ntar -xvzf ruby-1.9.2-p0.tar.gz\ncd ruby-1.9.2-p0\n.\/configure\nmake &amp;&amp; make install\nln -s \/usr\/local\/ruby\/bin\/bundle \/usr\/bin<\/pre>\n<p>\n  <br \/>Run &quot;ruby - v&quot; and verify that it returns the correct version : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]<\/pre>\n<p><em>(If this shows a different version, then verify that \/usr\/local\/ruby\/bin\/ruby -v is version 1.9.2p0)<\/em><\/p>\n<h4>gems<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">gem install thor i18n bundler\ngem install tzinfo builder memcache-client rack rack-test erubis mail text-format\ngem install rack-mount --version=0.4.0\ngem install rails sqlite3-ruby<\/pre>\n<p>&#160;<\/p>\n<h3>Installing Snorby<\/h3>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">git clone http:<span style=\"color: #008000\">\/\/github.com\/Snorby\/snorby.git \/var\/www\/snorby<\/span><\/pre>\n<h4>Edit configuration files :<\/h4>\n<p>Edit <strong>\/var\/www\/snorby\/config\/database.yml<\/strong> : look for the &quot;snorby&quot; entry and enter the mysql root username &amp; password here :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">snorby: &amp;snorby\n  adapter: mysql\n  username: root\n  password: <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">enter<\/span> <span style=\"color: #ff0000\">the<\/span> <span style=\"color: #ff0000\">mysql<\/span> <span style=\"color: #ff0000\">root<\/span> <span style=\"color: #ff0000\">password<\/span> <span style=\"color: #ff0000\">here<\/span><span style=\"color: #0000ff\">&gt;<\/span>\n  host: localhost<\/pre>\n<p>(don't worry, we'll get rid of the root username\/password later on)<\/p>\n<p>Edit <strong>\/var\/www\/snorby\/config\/snorby_config.yml<\/strong> : set the correct path to wkhtmltopdf<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">development:\n  domain: localhost:3000\n  wkhtmltopdf: \/usr\/bin\/wkhtmltopdf\n\ntest:\n  domain: localhost:3000\n  wkhtmltopdf: \/usr\/bin\/wkhtmltopdf\n\nproduction:\n  domain: localhost:3000\n  wkhtmltopdf: \/usr\/bin\/wkhtmltopdf<\/pre>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<h4>Run Snorby setup :<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/var\/www\/snorby\nrake snorby:setup<\/pre>\n<p>\n  <br \/>It is very likely that you will get the following error : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">(in \/var\/www\/snorby)\nYou have requested:\n  activesupport = 3.0.3\n\nThe bundle currently has activesupport locked at 3.0.4.\nTry running `bundle update activesupport`\nTry running `bundle install`.<\/pre>\n<p>\n  <br \/>Fix : run the following commands in the \/var\/www\/snorby folder : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">bundle update activesupport railties rails\ngem install arel\ngem install ezprint\nbundle install<\/pre>\n<p>\n  <br \/>Run the setup again : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/var\/www\/snorby\nrake snorby:setup<\/pre>\n<p>\n  <br \/>If all goes well, the snorby database should get created\/populated now. Since we used the mysql root username\/password in the database.yml configuration file, the necessary database and tables should be created successfully. <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">root@server:\/var\/www\/snorby# rake snorby:setup\n(in \/var\/www\/snorby)\n&lt;...long key....&gt;\n[datamapper] Created database 'snorby'\n[datamapper] Finished auto_upgrade! for :default repository 'snorby'<\/pre>\n<p>\n  <br \/>If you get an error about ezprint: <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">(in \/var\/www\/snorby)\nrake aborted!\nhttp:<span style=\"color: #008000\">\/\/github.com\/mephux\/ezprint.git (at rails3) is not checked out. \\ <\/span>\n   Please run `bundle install`\n\/var\/www\/snorby\/Rakefile:4\n(See full trace by running task with --trace)<\/pre>\n<p>\n  <br \/>Solution : run this from <strong>\/var\/www\/snorby<\/strong> <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">bundle pack\nbundle install --path vender\/cache<\/pre>\n<p>then run bundle install the rake snorby:setup command again<\/p>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<h4>Configure mysql<\/h4>\n<p>We used the root user \/ password to allow snorby to create the necessary tables.&#160; If you prefer to use a mysql user account that has less privileges, then you can add a new mysql user, grant privileges, and edit the snorby configuration again :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">mysql -u root -p\n\ncreat user 'snorbyuser'@'localhost' IDENTIFIED BY 'some_pass';\ngrant all privileges on snorby.* to 'snorbyuser'@'localhost' with grant option;\nflush privileges;<\/pre>\n<p>\n  <br \/>Now edit \/var\/www\/snorby\/config\/database.yml again and replace the username and password with the newly created user <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">snorby: &amp;snorby\n  adapter: mysql\n  username: snorbyuser\n  password: some_pass\n  host: localhost<\/pre>\n<p>You will need to create a useraccount for your (remote) suricata\/snorby sensors too.&#160; The procedure is exactly the same as indicated above, but you will have to replace 'localhost' with the IP address of the remote sensor.&#160; If the sensor is local, you can use the <a href=\"mailto:snorbyuser@localhost\">snorbyuser@localhost<\/a> mysql user account as well.<\/p>\n<p>By default, the mysql server listens on localhost only.&#160; Edit <strong>\/etc\/mysql\/my.cnf<\/strong> to change the default behaviour :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\"># Instead of skip-networking the default is now to listen only on\n# localhost which is more compatible and is not less secure.\nbind-address            = 127.0.0.1<\/pre>\n<p>\n  <br \/>Comment the bind-address statement (add a # in front of the line) and restart mysql <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">service mysql restart<\/pre>\n<p>\n  <br \/>Verify that the server is now listening on all ip addresses : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">root@server:\/# lsof -i | grep mysqld\nmysqld  21309    mysql   10u  IPv4 16405476      0t0  TCP *:mysql (LISTEN)<\/pre>\n<p>TCP *:mysql =&gt; listening on all interfaces<\/p>\n<p>&#160;<\/p>\n<h3>Apache2 &amp; Passenger<\/h3>\n<h4>Install packages &amp; dependencies<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">apt-get install apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev libopenssl-ruby\napt-get install libcurl4-openssl-dev<\/pre>\n<p>\n  <br \/>Start apache2 and make sure the default webpage loads <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">service apache2 start<\/pre>\n<h4>Install passenger<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">gem install --no-ri --no-rdoc --version 3.0.3 passenger<\/pre>\n<h4>Install passenger module for apache2<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 671px; padding-right: 5px; height: 69px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">\/usr\/local\/ruby\/lib\/ruby\/gems\/1.9.1\/gems\/passenger-3.0.3\/bin\/passenger-install-apache2-module -a<\/pre>\n<p>&#160;<\/p>\n<p>Edit \/etc\/apache2\/mods-available\/passenger.load (or create if it does not exits) :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">LoadModule passenger_module \/usr\/local\/ruby\/lib\/ruby\/gems\/1.9.1\/gems\/passenger-3.0.3\/ext\/apache2\/mod_passenger.so<\/pre>\n<p>\n  <br \/>Edit \/etc\/apache2\/mods-available\/passenger.conf : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">&lt;IfModule mod_passenger.c&gt;\n   PassengerRoot \/usr\/local\/ruby\/lib\/ruby\/gems\/1.9.1\/gems\/passenger-3.0.3\n   PassengerRuby \/usr\/local\/ruby\/bin\/ruby\n&lt;\/IfModule&gt;<\/pre>\n<p>\n  <br \/>Enable the module (and some other modules you might need) : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">a2enmod passenger\na2enmod rewrite\na2enmod ssl<\/pre>\n<p>\n  <br \/>Set file\/folder permissions on the snorby folder : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">chown www-data:www-data \/var\/www\/snorby -R<\/pre>\n<p>&#160;<\/p>\n<h4>Integrate Snorby with Apache2<\/h4>\n<p>Suppose we want the snorby frontend to be reachable using virtualhost snorby.corelan.be :<\/p>\n<p>Create a file &quot;snorby&quot; under <strong>\/etc\/apache2\/sites-available<\/strong> :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">&lt;VirtualHost *:80&gt;\n        ServerAdmin webmaster@localhost\n        ServerName snorby.corelan.be\n        DocumentRoot \/var\/www\/snorby\/public\n\n        &lt;Directory &quot;<span style=\"color: #8b0000\">\/var\/www\/snorby\/public<\/span>&quot;&gt;\n                AllowOverride all\n                Order deny,allow\n                Allow from all\n                Options -MultiViews\n        &lt;\/Directory&gt;\n\n&lt;\/VirtualHost&gt;<\/pre>\n<p>\n  <br \/>Enable the new website : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">ln -s \/etc\/apache2\/sites-available\/snorby \/etc\/apache2\/sites-enabled\/snorby<\/pre>\n<p>\n  <br \/>Restart apache2 : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">service apache2 restart<\/pre>\n<p>Make sure snorby.corelan.be points at your local apache2 server, and navigate to that website :<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 7px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png\" width=\"464\" height=\"336\" \/><\/a><\/p>\n<p>(log in with user <a href=\"mailto:snorby@snorby.org\">snorby@snorby.org<\/a> and password snorby)<\/p>\n<p>If you get an error page instead of the login page :<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 7px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb5.png\" width=\"577\" height=\"286\" \/><\/a><\/p>\n<p>-&gt; complaining about ezprint.git not being installed, then go to the<strong> \/var\/www\/snorby<\/strong> folder and run the following 2 commands :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">bundle pack\nbundle install --path vender\/cache<\/pre>\n<p>Wait until the process has finished.<\/p>\n<p>Restart apache2, and then try to access the website again, you should now be able to log on.<\/p>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<p>If you get a message about the &quot;worker&quot; not being started :<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 7px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb6.png\" width=\"562\" height=\"53\" \/><\/a><\/p>\n<p>Solution : click &quot;Administation&quot;, Click &quot;Worker Options&quot; Administration menu and select &quot;Start worker&quot;.<\/p>\n<p>Now click on &quot;Worker Options&quot; and start the 2 jobs<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 7px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb1.png\" width=\"579\" height=\"172\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb2.png\" width=\"273\" height=\"149\" \/><\/a><\/p>\n<p>If you go back to the main page now, you may see &quot;Currently caching&quot; for a brief moment (depending on the number of events already in the database) :<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 7px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb3.png\" width=\"581\" height=\"214\" \/><\/a><\/p>\n<blockquote>\n<p>Tip : if, at any given time, the dashboard continues to show 0 events (or an incorrect number of events in general), but the Events view shows that all entries are inside the database, then you may have to clear the caches and rebuild it from scratch :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 271px; padding-right: 5px; height: 87px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\"><span style=\"color: #ffffff\">mysql -u root -p\n\nuse snorby;\ntruncate table caches;\nexit<\/span><\/pre>\n<p>Now remove the 2 worker jobs (use the little trash can icon next to each worker job to remove the job)<\/p>\n<p><a href=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb4.png\" width=\"273\" height=\"72\" \/><\/a><\/p>\n<p>Recreate the jobs via Worker Options, and the main dashboard should eventually get populated again.<\/p>\n<\/blockquote>\n<p>&#160;<\/p>\n<p>Okay, the server is now ready to receive data from local\/remote sensors (Snort, Suricata, \u2026).<\/p>\n<p>&#160;<\/p>\n<h3>Updating Snorby<\/h3>\n<p>Updating snorby is as easy as running the following commands :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/var\/www\/snorby\ngit pull origin master\nrake snorby:update<\/pre>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<h3>Installing Suricata &amp; Barnyard2<\/h3>\n<h4>Dependencies<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">apt-get install libpcre3 libpcre3-dbg libpcre3-dev \\\n            build-essential autoconf automake libtool \\\n            libpcap-dev libnet1-dev mysql-client libmysqlclient16-dev<\/pre>\n<h4>Set up yaml :<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">yaml :\ncd \/tmp\nwget http:<span style=\"color: #008000\">\/\/pyyaml.org\/download\/libyaml\/yaml-0.1.3.tar.gz<\/span>\ntar xvfz yaml-0.1.3.tar.gz\ncd yaml-0.1.3\n.\/configure &amp;&amp; make &amp;&amp; make install<\/pre>\n<h4>Install barnyard2 :<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/tmp\nwget http:<span style=\"color: #008000\">\/\/www.securixlive.com\/download\/barnyard2\/barnyard2-1.9.tar.gz<\/span>\ntar xvfz barnyard2-1.9.tar.gz\ncd barnyard2-1.9\n.\/configure --with-mysql &amp;&amp; make &amp;&amp; make install<\/pre>\n<p>Do NOT delete the \/tmp\/barnyard2-1.9 folder yet.<\/p>\n<h4>Install suricata:<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/tmp\nwget http:<span style=\"color: #008000\">\/\/www.openinfosecfoundation.org\/download\/suricata-1.1beta1.tar.gz<\/span>\ntar xvfz suricata-1.1beta1.tar.gz\ncd suricata-1.1beta1\nmkdir \/var\/log\/suricata\n.\/configure &amp;&amp; make &amp;&amp; make install<\/pre>\n<p>Do NOT remove the \/tmp\/suricata-1.1beta1 folder yet, we need some files from this folder later on.<\/p>\n<p>Try to run suricata :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">suricata<\/pre>\n<p>&#160;<\/p>\n<p>If you get the following message :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">suricata: error while loading shared libraries: libhtp-0.2.so.1: cannot open shared object file: No such file or directory<\/pre>\n<p>\n  <br \/>then add &quot;\/usr\/local\/lib&quot; to \/etc\/ld.so.conf and run ldconfig. <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">root@server:\/# cat \/etc\/ld.so.conf\ninclude \/etc\/ld.so.conf.d<span style=\"color: #008000\">\/*.conf\n\/usr\/local\/lib\nroot@server:\/# ldconfig<\/span><\/pre>\n<p>\n  <br \/>Run &quot;suricata&quot; again : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">suricata\n[14005] 27\/2\/2011 -- 22:08:28 - (suricata.c:440) &lt;Info&gt; (main) -- This is Suricata version 1.1beta1\n[14005] 27\/2\/2011 -- 22:08:28 - (util-cpu.c:171) &lt;Info&gt; (UtilCpuPrintSummary) -- CPUs\/cores online: 2\n[14005] 27\/2\/2011 -- 22:08:28 - (suricata.c:765) &lt;Error&gt; (main) -- [ERRCODE: SC_ERR_OPENING_FILE(40)]\n    - Configuration file has not been provided\n\nSuricata 1.1beta1\nUSAGE: suricata\n\n        -c &lt;path&gt;                    : path to configuration file\n        -i &lt;dev or ip&gt;               : run in pcap live mode\n        -r &lt;path&gt;                    : run in pcap file\/offline mode\n        -s &lt;path&gt;                    : path to signature file (optional)\n        -l &lt;dir&gt;                     : default log directory\n        -D                           : run as daemon\n        --engine-analysis            : print reports on analysis of different sections in the engine and exit.\n                                       Please have a look at the conf parameter engine-analysis on what reports\n                                       can be printed\n        --pidfile &lt;file&gt;             : write pid to this file (only for daemon mode)\n        --init-errors-fatal          : enable fatal failure on signature init error\n        --dump-config                : show the running configuration\n        --pcap-buffer-size           : size of the pcap buffer value from 0 - 2147483647\n        --user &lt;user&gt;                : run suricata as this user after init\n        --group &lt;group&gt;              : run suricata as this group after init\n        --erf-in &lt;path&gt;              : process an ERF file\n\nTo run the engine with default configuration on interface eth0\nwith signature file &quot;<span style=\"color: #8b0000\">signatures.rules<\/span>&quot;, run the command as:\n\nsuricata -c suricata.yaml -s signatures.rules -i eth0<\/pre>\n<h4>Get suricata rules (emerging-threats)<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">mkdir \/etc\/suricata\ncd \/etc\/suricata\nwget http:<span style=\"color: #008000\">\/\/rules.emergingthreats.net\/open\/suricata\/emerging.rules.tar.gz<\/span>\ntar xvfz emerging.rules.tar.gz<\/pre>\n<h4>Configure suricata :<\/h4>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cd \/tmp\/suricata-1.1beta1\ncp suricata.yaml \/etc\/suricata\/\ncp classification.config \/etc\/suricata\/\ncp reference.config \/etc\/suricata\/<\/pre>\n<p><em>(note : After copying those files, you can remove the installation folder from \/tmp)<\/em><\/p>\n<p>Edit \/etc\/suricata\/suricata.yaml<\/p>\n<p>Make sure alert output for barnyard2 is enabled (it is enabled by default) :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">  # alert output for use with Barnyard2\n  - unified2-alert:\n      enabled: yes\n      filename: unified2.alert\n\n      # Limit in MB.\n      #limit: 32<\/pre>\n<p>\n  <br \/>Scroll down until you reach &quot;default-rule-path:&quot; and enable\/put the emerging-threat rules files that are relevant to your system under &quot;rule-files:&quot;. (You can find the list with rules under \/etc\/suricata\/rules).&#160; Example : <\/p>\n<p><\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">default-rule-path: \/etc\/suricata\/rules\/\nrule-files:\n - emerging-attack_response.rules\n - emerging-dos.rules\n - emerging-exploit.rules\n - emerging-games.rules\n - emerging-inappropriate.rules\n - emerging-malware.rules\n - emerging-p2p.rules\n - emerging-policy.rules\n - emerging-scada.rules\n - emerging-smtp.rules\n - emerging-virus.rules\n - emerging-voip.rules\n - emerging-web_client.rules\n - emerging-web_server.rules\n - emerging-web_specific_apps.rules\n - emerging-worm.rules\n - emerging-user_agents.rules\n - emerging-current_events.rules<\/pre>\n<p>Next, edit the HOME_NET variable and set it to your local IP or IP subnet<\/p>\n<p>Example :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">HOME_NET: &quot;<span style=\"color: #8b0000\">[192.168.0.0\/24]<\/span>&quot;<\/pre>\n<p>That's the basic config.<\/p>\n<h4>Keeping suricata up to date<\/h4>\n<p>You can use this optional simple script to grab a copy of the git master and update the suricata binaries :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">#!\/bin\/bash\ncd \/tmp\nrm -rf \/tmp\/suricata\nmkdir suricata\ncd suricata\n\/usr\/bin\/git clone git:\/\/phalanx.openinfosecfoundation.org\/oisf.git\ncd oisf\n.\/autogen.sh\n.\/configure &amp;&amp; make &amp;&amp; make install<\/pre>\n<p>&#160;<\/p>\n<h4>Configure barnyard2 :<\/h4>\n<p>Get the sample config file from the installation folder :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">cp \/tmp\/barnyard2-1.9\/etc\/barnyard2.conf \/etc\/suricata\/<\/pre>\n<p><em>(note : After copying the file, you can remove the installation folder from \/tmp)<\/em><\/p>\n<p>Edit the conf file and set the following parameters :<\/p>\n<p>(we'll assume you are installing suricata on the same box as the snorby engine)<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">config reference_file:      \/etc\/suricata\/reference.config\nconfig classification_file: \/etc\/suricata\/classification.config\nconfig gen_file:            \/etc\/suricata\/rules\/gen-msg.map\nconfig sid_file:            \/etc\/suricata\/rules\/sid-msg.map\n\noutput database: log, mysql, user=snorbyuser password=some_pass \/\n   dbname=snorby host=localhost sensor_name=sensor1<\/pre>\n<p>(obviously the output database configuration must be placed on one line, remove the \/ between the password and dbname.)<\/p>\n<p>If you are installing remote suricate sensors (remote from the mysql server \/ snorby engine point of view), then you will have to configure mysql and grant access to the remote mysqluser, from the IP of the sensor.&#160; The &quot;host&quot; entry in the barnyard2.conf file needs to point at the remote mysql server.<\/p>\n<p>Finally, create the log folder for barnyard2 :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">mkdir \/var\/log\/barnyard2<\/pre>\n<h3>Run barnyard2 :<\/h3>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">barnyard2 -c \/etc\/suricata\/barnyard2.conf -d \/var\/log\/suricata -f unified2.alert -w \/var\/log\/suricata\/suricata.waldo -D<\/pre>\n<p>This will run barnyard2 in daemon mode. If barnyard2 does not appear to be working, omit the -D parameter and you will be able to see any errors that might prevent barnyard2 from running.<\/p>\n<p>When barnyard2 is running, you should see a new sensor in Snorby. If you don't like the display name of the sensor, you can change the name via Administration Menu - Sensors<\/p>\n<p>When barnyard2 is running, you can launch suricata too :<\/p>\n<h3>Run suricata :<\/h3>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">suricata -c \/etc\/suricata\/suricata.yaml -i eth0 -D<\/pre>\n<p>(change interface accordingly.&#160; -D will make suricate run in daemon mode)<\/p>\n<p>&#160;<\/p>\n<p>As soon as suricata starts generating alerts, barnyard2 should pick them up, and use the mysql connector to write them into the events table of the snorby database. You should be able to see these new events in the &quot;events&quot; view of Snorby.<\/p>\n<p>In the background (every 30 mins), the snorby worker jobs will pick up the events, process them, add them to the caches table, and show them on the dashboard too.<\/p>\n<p>&#160;<\/p>\n<h3>Test IDS<\/h3>\n<p>If you want to test your setup, then run :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">lynx www.testmyids.com<\/pre>\n<p>(if lynx was not installed, run <strong>apt-get install lynx<\/strong> and try again)<\/p>\n<p>Watch the \/var\/log\/suricata folder. You should see something similar to this :<\/p>\n<pre style=\"border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #252525; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px\">root@server:\/var\/log\/suricata# ls -al\ntotal 88\ndrwxr-xr-x  2 root root  4096 2011-02-28 05:38 .\ndrwxr-xr-x 18 root root  4096 2011-02-28 05:30 ..\n-rw-r-----  1 root root   194 2011-02-28 05:37 fast.log\n-rw-r-----  1 root root     0 2011-02-28 05:35 http.log\n-rw-r--r--  1 root root 66873 2011-02-28 05:39 stats.log\n-rw-------  1 root root  2056 2011-02-28 05:38 suricata.waldo\n-rw-r-----  1 root root     0 2011-02-28 05:34 unified2.alert.1298867650\n-rw-r-----  1 root root    60 2011-02-28 05:37 unified2.alert.1298867720<\/pre>\n<p>If the fast.log file, suricata.waldo and unified2.alert files are growing, then the IDS is picking up the test alerts from <a href=\"http:\/\/www.testmyids.com\">www.testmyids.com<\/a><\/p>\n<p>&#160;<\/p>\n<h3>Addendum (march 2nd 2011)<\/h3>\n<p>After running this setup for a few days, I noticed that Snorby only appears to be seeing &quot;low severity&quot; events, no matter how hard I try. <\/p>\n<p>Something must be wrong.<\/p>\n<p>I did some tests and it appears that suricata 1.1 might not be able to properly classify events.<\/p>\n<p>I tried with snort, and that seems to work well.<\/p>\n<p>Update : I filed a <a href=\"https:\/\/redmine.openinfosecfoundation.org\/issues\/275\" target=\"_blank\" rel=\"noopener\">bug report<\/a> with suricata and it looks like they have fixed the issue. You can use the suricata &quot;update&quot; script to grab the latest version.<\/p>\n<p>&#160;<\/p>\n<h3>Snort<\/h3>\n<p>Follow the installation guide at http:\/\/www.snort.org\/assets\/158\/snortinstallguide2904.pdf with the exception of&#160; creating a &quot;snort&quot; database. Make sure to set up barnyard2 logging and tell it to use &quot;snorby&quot; instead of the &quot;snort&quot; database.<\/p>\n<p>In short, the easiest way to get snort to run on ubuntu 10.x is to run apt-get install snort&#160;&#160; (or apt-get install snort-mysql if you want to have snort log events directly into the MySql database. This is not the recommended configuration and barnyard2 will be able to handle MySQL downtime)<\/p>\n<p>&#160;<\/p>\n<p>&#160;<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>After spending a few hours fighting a battle against Snorby and Apache2 + Passenger, I finally managed to get it to run properly on my Ubunty 10.x box (32bit). Looking back, I figured I might not be the only one who is having issues with this.<\/p>\n<p>So I decided to publish the notes I took while setting everything up, and as a little bonus, explain how to install and configure Suricata as well (configured in combination with barnyard2 which will pick up local logs and send them to the remote MySQL server).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"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","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[64,164,2382,127],"tags":[2970,133,131],"class_list":["post-6697","post","type-post","status-publish","format-standard","hentry","category-linux","category-networking","category-security-papers","category-security","tag-sql-injection","tag-snort","tag-linux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research<\/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.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"og:description\" content=\"After spending a few hours fighting a battle against Snorby and Apache2 + Passenger, I finally managed to get it to run properly on my Ubunty 10.x box (32bit). Looking back, I figured I might not be the only one who is having issues with this. So I decided to publish the notes I took while setting everything up, and as a little bonus, explain how to install and configure Suricata as well (configured in combination with barnyard2 which will pick up local logs and send them to the remote MySQL server).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/\" \/>\n<meta property=\"og:site_name\" content=\"Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/corelanconsulting\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-27T17:42:08+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"corelanc0d3r\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@corelanc0d3r\" \/>\n<meta name=\"twitter:site\" content=\"@corelanc0d3r\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/\"},\"author\":{\"name\":\"corelanc0d3r\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\"},\"headline\":\"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x\",\"datePublished\":\"2011-02-27T17:42:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/\"},\"wordCount\":1587,\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/image_thumb.png\",\"keywords\":[\"sql injection\",\"snort\",\"Linux and Unix\"],\"articleSection\":[\"Linux and Unix\",\"Networking\",\"Papers\",\"Security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/\",\"name\":\"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/image_thumb.png\",\"datePublished\":\"2011-02-27T17:42:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/image_thumb.png\",\"contentUrl\":\"http:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2011\\\/02\\\/image_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2011\\\/02\\\/27\\\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.corelan.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"name\":\"Corelan CyberSecurity Research\",\"description\":\"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.corelan.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\",\"name\":\"Corelan CyberSecurity Research\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"width\":200,\"height\":200,\"caption\":\"Corelan CyberSecurity Research\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/corelanconsulting\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\",\"https:\\\/\\\/x.com\\\/corelanconsulting\",\"https:\\\/\\\/instagram.com\\\/corelanconsult\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\",\"name\":\"corelanc0d3r\",\"pronouns\":\"he\\\/him\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"caption\":\"corelanc0d3r\"},\"description\":\"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.\",\"sameAs\":[\"https:\\\/\\\/www.corelan-training.com\",\"https:\\\/\\\/instagram.com\\\/corelanc0d3r\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/petervaneeckhoutte\\\/\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\"],\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/author\\\/admin0\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research","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.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/","og_locale":"en_US","og_type":"article","og_title":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research","og_description":"After spending a few hours fighting a battle against Snorby and Apache2 + Passenger, I finally managed to get it to run properly on my Ubunty 10.x box (32bit). Looking back, I figured I might not be the only one who is having issues with this. So I decided to publish the notes I took while setting everything up, and as a little bonus, explain how to install and configure Suricata as well (configured in combination with barnyard2 which will pick up local logs and send them to the remote MySQL server).","og_url":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/","og_site_name":"Corelan | Exploit Development &amp; Vulnerability Research","article_publisher":"https:\/\/www.facebook.com\/corelanconsulting","article_published_time":"2011-02-27T17:42:08+00:00","og_image":[{"url":"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png","type":"","width":"","height":""}],"author":"corelanc0d3r","twitter_card":"summary_large_image","twitter_creator":"@corelanc0d3r","twitter_site":"@corelanc0d3r","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#article","isPartOf":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/"},"author":{"name":"corelanc0d3r","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f"},"headline":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x","datePublished":"2011-02-27T17:42:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/"},"wordCount":1587,"publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#primaryimage"},"thumbnailUrl":"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png","keywords":["sql injection","snort","Linux and Unix"],"articleSection":["Linux and Unix","Networking","Papers","Security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/","url":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/","name":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x - Corelan | Exploit Development &amp; Vulnerability Research","isPartOf":{"@id":"https:\/\/www.corelan.be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#primaryimage"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#primaryimage"},"thumbnailUrl":"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png","datePublished":"2011-02-27T17:42:08+00:00","breadcrumb":{"@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#primaryimage","url":"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png","contentUrl":"http:\/\/www.corelan.be\/wp-content\/uploads\/2011\/02\/image_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.corelan.be\/index.php\/2011\/02\/27\/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.corelan.be\/"},{"@type":"ListItem","position":2,"name":"Cheat sheet : Installing Snorby 2.2 with Apache2 and Suricata with Barnyard2 on Ubuntu 10.x"}]},{"@type":"WebSite","@id":"https:\/\/www.corelan.be\/#website","url":"https:\/\/www.corelan.be\/","name":"Corelan CyberSecurity Research","description":"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.","publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.corelan.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.corelan.be\/#organization","name":"Corelan CyberSecurity Research","url":"https:\/\/www.corelan.be\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","width":200,"height":200,"caption":"Corelan CyberSecurity Research"},"image":{"@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/corelanconsulting","https:\/\/x.com\/corelanc0d3r","https:\/\/x.com\/corelanconsulting","https:\/\/instagram.com\/corelanconsult"]},{"@type":"Person","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f","name":"corelanc0d3r","pronouns":"he\/him","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","url":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","caption":"corelanc0d3r"},"description":"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.","sameAs":["https:\/\/www.corelan-training.com","https:\/\/instagram.com\/corelanc0d3r","https:\/\/www.linkedin.com\/in\/petervaneeckhoutte\/","https:\/\/x.com\/corelanc0d3r"],"url":"https:\/\/www.corelan.be\/index.php\/author\/admin0\/"}]}},"views":43533,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/6697","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/comments?post=6697"}],"version-history":[{"count":0,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/6697\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/media?parent=6697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/categories?post=6697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/tags?post=6697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}