{"id":515,"date":"2010-06-18T15:08:25","date_gmt":"2010-06-18T20:08:25","guid":{"rendered":"http:\/\/it.thelibrarie.com\/weblog\/?p=515"},"modified":"2010-07-13T09:58:36","modified_gmt":"2010-07-13T14:58:36","slug":"installing-snort-on-ubuntu-10-04","status":"publish","type":"post","link":"https:\/\/it.thelibrarie.com\/weblog\/2010\/06\/installing-snort-on-ubuntu-10-04\/","title":{"rendered":"Installing SNORT on Ubuntu 10.04"},"content":{"rendered":"<p>My company recently removed a Cisco IPS device (pile of crap) along with a Microsoft 2006 ISA Server (more of a pile of crap) from the network infrastructure.  It cost too much to maintain licensing, and it was starting to become a huge headache for company growth.<\/p>\n<p>However, the director of IT requested that we still have some sort of logging for potential breaches.  Every firewall block in\/out is sent to us via email, and every firewall action is kept in a syslog server (and backed up to another syslog server and NAS system), but it would be nice to see the packets and payloads of every network transaction.<\/p>\n<p>Snort to the rescue!  Snort is free (well, if you don&#8217;t mind having to setup\/maintain\/administer it without a ton of help and really don&#8217;t mind having slightly older rules than paying customers), and doesn&#8217;t really require a lot of hardware to get it to work.  Our production Snort is running on an HP DL320 1U with a 3.2GHz Pentium 4, 2GB RAM, and a mirror of 80GB SATA.  For testing I used VMWare Workstation 7, but I&#8217;m sure you can use VMWare Server\/ESX\/ESXi or Xenapp etc.<\/p>\n<p>The settings I used for VMWare:<\/p>\n<blockquote><p>I named it SNORT<br \/>\n1 processor, 2 cores<br \/>\n512MB RAM<br \/>\nBridged Networking single interface (eth0)<br \/>\nSCSI LSI Logic I\/O<br \/>\nSCSI 20GB HD Partition Split into 2GB Files<br \/>\nRemoved the Floppy Disk<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/hardware.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/hardware.png\" alt=\"\" title=\"hardware\" width=\"326\" height=\"233\" class=\"alignnone size-full wp-image-516\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/hardware.png 326w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/hardware-300x214.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/a><\/p><\/blockquote>\n<p>I&#8217;m also using Ubuntu Server 10.04 LTS 32bit.  Grab that ISO if you don&#8217;t already have it.  Oh, and since some of my &#8220;readers&#8221; want me to put this: I grabbed the information used in this post from the ubuntuforums, from bil at play, and from Nick Moore.<\/p>\n<p>I assume that you already know how to load Ubuntu Server.  If not, then Snort will probably be a little bit over your head.  http:\/\/linux.insanelan.com.  Ubuntu was loaded with the following settings:<\/p>\n<blockquote><p>Language &#8211; English<br \/>\nHostname &#8211; snortsvr<br \/>\nTime Zone &#8211; CDT<br \/>\nPartitioning method &#8211; Guided used entire disk<br \/>\nFull name for new user &#8211; buddy<br \/>\nUsername for account &#8211; buddy<br \/>\nPassword &#8211; buddy (I know it&#8217;s weak)<br \/>\nEncrypt home directory &#8211; no<br \/>\nAutomatic Updates &#8211; no<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/packages.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/packages.png\" alt=\"\" title=\"packages\" width=\"229\" height=\"166\" class=\"alignnone size-full wp-image-517\" \/><\/a><\/p>\n<p>I always install LAMP, Mail, and OpenSSH.  Just a standard setup for me.<\/p>\n<p>MySQL Root Password &#8211; password<br \/>\nPostfix configuration &#8211; internet site<br \/>\nSystem mail name &#8211; snortsvr.local<br \/>\nLoad Grub to MBR &#8211; yes<br \/>\nContinue, and then it&#8217;ll reboot your system.\n<\/p><\/blockquote>\n<p>Login as buddy\/buddy.  Now I dislike the whole &#8220;sudo&#8221; crap.  It&#8217;s my server, I don&#8217;t want to have to ask for permission to use it.  If this is a shared server &#8211; sure go ahead &#8211; otherwise do the following:<br \/>\n<code>sudo passwd root<\/code><br \/>\nEnter your buddy password<br \/>\nEnter your root password (I put in &#8220;password&#8221;)<br \/>\n<code>su<\/code><br \/>\nEnter your root password<\/p>\n<p>This is optional but I find it a lot easier to SSH via putty to my system than to control it via the VMWare interface.<br \/>\n<code>ifconfig eth0<\/code><br \/>\nMake note of your IP address<br \/>\nOpen Putty and SSH to your Server (in my case it&#8217;s 10.4.0.54)<br \/>\nLogin as root<\/p>\n<p>You&#8217;ll notice that there will be several packages to update.  Update them.<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/update.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/update.png\" alt=\"\" title=\"update\" width=\"635\" height=\"259\" class=\"alignnone size-full wp-image-519\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/update.png 635w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/update-300x122.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/a><br \/>\n<code>apt-get update<\/code><br \/>\n<code>apt-get upgrade<\/code><\/p>\n<p>Depending on the speed of your internet connection, you may have time to watch a movie &#8211; or maybe it&#8217;s already done and you&#8217;re wondering why I typed this sentence.  Either way, keep reading:<\/p>\n<p><strong>DOWNLOADS AND INSTALLATIONS<\/strong><br \/>\nInstall the following on your Ubuntu system:<br \/>\n<code>apt-get install libpcap0.8-dev libmysqlclient15-dev bison flex apache2 php5 libapache2-mod-php5 php5-gd php5-mysql libtool libpcre3-dev php-pear<\/code><\/p>\n<p>Make a directory for you to download stuff:<br \/>\n<code>mkdir ~\/snortfiles<\/code><br \/>\n<code>cd ~\/snortfiles<\/code><\/p>\n<p>You&#8217;ll need to download the following:<br \/>\nBase 1.4.5<br \/>\n<code>wget http:\/\/downloads.sourceforge.net\/project\/secureideas\/BASE\/base-1.4.5\/base-1.4.5.tar.gz?use_mirror=voxel<\/code><\/p>\n<p>ADOdb 4991<br \/>\n<code>wget http:\/\/downloads.sourceforge.net\/project\/adodb\/adodb-php-4-and-5\/adodb-4991-for-php\/adodb4991.tgz?use_mirror=voxel<\/code><\/p>\n<p>Barnyard2 1.7<br \/>\n<code>wget http:\/\/www.securixlive.com\/download\/barnyard2\/barnyard2-1.7.tar.gz<\/code><\/p>\n<p><strong>Setup Snort<\/strong><br \/>\n<code>apt-get install snort-mysql<\/code><br \/>\nI used my local LAN (10.4.0.0\/24)<br \/>\nClick OK<br \/>\nYES &#8211; you do want to setup a database for snort-mysql<br \/>\nClick OK<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/snort-mysql.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/snort-mysql.png\" alt=\"\" title=\"snort-mysql\" width=\"646\" height=\"403\" class=\"alignnone size-full wp-image-525\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/snort-mysql.png 646w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/snort-mysql-300x187.png 300w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/a><\/p>\n<p><code>mysql -u root -p<\/code><br \/>\nMy password is still password<\/p>\n<p><code>create database snort;<\/code><br \/>\n<code>grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;<\/code><br \/>\n<code>SET PASSWORD FOR snort@localhost=PASSWORD('yourpasswordhere');<\/code><br \/>\n<code>exit<\/code><br \/>\nI used password once again for the password.<\/p>\n<p><code>cd \/usr\/share\/doc\/snort-mysql\/<\/code><br \/>\nImport the snort DB schema<br \/>\n<code>zcat create_mysql.gz | mysql -u root -p snort<\/code><\/p>\n<p>Verify that the import went well<br \/>\n<code>mysql -u root -ppassword<\/code><br \/>\n<code>SHOW DATABASES;<\/code><br \/>\n<code>use snort;<\/code><br \/>\n<code>SHOW TABLES;<\/code><br \/>\nYou should see 16 rows in the set.  If not, then you did something wrong.<br \/>\n<code>exit<\/code><br \/>\n<strong><br \/>\nEdit snort.conf<\/strong><br \/>\n<code>nano \/etc\/snort\/snort.conf<\/code><\/p>\n<blockquote><p>Find &#8220;var HOME_NET any&#8221;, and change it to &#8220;<code>var HOME_NET $eth0_ADDRESS<\/code>&#8221;<br \/>\nFind &#8220;Output log_tcpdump: tcpdump.log&#8221; and change it to &#8220;<code>#Output log_tcpdump: tcpdump.log<\/code>&#8221;<br \/>\nFind &#8220;output log_unified&#8221; and insert &#8220;<code>output unified2: filename snort.log, limit 128<\/code>&#8221; below it.<br \/>\nsave and exit<\/p><\/blockquote>\n<p>You&#8217;re now done installing snort!<\/p>\n<p><strong>Setting up BASE and ABOdb<\/strong><br \/>\n<code>pear install --alldeps Mail<\/code><br \/>\n<code>pear install --alldeps Mail_Mime<\/code><br \/>\n<code>pear install --alldeps Image_Canvas-0.3.2<\/code><br \/>\n<code>pear install --alldeps Image_Graph-0.7.2<\/code><\/p>\n<p>Navigate to your snortfiles folder<br \/>\n<code>cd<\/code><br \/>\n<code>cd snortfiles<\/code><br \/>\n<code>tar -zxvf adodb4991.tgz<\/code><br \/>\n<code>tar -zxvf base-1.4.5.tar.gz<\/code><br \/>\n<code>mv adodb \/var\/www<\/code><br \/>\n<code>mv base-1.4.5 \/var\/www<\/code><\/p>\n<p><code>nano \/etc\/php5\/apache2\/php.ini<\/code><\/p>\n<blockquote><p>Find &#8220;Dynamic Extensions&#8221; and add the following to the end of that section:<br \/>\n<code>extension=mysql.so<\/code><br \/>\n<code>extension=gd.so<\/code><br \/>\nFind &#8220;error_reporting = E_ALL &#038; ~E_DEPRECATED&#8221;<br \/>\nReplace with <code>error_reporting = E_ALL & ~E_NOTICE<\/code><br \/>\nsave and exit<\/p><\/blockquote>\n<p><code>nano \/etc\/apache2\/apache2.conf<\/code><br \/>\nInsert the following at the very bottom of the file: &#8220;<code>servername snortsvr.local<\/code>&#8221;<br \/>\nsave and exit<\/p>\n<p><code>apache2ctl restart<\/code><\/p>\n<p><code>cd \/var\/www<\/code><br \/>\n<code>ln -s base-1.4.5 .\/base<\/code><br \/>\n<code>chmod a+w base<\/code><\/p>\n<p>Open up a web browser and navigate to http:\/\/IPADDRESSOFYOURSERVER\/base<\/p>\n<blockquote><p>1.) Set the path to adodb to \/var\/www\/adodb<br \/>\n2.) Database Name=snort<br \/>\nDatabase Host=localhost<br \/>\nDatabase User=snort,<br \/>\nDatabase Password=yourpassword<br \/>\n3.) check use authentication system<br \/>\nAdmin User Name=snort<br \/>\nPassword=yourpassword<br \/>\nFull Name=snort<br \/>\n4.) Click \u00e2\u20ac\u0153Create BASE AG\u00e2\u20ac\u009d and click on &#8220;step 5&#8221;<br \/>\n5.) Test your login and password and verify everything is working OK<\/p><\/blockquote>\n<p><code>chmod og-w base<\/code><\/p>\n<p><strong>Setting up Barnyard2<\/strong><\/p>\n<p>Find where you downloaded Barnyard2-1.7.tar.gz (Home directory anyone?  cd ~)<\/p>\n<p><code>tar -zxvf barnyard2-1.7.tar.gz<\/code><br \/>\n<code>cd barnyard2-1.7<\/code><br \/>\n<code>.\/configure --with-mysql && make && make install<\/code><br \/>\n<code>cp etc\/barnyard2.conf \/etc\/snort<\/code><br \/>\n<code>mkdir \/var\/log\/barnyard2<\/code><\/p>\n<p><code>nano \/etc\/snort\/barnyard2.conf<\/code><br \/>\nFind &#8220;#config hostname: thor&#8221; and change it to &#8220;<code>config hostname: localhost<\/code>&#8221;<br \/>\nFind &#8220;#config interface: eth0&#8221; and change it to &#8220;<code>config interface: eth0<\/code>&#8221;<br \/>\nFind &#8220;output database&#8221; and insert below that line &#8220;<code>output database: alert, mysql, user=snort password=password dbname=snort host=localhost<\/code>&#8221;<br \/>\nSave and exit<\/p>\n<p><strong>Starting Snort\/Barnyard<\/strong><br \/>\n<code>snort -c \/etc\/snort\/snort.conf -i eth0<\/code><br \/>\nIf you see &#8220;Not Using PCAP_FRAMES&#8221; you&#8217;re doing OK!<\/p>\n<p>Open up another Putty session and SSH to your server as root.<br \/>\n<code>ls -la \/var\/log\/snort<\/code><br \/>\nLook for a 10 digit suffix on snort.log.  If you have more than one file with digits, look at the timestamp and grab the newest one!<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/tendigits.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/tendigits.png\" alt=\"\" title=\"tendigits\" width=\"545\" height=\"98\" class=\"alignnone size-full wp-image-531\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/tendigits.png 545w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/tendigits-300x53.png 300w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/a><br \/>\n<code>nano \/var\/log\/snort\/barnyard.waldo<\/code><br \/>\nPaste in the following:<\/p>\n<blockquote><p><code>\/var\/log\/snort<\/code><br \/>\n<code>snort.log<\/code?\n<code>10DIGIT NUMBER FROM YOUR SNORT LOG STEP ABOVE<\/code><br \/>\n<code>0<\/code><br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/waldo.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/waldo.png\" alt=\"\" title=\"waldo\" width=\"662\" height=\"410\" class=\"alignnone size-full wp-image-533\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/waldo.png 662w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/waldo-300x185.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/a><br \/>\nsave and exit\n<\/p><\/blockquote>\n<p>Run this SINGLE LINE command:<br \/>\n<code>\/usr\/local\/bin\/barnyard2 -c \/etc\/snort\/barnyard2.conf -G \/etc\/snort\/gen-msg.map -S \/etc\/snort\/sid-msg.map -d \/var\/log\/snort -f snort.log -w \/var\/log\/snort\/barnyard.waldo<\/code><\/p>\n<p>Ping your server a few times.  Then open up your browser to http:\/\/YOURSERVERIPADDRESS\/base and see if anything shows up.<\/p>\n<p><Strong>Auto Starting Snort<\/Strong><br \/>\nControl + C out of either Snort or Barnyard.  Then reboot the server.<br \/>\n<code>reboot<\/code><\/p>\n<p>Log back into your server as root using SSH\/Putty.<br \/>\n<code>ps -A | grep snort<\/code><br \/>\nIf nothing shows up (which nothing should), then continue on.<br \/>\n<code>\/etc\/init.d\/snort start<\/code><br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/grepsnort.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/grepsnort.png\" alt=\"\" title=\"grepsnort\" width=\"502\" height=\"129\" class=\"alignnone size-full wp-image-536\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/grepsnort.png 502w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/grepsnort-300x77.png 300w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><\/p>\n<p><code>mv \/etc\/snort\/db-pending-config \/etc\/snort\/db-pending-config.orig<\/code><br \/>\n<code>\/etc\/init.d\/snort start<\/code><br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/initstart.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/initstart.png\" alt=\"\" title=\"initstart\" width=\"666\" height=\"64\" class=\"alignnone size-full wp-image-537\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/initstart.png 666w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/initstart-300x28.png 300w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/a><\/p>\n<p><code>nano \/etc\/init\/barnyard2.conf<\/code><\/p>\n<blockquote><p><code># rc - System V runlevel compatibility<\/code><br \/>\n<code># This task runs the old System V-style rc script when changing between<\/code><br \/>\n<code># runlevels.<\/code><br \/>\n<code>description     \"Barnyard2 for Snort support\"<\/code><br \/>\n<code>author          \"bil b@unc.edu\"<\/code><br \/>\n<code>start on started networking<\/code><br \/>\n<code>#start on startup<\/code><br \/>\n<code>#start on (startup<\/code><br \/>\n<code>#          and filesystem<\/code><br \/>\n<code>#          and started udev)<\/code><br \/>\n<code>#stop on runlevel [!023456]<\/code><br \/>\n<code>respawn<\/code><br \/>\n<code>exec \/usr\/local\/bin\/barnyard2 \\<\/code><br \/>\n<code>   -c \/etc\/snort\/barnyard2.conf \\<\/code><br \/>\n<code>   -G \/etc\/snort\/gen-msg.map \\<\/code><br \/>\n<code>   -S \/etc\/snort\/sid-msg.map \\<\/code><br \/>\n<code>   -d \/var\/log\/snort -f snort.log \\<\/code><br \/>\n<code>   -w \/var\/log\/snort\/barnyard.waldo<\/code><br \/>\nsave and exit<br \/>\n<code>reboot<\/code>\n<\/p><\/blockquote>\n<p><a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/barnyard.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/barnyard.png\" alt=\"\" title=\"barnyard\" width=\"579\" height=\"335\" class=\"alignnone size-full wp-image-541\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/barnyard.png 579w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/barnyard-300x173.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><\/a><\/p>\n<p><strong>Verify Everything Is Working<\/strong><\/p>\n<p>After your server reboots, log back into it via SSH as root.<\/p>\n<p><code>ps -A | grep snort<br \/>\n<code>ps -A | grep barnyard<br \/>\nAs long as you see the process ID and the name, you should be OK.  You can check that barnyard will auto restart by killing the process ID and then checking to see if it's running.  It should have a new ID afterwards.<br \/>\n<a href=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/killprocess.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/killprocess.png\" alt=\"\" title=\"killprocess\" width=\"329\" height=\"129\" class=\"alignnone size-full wp-image-538\" srcset=\"https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/killprocess.png 329w, https:\/\/it.thelibrarie.com\/weblog\/wp-content\/uploads\/2010\/06\/killprocess-300x117.png 300w\" sizes=\"auto, (max-width: 329px) 100vw, 329px\" \/><\/a><\/p>\n<p>***EDIT***<br \/>\nI found a much easier solution - install Snorby.  Snorby is a pretty nice front-end for Snort.  Barnyard is still utilized to take the load off of Snort.<br \/>\nYou can grab the All In One solution (installs the OS, MySQL, Snort, Apache, Barnyard, Snorby, Etc) here:<br \/>\n<a href=\"http:\/\/bailey.st\/blog\/snorby-spsa\/\">http:\/\/bailey.st\/blog\/snorby-spsa\/<\/a><br \/>\nSupposedly it auto updates once a day with Oinkmaster, but I haven't really gone through to verify yet.  It'd be nice if some of the options were included in the GUI, but for free who am I to complain?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My company recently removed a Cisco IPS device (pile of crap) along with a Microsoft 2006 ISA Server (more of a pile of crap) from the network infrastructure. It cost too much to maintain licensing, and it was starting to become a huge headache for company growth. However, the director of IT requested that we &hellip; <a href=\"https:\/\/it.thelibrarie.com\/weblog\/2010\/06\/installing-snort-on-ubuntu-10-04\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Installing SNORT on Ubuntu 10.04<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-515","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/comments?post=515"}],"version-history":[{"count":20,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/515\/revisions"}],"predecessor-version":[{"id":521,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/posts\/515\/revisions\/521"}],"wp:attachment":[{"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/media?parent=515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/categories?post=515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it.thelibrarie.com\/weblog\/wp-json\/wp\/v2\/tags?post=515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}