<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Information Security, Privacy and Regulatory Compliance - Regulatory Compliance</title>
    <link>http://keithpachulski.securitytactics.com/</link>
    <description>Keith A. Pachulski - http://keithpachulski.securitytactics.com</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    <pubDate>Mon, 21 Jun 2010 19:14:05 GMT</pubDate>

    <image>
        <url>http://keithpachulski.securitytactics.com/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Information Security, Privacy and Regulatory Compliance - Regulatory Compliance - Keith A. Pachulski - http://keithpachulski.securitytactics.com</title>
        <link>http://keithpachulski.securitytactics.com/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Nikto with NMAP for Web Server Scanning</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/30-Nikto-with-NMAP-for-Web-Server-Scanning.html</link>
            <category>Pentration Testing</category>
            <category>Regulatory Compliance</category>
            <category>System Hardening</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/30-Nikto-with-NMAP-for-Web-Server-Scanning.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    Nikto is a lightweight, portable, PERL based web application scanner. The only requirements for Nikto to run are PERL and NET SSLeay, NET SSLeay is only needed if you plan on auditing SSL based applications. Nikto requires you to input the targets from the command line, because of this we’ll also be using NMAP with the http-headers NSE scripts to identify and gather basic information on HTTP based services for this overview.
Nikto, as a standalone package, does not include the ability to perform port/service scanning. As such, NMAP will additionally need to be installed on the system performing the audits. NMAP is not a requirement; it just makes things easier…

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Required Software/Packages&lt;/u&gt;&lt;/strong&gt;:

&lt;p&gt;Nikto
&lt;ul&gt;
	&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/cirt.net/nikto2&#039;]);&quot;  href=&quot;http://cirt.net/nikto2&quot;  target=&quot;_blank&quot;&gt;http://cirt.net/nikto2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Net SSLeay&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/search.cpan.org/CPAN/authors/id/S/SA/SAMPO/Net_SSLeay.pm-1.25.tar.gz&#039;]);&quot;  href=&quot;http://search.cpan.org/CPAN/authors/id/S/SA/SAMPO/Net_SSLeay.pm-1.25.tar.gz&quot; target=&quot;_blank&quot;&gt;
	http://search.cpan.org/CPAN/authors/id/S/SA/SAMPO/Net_SSLeay.pm-1.25.tar.gz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NMAP&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.nmap.org/download&#039;]);&quot;  href=&quot;http://www.nmap.org/download&quot; target=&quot;_blank&quot;&gt;http://www.nmap.org/download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NMAP HTTP-Headers NSE&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/nmap.org/svn/scripts/http-headers.nse&#039;]);&quot;  href=&quot;http://nmap.org/svn/scripts/http-headers.nse&quot; target=&quot;_blank&quot;&gt;
	http://nmap.org/svn/scripts/http-headers.nse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;u&gt;&lt;strong&gt;NMAP with NSE to discover potential Web Applications&lt;/strong&gt;&lt;/u&gt;

&lt;p&gt;This section assumes you are running at minimum nmap 5.21, nmap 5.2x is required for the application awareness checking of nmap. To begin, we will be probing the targets systems to discover all services and identify what is running on them using the service aware nmap config, but also using the http-headers nse to gather interesting information about the system(s) with potential web applications. From the nmap output, we’ll be targeting those systems running some type of web application. Side Note: for those services that show up as unknown, be sure to manually probe them later.
nmap --script http-headers.nse &lt;target here&gt; -p 1-65535 –A

&lt;p&gt;I’m targeting all ports here via nmap as some people still believe security through obscurity is a valid mechanism, don’t overlook anything. There are several other options for service level probing you may want to investigate, but for this I’m doing the quick and dirty.

&lt;p&gt;Once nmap has completed its run, it will spit out everything it found to the console, from that list we will target the services to be audited with Nikto.

&lt;p&gt;$ nmap --script http-headers.nse 192.168.0.1 -A

&lt;p&gt;Starting Nmap 5.21 ( http://nmap.org )
&lt;br /&gt;NSE: Script Scanning completed.
&lt;br /&gt;Nmap scan report for 192.168.0.1
&lt;br /&gt;Host is up (0.0012s latency).
&lt;br /&gt;PORT      STATE    SERVICE       VERSION
&lt;br /&gt;80/tcp    open     http          Apache httpd 2.2.3 ((CentOS) mod_python/3.2.8 Python/2.4.3 mod_ssl/2.2.3 OpenSSL/0.9.8e-fips-rhel5 mod_perl/2.0.4 Perl/v5.8.8)
&lt;br /&gt;443/tcp   open     ssl/http      Apache httpd 2.2.3 ((CentOS) mod_python/3.2.8 Python/2.4.3 mod_ssl/2.2.3 OpenSSL/0.9.8e-fips-rhel5 mod_perl/2.0.4 Perl/v5.8.8)

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Installing Nikto and targeting the discovered web applications&lt;/strong&gt;&lt;/u&gt;

&lt;p&gt;Obtain the Nikto package and the NET SSLeay packages from the following locations:

&lt;p&gt;Install NET SSLeay then untar the nikto package to your home directory, update Nikto

&lt;p&gt;./nikto.pl –update

&lt;p&gt;From the nessus NSE scan above, we found the following services in operation that are of interest:

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;80/tcp open  http        Apache httpd 2.2.3
&lt;li&gt;5801/tcp open  vnc-http    RealVNC 4.0
&lt;li&gt;3000/tcp open  http        WEBrick httpd 1.3.1
&lt;li&gt;443/tcp  open  ssl/http    Apache httpd 2.2.3
&lt;/ul&gt;

&lt;p&gt;At the command line, we target these web applications specifically with Nikto by using the following type of command:

&lt;p&gt;./nikto –h &#039;target&#039; -p 80,443,5801,3000 –ssl –output report.html

&lt;p&gt;As Nikto is performing the targeted assessment, any potential issues will be displayed to the console. As the scan is occuring, all results are output to the html file with the details of the scan along with the corresponding OSVDB&lt;sup&gt;&lt;span title=&quot;open source vulnerability database&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; identifiers broken down by service port tested.

&lt;p&gt;The export format may additionally be set to either csv or XML as needed: report.csv, report.xml

&lt;p&gt;&lt;strong&gt;&lt;u&gt;Executing nmap and passing the results directly to nikto&lt;/u&gt;&lt;/strong&gt;

&lt;p&gt;This is useful when you want/need to check all active web servers in the target subnet(s). The following executes the nmap scan of the target subnet then pipes the discovered hosts to nikto.

&lt;p&gt; nmap 192.168.0.0/24 -oG - | ./nikto.pl -output subnet.html -h -

&lt;P&gt;&lt;strong&gt;&lt;u&gt;Closing&lt;/u&gt;&lt;/strong&gt;

&lt;p&gt;Nikto standalone, I wasn&#039;t overly thrilled with. But again, in a pinch it is a nice tool to keep in the box. In testing nikto, some scans were needed to be run several times for nikto to actually do what it had been configured to do via the command line. The reporting isn&#039;t that clean, still leaves a lot of room for interpretation and understanding of common issues.  
    </content:encoded>

    <pubDate>Sun, 20 Jun 2010 16:15:00 -0400</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Whole Disk Encryption (WDE) – And Comparison of PGP vs TrueCrypt for WDE</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/29-Whole-Disk-Encryption-WDE-And-Comparison-of-PGP-vs-TrueCrypt-for-WDE.html</link>
            <category>Commercial Products</category>
            <category>Encryption</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/29-Whole-Disk-Encryption-WDE-And-Comparison-of-PGP-vs-TrueCrypt-for-WDE.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=29</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    &lt;u&gt;Whole Disk Encryption (WDE&lt;sup&gt;&lt;span title=&quot;whole disk encryption&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;) – And Comparison of PGP vs TrueCrypt for WDE&lt;/u&gt;

&lt;p&gt;In this day and age there is absolutely no reason for any business with laptops being used for business or personal reasons that contain sensitive information to not be encrypted.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.networkworld.com/community/node/28453&#039;]);&quot;  href=&quot;http://www.networkworld.com/community/node/28453&quot; title=&quot;AT&amp;T&quot; target=&quot;_blank&quot;&gt;AT&amp;T Laptop stolen with payroll data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/krebsonsecurity.com/2010/05/stolen-laptop-exposes-personal-data-on-207000-army-reservists/&#039;]);&quot;  href=&quot;http://krebsonsecurity.com/2010/05/stolen-laptop-exposes-personal-data-on-207000-army-reservists/&quot; title=&quot;Stolen Laptop&quot; target=&quot;_blank&quot;&gt;Stolen laptop exposes 207,000 Army reservists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.fiercemobilehealthcare.com/story/laptops-stolen-veterans-affairs-n-m-medicaid-contractors-were-unencrypted/2010-05-18&#039;]);&quot;  href=&quot;http://www.fiercemobilehealthcare.com/story/laptops-stolen-veterans-affairs-n-m-medicaid-contractors-were-unencrypted/2010-05-18&quot; title=&quot;Veteran Affairs&quot; target=&quot;_blank&quot;&gt;Laptop stolen containing Veteran Affairs patient information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whole Disk Encryption, also known as Full Disk Encryption, is what it says; it encrypts all information contained on the specified disk or partition. WDE should not however not to be confused with file system encryption. With WDE one key is used to encrypt the entire disk. Should the key become compromised, the entire disk is thereby compromised. For those individuals needing or who are required to transmit sensitive information on their laptops, I would strongly recommend using WDE in conjunction with file system encryption.

&lt;p&gt;File system encryption is often known as folder or file encryption because it was designed, from a high level, to encrypt specific targets within the system whereas WDE deals with the entire disk.

&lt;ul&gt;
&lt;li&gt;File System encryption examples can be found in a previous blog post on &lt;a href=&quot;http://keithpachulski.securitytactics.com/index.php?/archives/20-Disk-Encryption-The-OpenSource-Solution-TrueCrypt.html&quot; title=&quot;TrueCrypt Containers&quot; target=&quot;_blank&quot;&gt;TrueCrypt Containers&lt;/a&gt; for examples.&lt;/li&gt;
&lt;/ul&gt;

&lt;table border=&quot;1&quot; width=&quot;58%&quot;&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;TrueCrypt vs PGP&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;TrueCrypt&lt;/td&gt;
		&lt;td&gt;PGP&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Cost&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;Free&lt;/td&gt;
		&lt;td&gt;$149.00&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Encrypt internal, external and removable media&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;yes&lt;/td&gt;
		&lt;td&gt;yes&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Encrypt all user data, applications, boot sector and 
		swap files&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;yes&lt;/td&gt;
		&lt;td&gt;yes&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Shred/Wipe Function&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;no&lt;/td&gt;
		&lt;td&gt;yes&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Encrypt Email&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;no&lt;/td&gt;
		&lt;td&gt;option $$&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;401&quot;&gt;Encrypt IM&lt;/td&gt;
		&lt;td width=&quot;89&quot;&gt;no&lt;/td&gt;
		&lt;td&gt;option $$&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;&lt;u&gt;TrueCrypt Whole Disk Encryption on Windows - Step by Step&lt;/u&gt;

&lt;p&gt;Select Create Volume
&lt;p&gt;Encrypt the system partition or entire system drive
&lt;p&gt;Type of System Encryption - Normal
&lt;p&gt;Area to Encrypt – Encrypt the whole drive
&lt;p&gt;Encryption of the Host Protected Area – If you know there are utilities in the Host Protected Area (HPA) you do not want encrypted, select No – Otherwise encrypted the HPA as well
&lt;p&gt;Number of Operating Systems – Select the appropriate response, typically this will be 1
&lt;p&gt;Encryption Options – Select the Preferred Encryption and hashing Algorithms – for NIST&lt;sup&gt;&lt;span title=&quot;National Institute for Standards and Technology&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; compliance select AES&lt;sup&gt;&lt;span title=&quot;Advanced Encryption Standard&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;

&lt;ul&gt;
&lt;li&gt;Notes:&lt;/li&gt;
&lt;li&gt;Unlike PGP below where you generate your public/private keypair that can be used for other PGP plug-in applications, the keys for TrueCrypt are generated based on the movement of your mouse and are only used for drive encrypt/decrypt functions&lt;/li&gt;
&lt;li&gt;If you are overly paranoid, you can select a cascading algorithm here such as AES+TwoFish to increase the strength&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Password – enter the password, this will be used to access the system once the entire disk has been encrypted

&lt;p&gt;Rescue Disk – The iso image created must be copied off the system and it is recommended it be burnt to a CD. This will be required if the password is forgotten or any portion of the loader becomes corrupted. Once the image has been burnt, eject and reinsert the CD and click next to allow Truecrypt to verify the image. Once it has completed, it will ask you to reboot, select yes for the encryption Pretest.

&lt;p&gt;At the boot prompt, enter the password you had entered earlier.

&lt;p&gt;Once Windows boots, you&#039;ll be presented with the Pretest screen and the option to begin the encryption process, select Encrypt, go for a coke...

&lt;p&gt;The encryption status window will appear, once the disk encryption has completed a notification window will appear.

&lt;p&gt;That’s about all that you need to do.

&lt;p&gt;If for whatever reason you want to permanently decrypt the drive, open the TrueCrypt application, select System then “Permanently decrypt system partition/drive”.

&lt;p&gt;&lt;u&gt;PGP (Pretty Good Privacy) WDE on Windows - Quasi Step by Step&lt;/u&gt;

&lt;p&gt;The setup is pretty straightforward and almost identical to the TrueCrypt setup; install the application from the exe. Once it finished open the PGP Desktop application from the system tray and click on PGP Disk then Encrypt Whole Disk.

&lt;ul&gt;
&lt;li&gt;During the installation you`ll be prompted to create a key pair. These keys will be used for encrypting and decrypting the drive(s). These are also the keys you`ll use if you buy the extra PGP addons such as email. Make sure you use your legitimate email address during creation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is recommended you create a recovery disk, same as a above.

&lt;p&gt;Select the disk to encrypt then select the keys you created during installation by selecting Add User Key.

&lt;p&gt;Click Encrypt, go for a coke..

&lt;p&gt;By default PGP uses AES-256 for encryption and SHA-1 for hashing. As far as I am aware there is no possible customization to either the encryption or hashing algorithms.

&lt;p&gt;&lt;u&gt;Soap Box&lt;/u&gt;

&lt;p&gt;While I am a huge fan of TrueCrypt for only WDE or file system encryption, it does not scale well in large deployments like PGP offers with the Universal Server. With the PGP Universal Server, enrollments and encryption policies can be controlled and deployed from a central server. The PGP server can generate &quot;reports&quot; from the server on demand. I put the quotes around the word report because the export is simply a csv export of the entire database structure, which is severely lacking in the ability to perform decent reporting and database maintenance.

&lt;p&gt;Seriously though, with whatever solution you choose..choose one. The 30 minutes of your time it takes to install and configure the software will pale in comparison to being immortalized on the Internet as yet another failure to protect sensitive information...  
    </content:encoded>

    <pubDate>Thu, 03 Jun 2010 20:40:37 -0400</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/29-guid.html</guid>
    
</item>
<item>
    <title>Vulnerability &amp; Patch Management - My Two Cents and recommendations</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/27-Vulnerability-Patch-Management-My-Two-Cents-and-recommendations.html</link>
            <category>Regulatory Compliance</category>
            <category>Risk Management</category>
            <category>Soapbox</category>
            <category>System Administration</category>
            <category>System Hardening</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/27-Vulnerability-Patch-Management-My-Two-Cents-and-recommendations.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    I’m on a vulnerability&lt;sup&gt;&lt;span title=&quot;flaw or weakness in system security procedures, design or controls&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; management and patch management tangent. No real reason why other than I was listening to a podcast and a comment irked me so I decided to write this up. This is a high level overview of my recommendations on implementing a program. As always if you have any questions on this feel free to ping me.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Identification of Assets&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
For whatever reason, I find this to be one portion of any vulnerability management process that continues to fail whether it is private or public sector. Network and Systems people love to turn up new technology but they typically do not want to generate any documentation on what the system is, who is responsible for it, what applications are installed onto the system and if some other person is responsible for those installed applications. This is a critical step to being capable of performing any type of vulnerability management.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Vulnerability&lt;sup&gt;&lt;span title=&quot;flaw or weakness in system security procedures, design or controls&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; Identification &amp;amp; Tracking&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Vulnerability identification can be discovered from many sources including risk assessments, vendor notifications, open sources of information (exploit-db, securitytracker, packetstorm, etc) or vulnerability assessments through automated tools (Nexpose) or manual assessments (Penetration Testing, Risk Assessments).&lt;br /&gt;
&lt;br /&gt;
Vulnerability, in itself, is a broad term. Vulnerabilities can be initially discovered pre-production through system or application configurations such as running an outdated version of MySQL or allowing connections from public facing systems to protected internal resources. These types of pre-production vulnerabilities must be documented in the Identification of Assets phase.&lt;br /&gt;
&lt;br /&gt;
Vulnerabilities discovery through commercial sources or clearing houses are typically assigned a criticality grade or score (CVE&lt;sup&gt;&lt;span title=&quot;common vulnerabilities and exposures&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;, CVSS&lt;sup&gt;&lt;span title=&quot;common vulnerability scoring system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;, Critical, Medium, etc). Those vulnerabilities that have been discovered from open sources, to which commercial or clearing houses have not process, you must review and assign a grade to the vulnerability. Based on the grade or score, coupled with the criticality of the systems that may be affected along with the probability of exploitation, we can then properly gauge the response to remediation.&lt;br /&gt;
&lt;br /&gt;
If you are unsure of how to perform the grading on your own, or just want a quick and dirty, the DHS&lt;sup&gt;&lt;span title=&quot;Department of Homeland Security&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; has made available a CVSS v2 Calculator available at the following URL:&lt;br /&gt;
&lt;br /&gt;
•	&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/nvd.nist.gov/cvss.cfm?calculator&amp;amp;version=2&#039;]);&quot;  href=&quot;http://nvd.nist.gov/cvss.cfm?calculator&amp;version=2&quot; title=&quot;DHS NVD CVSS v2&quot; target=&quot;_blank&quot;&gt;http://nvd.nist.gov/cvss.cfm?calculator&amp;version=2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Vulnerabilities discovered after deployment must be tracked from discovery to remediation. This is heavily reliant on some type of internal tracking system, personally I use redmine, to track the lifecycle of the vulnerability from the time it is discovered, the entire internal review and assessment, recommended corrective actions, implementation of remediation action to verification and finally the lessons learned or RCA&lt;sup&gt;&lt;span title=&quot;root cause analysis&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; (root cause analysis). On a side note, any remediation actions must be included in the system documentation. This will assist in not on the vulnerability/patch management process, but will also greatly improve incident response timelines when necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Response Planning&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
When new vulnerabilities are discovered, a response planning process should be engaged. As part of the response planning, the focus should be on the specific vulnerability as well any risks identified during the internal review and assessment. Once a new vulnerability has been discovered, there is of course a greater chance of exploitation of the vulnerability. The planning process should of course involve the incident response team but must also include the system/applications owner(s) as well as the applicable operational group (i.e networking, systems administration).&lt;br /&gt;
Vulnerability Remediation&lt;br /&gt;
&lt;br /&gt;
At this point in the lifecycle, we’ve identified the vulnerability, identified the vulnerable systems, developed a remediation plan, engaged the incident response capability and are ready to implement the chosen solution. Prior to actually correcting the vulnerability, ensure the system/application owner(s) have been properly notified. Included within the notification must be the projected time frame to begin as well as conclude the corrective actions. Make sure the notification includes all applicable individuals so no one feels left out, this has come back to bite more than one handler.&lt;br /&gt;
&lt;br /&gt;
•	You’ve also created your back-out plan and you’ve also run the entire corrective and back-out past the system/application owners right? =)&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the chosen remediation method must follow the documented process previously defined and agreed upon. This process must be adhered to by all involved parties. Any deviation from the process must be authorized, if for some reason the deviation does not allow for authorization at the time, the reasoning for the deviation must be documented and the affected parties later informed of the deviation in totality.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Remediation Methods Overview&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Remediation methods are typically classified into the following three:&lt;br /&gt;
•	Installation of a security patch&lt;br /&gt;
o	Application of security patches may replace specific portions of the application code that have been determined to expose a vulnerability&lt;br /&gt;
&lt;br /&gt;
•	Modification of a system or application configuration parameter&lt;br /&gt;
o	Modifying the configuration of how the application, or a portion of the operating system, functions that has been determined to expose a vulnerability&lt;br /&gt;
&lt;br /&gt;
•	Removal of the affected application or service&lt;br /&gt;
o	If, after thorough review, it is determined the vulnerable piece of software, or portion of the underlying operating system, is not a functional necessity of the system, the software or service should be removed.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Remediation Methods&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
1.	Installation of the Software Patch&lt;br /&gt;
a.	All software patch testing should be performed on non-production systems.&lt;br /&gt;
b.	Verification should be performed to ensure installation of the most recent security patch does not inadvertently remove previous security patches.&lt;br /&gt;
c.	If multiple patches were published, verify there is not a specific installation sequence.&lt;br /&gt;
d.	Prior to installation of the patch, ensure that any applications that may rely on the portion of the application, or operating system, have been fully tested to ensure continued operability post patching.&lt;br /&gt;
e.	The length of time to properly verify a patch or subset of patches is variable based on the scope of the patch and whether the patch will interact with subsets of the operating system or other applications. The exact time frame of patch testing must be defined by the parties responsible to the systems/applications to be patched as well as the group performing the testing.&lt;br /&gt;
i.	Security patch installations should additionally be implemented into baseline operating system installation procedures.&lt;br /&gt;
f.	Manual verification of the security patch should be performed through the use of an automated vulnerability assessment tool (Nexpose) or manual verification.&lt;br /&gt;
g.	Once testing of the security patch has been completed, the patch(es) are to be introduced into the patch distribution system (i.e. SCCM) for dissemination into the environment.&lt;br /&gt;
&lt;br /&gt;
2.	Modification of System or Application Configuration Parameters&lt;br /&gt;
a.	Modification of configuration parameters has traditionally been a “from the hip” response to a vulnerability, as such they typically do not receive thorough testing as security patches.&lt;br /&gt;
b.	Configuration modifications should first be performed on non-production systems. Configuration modifications may impact operational privileges and in some cases functional stability. As such, post implementation of configuration changes should include monitoring the system/application for proper functionality and stability.&lt;br /&gt;
c.	Manual verification of the security patch should be performed through the use of an automated vulnerability assessment tool or manual verification.&lt;br /&gt;
i.	Configuration modifications, when permanent, should be implemented into the baseline operating system and/or application installation procedures.&lt;br /&gt;
&lt;br /&gt;
3.	Removal of the Affected Application or Service&lt;br /&gt;
a.	Removal of the vulnerable application or service effectively eliminates the vulnerability. Prior to removal of the application or service however, a thorough analysis of the system and applications in operation must be performed to ensure that removal does not impact the operational requirements of the system.&lt;br /&gt;
i.	Just because you think java is not needed on that server running Oracle 11gr2, from your perspective; realize that in doing so you may make that Oracle Enterprise Manager or Grid Control application stop functioning completely.&lt;br /&gt;
b.	Removal of applications or services, as with patching, should be performed on test systems. A pre-defined period of time should be stated for review of the operational integrity of the system post removal.&lt;br /&gt;
c.	Manual verification of the security patch should be performed through the use of the Vulnerability Assessment tool.&lt;br /&gt;
&lt;br /&gt;
A final option, typically utilized by Governmental agencies, would be the issuance of a RAF&lt;sup&gt;&lt;span title=&quot;Risk Acceptance Form&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; (Risk Acceptance Form). The RAF neither mitigates nor eliminates the vulnerability, but indicates that the system/application owner recognizes that a potential vulnerability exists, acknowledges that no changes to the system will occur and accepts the potential risk. In my personal opinion, this is an option that should rarely, if ever, be utilized.&lt;br /&gt;
&lt;br /&gt;
•	Something else to bear in mind, the entire remediation process should follow your organization change management process..you do have a change management process right?&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Remediation Verification&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Upon completion of the selected remediation effort, verification must be performed through manual review of configuration files or patch installation logs and vulnerability assessments. It is my personal recommendation that systems/applications which have had some corrective measures made against them be monitored for at minimum one week to ensure system/application integrity and availability.&lt;br /&gt;
  
    </content:encoded>

    <pubDate>Sat, 29 May 2010 11:00:57 -0400</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/27-guid.html</guid>
    
</item>
<item>
    <title>OSSEC - Part 2 - The OSSEC Configuration (ossec.conf)</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/22-OSSEC-Part-2-The-OSSEC-Configuration-ossec.conf.html</link>
            <category>Intrusion Analysis</category>
            <category>Intrusion Detection</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/22-OSSEC-Part-2-The-OSSEC-Configuration-ossec.conf.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    In previous posts we&#039;ve reviewed the basic server and client configuration as well as how to, using the external parser, insert the alerts into BASE. At this point we&#039;re going to delve a bit deeper into the server side configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Email Alerting&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
This is really personal preference, if you like receiving a ton of email with events that are also being inserted into the database, feel free to make use of this.&lt;br /&gt;
&lt;br /&gt;
At the top of the ossec&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; configuration file located in /var/ossec/etc/ossec.conf, the first container specifies what types of alerts you want to receive as well as where the you want the specified alerts being sent to. This container may already be populated if you enabled email notification during setup.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;global&amp;gt;&lt;br /&gt;
    &amp;lt;email_notification&amp;gt;yes&amp;lt;/email_notification&amp;gt;&lt;br /&gt;
    &amp;lt;email_to&amp;gt;you@yourdomain.com&amp;lt;/email_to&amp;gt;&lt;br /&gt;
    &amp;lt;smtp_server&amp;gt;someserverhere&amp;lt;/smtp_server&amp;gt;&lt;br /&gt;
    &amp;lt;email_from&amp;gt;ossecm@yourdomain.com&amp;lt;/email_from&amp;gt;&lt;br /&gt;
  &amp;lt;/global&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this is the base configuration, there are a few additional options you may want to use here.&lt;br /&gt;
&lt;br /&gt;
Enable throttling, this is highly recommended. If the systems you are monitoring become targeted by a high rate attack and ossec is configured to generate an email on every alarm. You can effectively cause a denial of service condition on your own systems. This is set with the following:&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;email_maxperhour&amp;gt;X&amp;lt;/email_maxperhour&amp;gt; &lt;br /&gt;
&lt;br /&gt;
X would be the maximum number of emails that ossec will generate in a given hour. Keep in mind, by setting this option, if you are relying on email alerts you may miss events with the high level threshold you set. The events are queued however once they reach the X limit you set, the queue is cleared 20 alerts at a time until cleared.&lt;br /&gt;
&lt;br /&gt;
In addition to the global email alerting, we can also create targeted email groups based on server names, as they have been named when the client was configured when using ./manage_agents&lt;br /&gt;
&lt;br /&gt;
&amp;lt;email_alerts&amp;gt;&lt;br /&gt;
 &amp;lt;email_to&amp;gt;null@protectors.cc&amp;lt;/email_to&amp;gt;&lt;br /&gt;
 &amp;lt;event_location&amp;gt;servers1|server2&amp;lt;/event_location&amp;gt;&lt;br /&gt;
&amp;lt;/email_alerts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Tweaking the email alerts&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
The default email alert configuration within OSSEC&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;alerts&amp;gt;&lt;br /&gt;
    &amp;lt;log_alert_level&amp;gt;1&amp;lt;/log_alert_level&amp;gt;&lt;br /&gt;
    &amp;lt;email_alert_level&amp;gt;7&amp;lt;/email_alert_level&amp;gt;&lt;br /&gt;
  &amp;lt;/alerts&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The alert levels are based on severity of the events ranging from 0 to 15. With 0 being information and 15 being high severity. The alert levels themselves are defined within the ossec rule files located in /var/ossec/rules. When modifying this log and email alert levels, ensure events you deem as important are not going to be missed during this tuning process. An example of the alert level in an ossec definition would be as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;rule id=&quot;12109&quot; &amp;lt;strong&amp;gt;level=&quot;12&quot;&amp;lt;/strong&amp;gt;&amp;gt;&lt;br /&gt;
    &amp;lt;if_sid&amp;gt;12100&amp;lt;/if_sid&amp;gt;&lt;br /&gt;
    &amp;lt;match&amp;gt;exiting (due to fatal error)&amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Named fatal error. DNS service going down.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;group&amp;gt;service_availability,&amp;lt;/group&amp;gt;&lt;br /&gt;
  &amp;lt;/rule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, OSSEC will log all events level 1 and higher. Level 0 alerts are those that we have defined that we are not interested in being reported on. In the above example of email_alert_level, only events level 7 or higher would generate email alerts. This is only applicable if you have enabled email alerting that is.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Receiving and Processing Alerts from Remote System/Devices&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
With this portion, we are concerned with the receipt and processing of events from remote systems. We will receive these events in one of two manners. The first is syslog being configured on the remote device to send events to the OSSEC server, these will typically be networking devices or servers with syslog support. The second method is using the ossec agent on a remote system to send log events via a secure channel to the ossec server.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Configuring Standard Syslog and OSSEC to Monitor&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
In this example, we have our OSSEC server also running as a central log collector. All events received from remote system are received on Local6.info and are inserted into /var/log/messages.&lt;br /&gt;
&lt;br /&gt;
The typical syslog configuration will appear as follows in /etc/syslog.conf&lt;br /&gt;
&lt;br /&gt;
local6.* /var/log/messages&lt;br /&gt;
&lt;br /&gt;
For the OSSEC configuration on the server, we define the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;localfile&amp;gt;&lt;br /&gt;
    &amp;lt;log_format&amp;gt;syslog&amp;lt;/log_format&amp;gt;&lt;br /&gt;
    &amp;lt;location&amp;gt;/var/log/messages&amp;lt;/location&amp;gt;&lt;br /&gt;
  &amp;lt;/localfile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, on networking equipment such as switches and routers, we need to define the logging facility and host to log events to. The following would be an example for a Cisco Router:&lt;br /&gt;
&lt;br /&gt;
logging facility local6&lt;br /&gt;
logging source-interface &amp;lt;interface facing the ossec server&amp;gt;&lt;br /&gt;
logging &amp;lt;ip address of the ossec server&amp;gt;&lt;br /&gt;
do wr&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
As long as syslog is correctly configured on the server, messages from the device will begin to populate the /var/log/messages file. To start OSSEC processing the events, restart ossec after adding the above (note: /var/log/messages is typically added to most configuration by default on linux based systems).&lt;br /&gt;
&lt;br /&gt;
OSSEC has the ability to monitor several including syslog, snort, squid, IIS, Windows event logs, mysql, postgresql and apache. However, the important thing to to remember with OSSEC is that the log formatting is completely customizable and can support nearly any type of logging.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Syscheck Configuration Options&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
My typical Linux syscheck template is along these lines depending on the installation and the purpose of the server:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syscheck&amp;gt;&lt;br /&gt;
    &amp;lt;frequency&amp;gt;14400&amp;lt;/frequency&amp;gt;&lt;br /&gt;
    &amp;lt;directories realtime=&quot;yes&quot; &amp;gt;/var/www&amp;lt;/directories&amp;gt;&lt;br /&gt;
    &amp;lt;directories check_all=&quot;yes&quot;&amp;gt;/opt,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin,/sbin,/boot,/etc,/home&amp;lt;/directories&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;alert_new_files&amp;gt;yes&amp;lt;/alert_new_files&amp;gt;&lt;br /&gt;
    &amp;lt;scan_on_start&amp;gt;no&amp;lt;/scan_on_start&amp;gt;&lt;br /&gt;
    &amp;lt;auto_ignore&amp;gt;no&amp;lt;/auto_ignore&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Files/directories to ignore --&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/mtab&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/mnttab&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/hosts.deny&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/mail/statistics&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/random-seed&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/adjtime&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/httpd/logs&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/utmpx&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/wtmpx&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/cups/certs&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/dumpdates&amp;lt;/ignore&amp;gt;&lt;br /&gt;
    &amp;lt;ignore&amp;gt;/etc/svc/volatile&amp;lt;/ignore&amp;gt;&lt;br /&gt;
  &amp;lt;/syscheck&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Breaking this down piece by piece; when we specify the directory to monitor we have the following options available to us:&lt;br /&gt;
&lt;br /&gt;
- realtime - provides realtime monitoring of the specified directories&lt;br /&gt;
- check_all -  performs all of the below checks on the specified directories&lt;br /&gt;
- check_sum - checks for changes to the md5/sha1 hash of the files&lt;br /&gt;
- check_size - checks for changes to the sizes of the files&lt;br /&gt;
- check_owner - check for changes to the owner of the files&lt;br /&gt;
- check_group - check for changes to the group ownership&lt;br /&gt;
- check_perm - check for changes to the permissions&lt;br /&gt;
&lt;br /&gt;
It would be my recommendation that either check_all by the default with realtime as the alternate option for those highly critical directories.&lt;br /&gt;
&lt;br /&gt;
Frequency defines the amount of time, in seconds, that OSSEC will fire to perform the checks on the specified directories. Makes sure to tune this to an acceptable level. While 100 seconds may seem sexy, it&#039;s not realistic and may end up crushing your servers.&lt;br /&gt;
&lt;br /&gt;
Alert_new_files - by default this is  not in the configuration. I strongly recommend this be added and set to yes. When ossec makes its run, anything new it finds it will generate an alarm on, otherwise you`ll never know when someone uploads the c99.php file if you&#039;re not doing realtime checking of /var/www/html&lt;br /&gt;
&lt;br /&gt;
Scan_on_start - by default this is set to yes, I would recommend this be set to no and let it run on against the frequency setting. I`m not sure if its a feature of a bug but on some rare occasions when I&#039;ve restarted ossec it&#039;s caused scans an hosts to restart and when making several changes to the local_rules and restarting several times..it brought a system to a dead halt for a short time period.&lt;br /&gt;
&lt;br /&gt;
auto_ignore - by default this is set to yes, this meaning after the 3rd time the file has changed in some way and you have not acknowledged the change it will simply ignore it. Not the best approach in my opinion for a noisy system that requires monitoring.&lt;br /&gt;
&lt;br /&gt;
As for the ignores, those are some general noisy files, feel free to add more to the list as you see fit.&lt;br /&gt;
&lt;br /&gt;
Additional options include scanning specific directories on certain days or at specific times if you do not want to rely on the general frequency directive.&lt;br /&gt;
&lt;br /&gt;
scan_day - specifies the day or days you want the scan to run (scan_day sunday, wednesday, friday)&lt;br /&gt;
&lt;br /&gt;
scan_time - specifies the time of the day you want the scan to run ( scan_time 12pm)&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Ignoring sub-directories with syscheck&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
There may be on occasion you want to monitor for example /var/www/html and all directories contained with it, but you do not want to monitor sarg/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;directories check_all=&quot;yes&quot;&amp;gt;/var/www/html&amp;lt;directories&amp;gt;&lt;br /&gt;
&amp;lt;ignore&amp;gt;/var/www/html/sarg&amp;lt;/ignore&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will effectively ignore all files and directories contained within the /var/www/html/sarg directory.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Rootcheck Configuration Options&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Again, my typical linux template..feel free to customize it as you see fit Something to bear in mind though, the rootcheck portion can be very resource intensive. This module will scan the entire operating system by default looking for both rootkits as well as common system configuration issues. While I personally let it scan the entire system, it can be disabled with the scanall no option.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;rootcheck&amp;gt;&lt;br /&gt;
    &amp;lt;frequency&amp;gt;86400&amp;lt;/frequency&amp;gt;&lt;br /&gt;
    &amp;lt;rootkit_files&amp;gt;/var/ossec/etc/shared/rootkit_files.txt&amp;lt;/rootkit_files&amp;gt;&lt;br /&gt;
    &amp;lt;rootkit_trojans&amp;gt;/var/ossec/etc/shared/rootkit_trojans.txt&amp;lt;/rootkit_trojans&amp;gt;&lt;br /&gt;
    &amp;lt;system_audit&amp;gt;/var/ossec/etc/shared/system_audit_rcl.txt&amp;lt;/system_audit&amp;gt;&lt;br /&gt;
    &amp;lt;system_audit&amp;gt;/var/ossec/etc/shared/cis_rhel5_linux_rcl.txt&amp;lt;/system_audit&amp;gt;&lt;br /&gt;
  &amp;lt;/rootcheck&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Frequency I define as daily, and as I use CentOS5 I leave in the rhel5 file and remove the cis_rhel_linux_rcl.txt. If you are running a non 5 release, feel free to add or replace cis_rhel_linux_rcl.txt as needed.&lt;br /&gt;
&lt;br /&gt;
While most of this specifically addresses the server side configuration, the syscheck, rootcheck, and localfile parameters are portable to the client side ossec.conf configuration files.&lt;br /&gt;
&lt;br /&gt;
Going to wrap it up with this, next section will likely be on OSSEC Reporting as I&#039;m on a reporting and metrics kick as of late..&lt;br /&gt;
&lt;br /&gt;
Any questions feel free to shoot me an email..  
    </content:encoded>

    <pubDate>Mon, 24 May 2010 20:16:00 -0400</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/22-guid.html</guid>
    
</item>
<item>
    <title>Disk Encryption - The OpenSource Solution - TrueCrypt</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/20-Disk-Encryption-The-OpenSource-Solution-TrueCrypt.html</link>
            <category>Encryption</category>
            <category>Regulatory Compliance</category>
            <category>System Hardening</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/20-Disk-Encryption-The-OpenSource-Solution-TrueCrypt.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    My &quot;secure&quot; USB drive and a toilet bowel had a duel and the toilet bowl won. With that, I was torn between buying a new &quot;secure&quot; USB drive for $70-100 or buying a base plain USB drive and finding some disk encryption software. Of course in the back of my mind was a task of encrypting the entire disk on my laptop. With that I set out to find a free and moderately easy to use disk encryption software package. My requirements for the software package were the following:&lt;br /&gt;
&lt;br /&gt;
- Must work on all the different operating systems I commonly use (Windows &amp;amp; Linux)&lt;br /&gt;
- Must be portable, if needed to be accessed on a different system it must work with at most installing the application&lt;br /&gt;
- Must be able to encrypt the entire file system&lt;br /&gt;
- Must be able to create virtual encrypted volumes (volume must not be overtly visible)&lt;br /&gt;
- Must be able to create an encrypted file system on removable media (SD or USB &amp;amp; volume must not be overtly visible)&lt;br /&gt;
- Must allow for auto-mounting of the encrypted file system, either virtual or removable media&lt;br /&gt;
- Must automatically unmount the drive when system is shut down or idle for a predefined time period&lt;br /&gt;
- Must lock/wipe the device on a predefined numbers of authentication failures&lt;br /&gt;
- Must use NIST&lt;sup&gt;&lt;span title=&quot;National Institute for Standards and Technology&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; approved encryption and hashing algorithms&lt;br /&gt;
&lt;br /&gt;
After tinkering with 12-13 different software packages I decided on &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.truecrypt.org/&#039;]);&quot;  href=&quot;http://www.truecrypt.org/&quot; title=&quot;TrueCrypt&quot; target=&quot;_blank&quot;&gt;TrueCrypt&lt;/a&gt;, it met all my requirements except the lock/wipe the device on authentication failures. I could live without that one.&lt;br /&gt;
&lt;br /&gt;
In creating the volumes, you are offered standard encryption algorithms or cascading algorithms. Cascading meaning you can implement multiple types of encryption algorithms built atop each other. Supported direct and cascaded algorithms include the following:&lt;br /&gt;
&lt;br /&gt;
- AES&lt;sup&gt;&lt;span title=&quot;Advanced Encryption Standard&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; in XTS Mode (NIST Approved)&lt;br /&gt;
- TwoFish&lt;br /&gt;
- Serpent&lt;br /&gt;
&lt;br /&gt;
Cascading algorithms include the following:&lt;br /&gt;
&lt;br /&gt;
- AES-TwoFish&lt;br /&gt;
- Serpent-AES&lt;br /&gt;
- Serpent-TwoFish-AES&lt;br /&gt;
- AES-TwoFish-Serpent&lt;br /&gt;
&lt;br /&gt;
Speed wise, the direct algorithm is the preferred choice. AES will be the fastest of the available algorithm selections. If you are more concerned with security of the data at rest, the AES-TwoFish-Serpent cascade algorithm is recommended. bearing in mind, using the cascade algorithms will significantly slow the overall encrypt/decrypt throughput.&lt;br /&gt;
&lt;br /&gt;
Hashing algorithms supported include the following:&lt;br /&gt;
&lt;br /&gt;
- RIPEMD160&lt;br /&gt;
- SHA512 (NIST Approved)&lt;br /&gt;
- Whirlpool&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Quick Volume Setup Guide for Removable Media for the Windows Operating System&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Insert the USB or SD card into the reader or USB slot, open TrueCrypt and click on Create Volume.&lt;br /&gt;
&lt;br /&gt;
- Select Encrypt a non-system partition/drive&lt;br /&gt;
- Volume Type - Standard TrueCrypt volume&lt;br /&gt;
- Select the USB drive (IMPORTANT NOTE: Make sure you select the USB drive and not your primary hard disk)&lt;br /&gt;
 -- you&#039;ll get an error asking you to confirm that you want to encrypt the device, select yes&lt;br /&gt;
&lt;br /&gt;
- Volume Creation Mode&lt;br /&gt;
-- Create encrypted volume and format it&lt;br /&gt;
&lt;br /&gt;
- Encryption Options (select what you want here)&lt;br /&gt;
-- Encryption Select AES&lt;br /&gt;
-- Hashing Select SHA512&lt;br /&gt;
&lt;br /&gt;
Volume Size - Select next as you&#039;re encrypting the entire file space&lt;br /&gt;
&lt;br /&gt;
Volume Password - Enter the password you want to use to access the encrypted volume here&lt;br /&gt;
&lt;br /&gt;
Volume Format - select NTFS for the filesystem type - do not select Quick Format, select Format&lt;br /&gt;
&lt;br /&gt;
Once the device has been wiped and encrypted, remove the USB device and reinsert it into the system.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Quick Setup Guide for Creating Encrypted File Containers&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Create a dummy file someone on your primary harddisk, for simplicity I used c:\temp\TrueCryptVolume&lt;br /&gt;
&lt;br /&gt;
From the TrueCrypt application, click on Create Volume&lt;br /&gt;
&lt;br /&gt;
- Select Create an encrypted file container&lt;br /&gt;
- Standard TrueCrypt Volume&lt;br /&gt;
- Click on Select file and navigate to where your container file is located - when prompted if you want to replace it select Yes&lt;br /&gt;
- Choose the encryption and hashing algorithm of your preference&lt;br /&gt;
- Designate the desired size of the encrypted volume&lt;br /&gt;
- Set the volume password&lt;br /&gt;
- Select NTFS for the filesystem and click on format - click yes to the warning to confirm creating the container&lt;br /&gt;
- Mount the container by clicking on Select File, navigate to the container file, select an unused drive letter, then click on mount&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Enabling Automount for TrueCrypt Volumes&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
From the TrueCrypt application select Settings -&gt; Prefereces - Checks the boxes next to the following options:&lt;br /&gt;
&lt;br /&gt;
- TrueCrypt Background Task Enable&lt;br /&gt;
- Start TrueCrypt Background Task&lt;br /&gt;
- Mount all device-hosted TrueCrypt Volumes&lt;br /&gt;
- Mount Favorite Volumes&lt;br /&gt;
&lt;br /&gt;
If you want the drives, after being idle for a predefined time period, to automatically dismount, select the &quot;auto dismount volume after no data has been read/written to it for&quot; and enter your time limit.&lt;br /&gt;
&lt;br /&gt;
Click OK - Click Auto-Mount Devices, you will be prompted for the volume password.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Important Notes&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Be aware that all disk encryption programs only protect the information &quot;physically&quot; written to the encrypted media be it virtual or physical. Any information you access is temporarily stored in system memory. If a computer system is not:&lt;br /&gt;
&lt;br /&gt;
- shut down properly&lt;br /&gt;
- suffers from a power failure&lt;br /&gt;
- the removable media is removed without being unmounted&lt;br /&gt;
- as well as slew of other issues that may cause an unclean memory purge&lt;br /&gt;
&lt;br /&gt;
May result in sensitive information being inadvertently left in temporary file space on the hardrdrive of the computer. If the entire system harddisk, as well as removable media, is encrypted, this is not an issue.&lt;br /&gt;
&lt;br /&gt;
if you are encrypting the entire system harddrive, there have been some freak occurrences of on improper shutdown, the boot record becoming corrupted; Thereby turning your computer into a doorstop. However, full disk encryption is the recommended path if the information on your laptop for example is sensitive and may cause some severe impact to you if it were say stolen..not that laptop theft ever occurs right =)  
    </content:encoded>

    <pubDate>Sat, 17 Apr 2010 12:22:41 -0400</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/20-guid.html</guid>
    
</item>
<item>
    <title>Integrating OSSEC into BASE</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/11-Integrating-OSSEC-into-BASE.html</link>
            <category>Intrusion Analysis</category>
            <category>Intrusion Detection</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/11-Integrating-OSSEC-into-BASE.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=11</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    This is the quick and dirty for integrating OSSEC&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; alerting into BASE so you can have your snort and OSSEC alerts alarms residing in the same interface.&lt;br /&gt;
&lt;br /&gt;
Install snort and BASE, if you`re not sure how to do this refer to the previous posting on this topic &lt;a href=&quot;http://keithpachulski.securitytactics.com/index.php?/archives/12-Quick-Reference-Guide-Snort-and-BASE-Installation-and-Setup.html&quot; title=&quot;Snort/BASE&quot; target=&quot;_blank&quot;&gt;found here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have snort and base installed, have imported the sql schema&#039;s for both snort and acid, import the OSSEC schema into the snort and snort_archive databases; the mysql schema files for ossec&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; can be found in the contrib directory:&lt;br /&gt;
&lt;br /&gt;
# mysql -u snort &lt; ossec2mysql.sql snort&lt;br /&gt;
# mysql -u snort &lt; ossec2mysql.sql snort_archive&lt;br /&gt;
&lt;br /&gt;
Move the following three files from the contrib directory to /usr/local/bin/&lt;br /&gt;
&lt;br /&gt;
# mv ossec2mysql.pl /usr/local/bin/&lt;br /&gt;
# mv ossec2mysqld.pl /usr/local/bin/&lt;br /&gt;
# mv compile_alerts.pl /usr/local/bin/&lt;br /&gt;
&lt;br /&gt;
Modify ossec2mysql.conf adding the correct database information, chmod the file 600, chown the file root.root then move it to /etc/&lt;br /&gt;
&lt;br /&gt;
If you do not already have a signatures directory under BASE, create it now (I`ll be bringing this up again during the initial snort/BASE install for those who do not have it yet).&lt;br /&gt;
&lt;br /&gt;
# mkdir /var/www/html/secure/base/signatures &amp;&amp;amp; chown apache.apache /var/www/html/secure/base/signatures&lt;br /&gt;
&lt;br /&gt;
At this point you want to import all current OSSEC alarms into the snort database which BASE is querying from:&lt;br /&gt;
&lt;br /&gt;
# zcat /var/ossec/logs/alerts/2010/Feb/ossec-alerts-*.gz | /usr/local/bin/ossec2mysql.pl --conf /etc/ossec2mysql.conf --interface manualfeed&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve imported all the current events manually into the snort database, launch the ossec process to continuously monitor and import OSSEC events into the snort database:&lt;br /&gt;
&lt;br /&gt;
# /usr/local/bin/ossec2mysqld.pl --conf /etc/ossec2mysql.conf -d&lt;br /&gt;
&lt;br /&gt;
Now log into BASE and you should have all your archived OSSEC alerts, as well as all future alarms being inserted into BASE.  
    </content:encoded>

    <pubDate>Thu, 25 Feb 2010 22:21:00 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/11-guid.html</guid>
    
</item>
<item>
    <title>Introduction to OSSEC - Server/Client and OSSEC WUI</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/13-Introduction-to-OSSEC-ServerClient-and-OSSEC-WUI.html</link>
            <category>Intrusion Analysis</category>
            <category>Intrusion Detection</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/13-Introduction-to-OSSEC-ServerClient-and-OSSEC-WUI.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=13</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    In this episode we&#039;ll be reviewing the OSSEC&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; Host Intrusion Detection System (HIDS&lt;sup&gt;&lt;span title=&quot;host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;). We will cover the basic steps to installing and configuring both the server and client applications. Additionally, we&#039;ll be covering installing and configuring the OSSEC Web User Interface (WUI). We will not be covering how to integrate OSSEC into the BASE management console. That will be addressed in another blog post, to be released shortly.&lt;br /&gt;
&lt;br /&gt;
OSSEC, for those of you who aren&#039;t aware of what it is exactly, is a software based system that monitors the host operating system. Like traditional integrity check based systems (tripwire, aide, osiris), ossec&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; performs file and user/group monitoring. One of the major differences between OSSEC and other traditional systems, is that OSSEC can perform the monitoring in real time on designated files and directories. In addition to the file monitoring capabilities, OSSEC has the ability to monitor the registry on Windows systems for alteration to registry keys.&lt;br /&gt;
&lt;br /&gt;
OSSEC also monitors log files in real time, this functionality is typically referred to as a Log Based Intrusion Detection (LIDS&lt;sup&gt;&lt;span title=&quot;log based intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;) system. The LIDS portion of the application is enabled by default as part of the basic server and client installation. OSSEC exports the client system logs to the central OSSEC server via a secure channel. The server OSSEC then analyzes all entries for questionable entries or known designated &quot;bad&quot; entries.  This includes Windows Security, Event and Application logs, IIS logs, database logs, Apache, SQUID, firewalls, routers, switches, snort as well as a slew of others. For a complete list of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.ossec.net/wiki/Supported-Logs&#039;]);&quot;  href=&quot;http://www.ossec.net/wiki/Supported-Logs&quot; title=&quot;all supported log files&quot; target=&quot;_blank&quot;&gt;all supported log files&lt;/a&gt; please see the OSSEC list, bearing in mind however that you can use the generic module to inspect log files or create your own to monitor custom log files. In addition to monitoring for known and questionable &quot;bad&quot; traffic, it will also generate alarms for anything it does not understand or underlying operating system errors such as process failures, disk full errors, raid failures to name but a few.&lt;br /&gt;
&lt;br /&gt;
But wait...there&#039;s more..&lt;br /&gt;
&lt;br /&gt;
In the typical OSSEC installation, as with most traditional file integrity check based systems, you need to install some type of agent on the client systems. OSSEC has a very useful feature for those systems which may not support a client to be installed. For these you can utilize the agentless configuration for monitoring virtually any type of system, be it a Cisco ASA firewall or an OS/400 system.&lt;br /&gt;
&lt;br /&gt;
The entire OSSEC system is extremely flexible.&lt;br /&gt;
&lt;br /&gt;
In all examples from this point forward, I am basing the installation of both the client and server on the CentOS 5 operating system. The basic setup and design however is generally the same on all *nix based systems. I am also basing the installation on the current version of OSSEC which is v2.3 as of the time I&#039;m writing this. When doing the installation yourself, you may want to refer to the ossec.net website if you are unable to retrieve the packages using the links I&#039;ve provided.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Log Samples for various OSSEC Alerts&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;New User logging into the system&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
** Alert 1267052622.246237:	 mail  - syslog,fts,authentication_success&lt;br /&gt;
2010 Feb 24 18:03:42 keithpachulski -&gt; /var/log/secure&lt;br /&gt;
Rule: 10100 (level 4) -&gt; &#039;First time user logged in.&#039;&lt;br /&gt;
Src IP: (71.185.192.3)&lt;br /&gt;
User: bernie&lt;br /&gt;
Feb 24 18:03:41 keithpachulski sshd[9304]: Accepted password for&lt;br /&gt;
bernie from 71.185.192.3 port 57905 ssh2&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Yum updates on the system&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
** Alert 1266983791.268245:	 mail  - syslog,yum,config_changed,&lt;br /&gt;
2010 Feb 23 22:56:31 keithpachulski -&gt; /var/log/messages&lt;br /&gt;
Rule: 2933 (level 7) -&gt; &#039;Yum package updated.&#039;&lt;br /&gt;
Src IP: (0.0.0.0)&lt;br /&gt;
User: (none)&lt;br /&gt;
Feb 23 22:56:31 keithpachulski yum: Updated:&lt;br /&gt;
systemtap-runtime-0.9.7-5.el5_4.1.i386&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Douchebags attempting directory traversal attacks on my server and failing&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
** Alert 1267064964.272533:	 - web,accesslog,attack,&lt;br /&gt;
2010 Feb 24 21:29:24 keithpachulski -&gt; /var/log/httpd/access_log&lt;br /&gt;
Rule: 31104 (level 6) -&gt; &#039;Common web attack.&#039;&lt;br /&gt;
Src IP: (195.93.200.219)&lt;br /&gt;
User: (none)&lt;br /&gt;
195.93.200.219 - - [24/Feb/2010:21:29:23 -0500] &quot;GET&lt;br /&gt;
/%22%20%20target=%22_blank/index.php?option=com_communitypolls&amp;controller=./../../../../../../../../proc/self/environ%00&lt;br /&gt;
HTTP/1.1&quot; 404 235 &quot;-&quot; &quot;-&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Obtain the OSSEC application and the OSSEC WUI&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
$ wget http://www.ossec.net/files/ossec-hids-2.3.tar.gz&lt;br /&gt;
$ wget http://www.ossec.net/files/ui/ossec-wui-0.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Untar both the ossec-hids and ossec-wui packages&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
$ tar zxvf ossec-wui-0.3.tar.gz &amp;&amp;amp; tar -zxvf ossec-hids-2.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Install the OSSEC HIDS application&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
$ cd ossec-hids-2.3&lt;br /&gt;
$ su &lt;enter your root password&gt; or sudo ./install.sh&lt;br /&gt;
$ Select [en] as the default language&lt;br /&gt;
&lt;br /&gt;
Hit -Enter- after the install script displays the host information&lt;br /&gt;
&lt;br /&gt;
1- What kind of installation do you want (server, agent, local or help)?&lt;br /&gt;
&lt;br /&gt;
Enter &quot;server&quot;&lt;br /&gt;
&lt;br /&gt;
2- Setting up the installation environment.&lt;br /&gt;
&lt;br /&gt;
 - Choose where to install the OSSEC HIDS [/var/ossec]: &lt;br /&gt;
&lt;br /&gt;
Leave it as the default /var/ossec by selecting [Enter]&lt;br /&gt;
&lt;br /&gt;
3- Configuring the OSSEC HIDS.&lt;br /&gt;
&lt;br /&gt;
  3.1- Do you want e-mail notification? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
If you want OSSEC to send you emails on alert, select y - if you do not want it to send you emails on alerts select n&lt;br /&gt;
&lt;br /&gt;
If you select yes, you&#039;ll be prompted for your email server information.&lt;br /&gt;
&lt;br /&gt;
  3.2- Do you want to run the integrity check daemon? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Select y as the default as we want the server and agent processes to perform file integrity checking.&lt;br /&gt;
&lt;br /&gt;
  3.3- Do you want to run the rootkit detection engine? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Select y as the default as we want the server and agent processes to check for known malicious software and perform basic checks on our application installations.&lt;br /&gt;
&lt;br /&gt;
  3.4- Active response allows you to execute a specific &lt;br /&gt;
       command based on the events received. For example,&lt;br /&gt;
       you can block an IP address or disable access for&lt;br /&gt;
       a specific user.  &lt;br /&gt;
       More information at:&lt;br /&gt;
       http://www.ossec.net/en/manual.html#active-response&lt;br /&gt;
       &lt;br /&gt;
   - Do you want to enable active response? (y/n) [y]:&lt;br /&gt;
&lt;br /&gt;
If you want the OSSEC software to actively respond to suspected intrusion, enable this. Otherwise select n for it to operate in a passive monitoring and reporting mode.&lt;br /&gt;
&lt;br /&gt;
  3.5- Do you want to enable remote syslog (port 514 udp)? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Enter n here (entering n assumes you already have syslog listening for remote entries - check your syslog conf to be sure), later on in the configuration we&#039;ll be specifying the syslog files we want OSSEC to monitor on both the server and client installations.&lt;br /&gt;
&lt;br /&gt;
After entering y or n on the last entry, OSSEC will scan all default log locations for all system log files and automagically begin tailing those files. While OSSEC tails the files, it will be comparing all entries against known malicious or questionable traffic patterns being entered into the logs.&lt;br /&gt;
&lt;br /&gt;
If there are additional logs you want monitored, simply modify the ossec.conf file after the installation has completed. We&#039;ll cover this more later.&lt;br /&gt;
&lt;br /&gt;
Once the installation has completed, you&#039;ll need to modify the default configuration file to reflect your system configuration and remove some unnecessary lines from the configuration.&lt;br /&gt;
&lt;br /&gt;
If you installed OSSEC to the default location, the configuration file can be found in /var/ossec/etc&lt;br /&gt;
&lt;br /&gt;
To view my sample server configuration template for OSSEC running on CentOS5 or RHEL5, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/projects.securitytactics.com/boards/1/topics/8&#039;]);&quot;  href=&quot;http://projects.securitytactics.com/boards/1/topics/8&quot; title=&quot;CentOS5/RHEL5 Server Configuration Template&quot; target=&quot;_blank&quot;&gt;go here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The above configuration will enable the following options:&lt;br /&gt;
- file integrity checks to be performed on the server every 14400 seconds&lt;br /&gt;
- file integrity checks for all files located in the following location:&lt;br /&gt;
-- &amp;lt;directories check_all=&quot;yes&quot;&amp;gt;/bin,/usr/bin,/usr/local/bin,/usr/local/sbin,/sbin,/boot,/etc,/home&amp;lt;/directories&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The check_all options tells OSSEC to watch all attributes of the file including permission, owner, group etc. There is an additional option to continuously, in real-time, monitor the specific file or directory by using the &quot;realtime&quot; option.&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;directories realtime=&quot;yes&quot; check_all=&quot;yes&quot;&amp;gt;/bin,/usr/bin,/usr/local/bin,/usr/local/sbin,/sbin,/boot,/etc,/home&amp;lt;/directories&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other optional fields that are recommended to add are as follows:&lt;br /&gt;
&lt;br /&gt;
- alert_new_files: This is not a default option and designates that when new files are created, OSSEC will generate alerts for each new file created. This option should be set to &quot;yes&quot;.&lt;br /&gt;
&lt;br /&gt;
- scan_on_start: This option should be disabled. It can be disabled by setting the field to &quot;no&quot;. If this option is not disabled, each time OSSEC is restarted on the system, OSSEC will rescan the entire file system.&lt;br /&gt;
&lt;br /&gt;
- auto_ignore: By default OSSEC will auto-ignore files that change often and are not acknowledged. In certain environments, this type of behavior is not acceptable and this should be disabled. Disabling this option is accomplished by setting the field to &quot;no&quot;.&lt;br /&gt;
&lt;br /&gt;
Rootkit checks and system audits, I perform every 86400 seconds. This can be tuned to whatever value you are comfortable with. Bear in mind however that the rootkit and system level audit checks can be resource intensive.&lt;br /&gt;
&lt;br /&gt;
Once the server configuration has been completed, start the OSSEC process: /var/ossec/bin/ossec-control start&lt;br /&gt;
&lt;br /&gt;
With the OSSEC server portion operating, we will configure the OSSEC WUI before moving onto installing, configuring and integrating a client into the OSSEC syste,&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;
Installing and Configuring the OSSEC WUI&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
As root, move, rename and change the owner/group of the ossec-wui-0.3 directory as follows:&lt;br /&gt;
&lt;br /&gt;
# mv ossec-wui-0.3 /var/www/html/ossec &amp;&amp;amp; chown -R ossec.ossec /var/www/html/ossec&lt;br /&gt;
#cd /var/www/html/ossec&lt;br /&gt;
&lt;br /&gt;
Run the setup script in the ossec directory:&lt;br /&gt;
&lt;br /&gt;
# ./setup.sh&lt;br /&gt;
&lt;br /&gt;
Afer entering the requested information during the setup.sh script execution, add the &quot;user&quot; apache runs as to the ossec group&lt;br /&gt;
&lt;br /&gt;
#usermod -G ossec apache&lt;br /&gt;
&lt;br /&gt;
Modify the permission on the tmp/ directory in the ossec directory to allow apache to access the contents of tmp&lt;br /&gt;
&lt;br /&gt;
# chmod 770 /var/www/html/ossec/tmp &amp;&amp;amp; chgrp apache /var/www/html/ossec/tmp&lt;br /&gt;
&lt;br /&gt;
Restart Apache&lt;br /&gt;
&lt;br /&gt;
By default, OSSEC will authenticate access to the OSSEC directory using Basic htaccess authentication. If you have BASE installed and want to use MySQL authentication from the BASE system, modify the .htaccess directory to use the following:&lt;br /&gt;
&lt;br /&gt;
AuthName &quot;Access Restricted to Authorized Users Only&quot;&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthMySQLEnable on&lt;br /&gt;
AuthMySQLHost localhost &lt;br /&gt;
AuthMySQLUser snort&lt;br /&gt;
AuthMySQLPassword (yoursnortMySQLpasswordhere)&lt;br /&gt;
AuthMySQLDB snort&lt;br /&gt;
AuthMySQLUserTable base_users&lt;br /&gt;
AuthMySQLNameField usr_login&lt;br /&gt;
AuthMySQLPasswordField usr_pwd&lt;br /&gt;
AuthMySQLPwEncryption md5&lt;br /&gt;
require valid-user&lt;br /&gt;
&lt;br /&gt;
Authenticating users from the BASE MySQL table will allow you to permit access to everyone who has access to the BASE console access to OSSEC, without the need for continuously modifying the .htpasswd file each time you want to add a new user.&lt;br /&gt;
&lt;br /&gt;
The OSSEC WUI configuration is now completed, you should now be able to access it via your web broswer by going to https://ipofserver/ossec&lt;br /&gt;
&lt;br /&gt;
-- Note: If you don&#039;t have this running under HTTPS, it would be in your best interest to do so.&lt;br /&gt;
&lt;br /&gt;
At this point, you should have the OSSEC server operating as well as the OSSEC WUI, we will now add our first client to the system.&lt;br /&gt;
&lt;br /&gt;
Installing the client is exactly the same except that instead of installing it as a server, we&#039;ll be installing it as an agent.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Installing the OSSEC Client&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
$ tar -zxvf ossec-hids-2.3.tar.gz&lt;br /&gt;
$ cd ossec-hids-2.3&lt;br /&gt;
&lt;br /&gt;
su to root to install the software and modify the configuration&lt;br /&gt;
&lt;br /&gt;
# ./install.sh&lt;br /&gt;
&lt;br /&gt;
Select en as the default language and enter agent for the install type.&lt;br /&gt;
&lt;br /&gt;
Once you enter agent, take the default installation location which will be /var/ossec&lt;br /&gt;
&lt;br /&gt;
You will then be asked for the IP address of the OSSEC HIDS Server, enter it and hit enter&lt;br /&gt;
&lt;br /&gt;
3- Configuring the OSSEC HIDS.&lt;br /&gt;
&lt;br /&gt;
  3.1- What&#039;s the IP Address of the OSSEC HIDS server?:&lt;br /&gt;
&lt;br /&gt;
  3.2- Do you want to run the integrity check daemon? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Accept the default of &quot;y&quot; here&lt;br /&gt;
&lt;br /&gt;
  3.3- Do you want to run the rootkit detection engine? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Accept the default of &quot;y&quot; here&lt;br /&gt;
&lt;br /&gt;
  3.4 - Do you want to enable active response? (y/n) [y]: &lt;br /&gt;
&lt;br /&gt;
Select &quot;n&quot; here, at this point OSSEC will now install the agent application on the system.&lt;br /&gt;
&lt;br /&gt;
As with the server side installation, the ossec configuration file needs to be modified. I have made a template available for *nix based systems available by clicking &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/projects.securitytactics.com/boards/1/topics/6&#039;]);&quot;  href=&quot;http://projects.securitytactics.com/boards/1/topics/6&quot; title=&quot;*nix based ossec client template&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve completed the client side configuration we now need to add the client to the server configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Introducing the Client to the Server&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
All communications between the client and server are encrypted. If for whatever reason the communication path between the client and server becomes interrupted, the client side will queue messages until the server becomes reachable again. At which time it will export all queued messages to the server.&lt;br /&gt;
&lt;br /&gt;
On the server we first need to add the client system, export the encryption key for the client, then restart the ossec process. This all needs to be performed as root or via sudo, whichever method you typically use.&lt;br /&gt;
&lt;br /&gt;
# cd /var/ossec/bin&lt;br /&gt;
# ./manage_agents&lt;br /&gt;
&lt;br /&gt;
Select &quot;A&quot; to add an agent&lt;br /&gt;
- enter the name of the agent&lt;br /&gt;
- enter the ip of the agent&lt;br /&gt;
- accept the default value for the ID&lt;br /&gt;
&lt;br /&gt;
Select &quot;E&quot; to extract the key&lt;br /&gt;
- enter the ID of the system&lt;br /&gt;
&lt;br /&gt;
Copy the entire key, if any portion of the key is missing, the client will not be able to connect to the server.&lt;br /&gt;
&lt;br /&gt;
Exit from the manage_agents application and restart OSSEC&lt;br /&gt;
&lt;br /&gt;
# /var/ossec/bin/ossec-control restart&lt;br /&gt;
&lt;br /&gt;
On the client, run the manage_agents application. Unlike the server, you will only have the option to import a key via &quot;I&quot; on the client.&lt;br /&gt;
&lt;br /&gt;
Once you enter the IP and paste in the key, exit from the manage_agents application and start the ossec application:&lt;br /&gt;
&lt;br /&gt;
# /var/ossec/bin/ossec-control start&lt;br /&gt;
&lt;br /&gt;
As long as the agent and the server have a clear communication path, the client will begin its first operating system integrity, audit and rootkit checks as well as beginning to export all system logs designated in the client OSSEC configuration file to the server.&lt;br /&gt;
&lt;br /&gt;
To add more systems, simply repeat the &quot;Installing the OSSEC Client&quot; and &quot;Introducing the Client to the Server&quot; steps.&lt;br /&gt;
&lt;br /&gt;
That&#039;s all for now folks...check back soon for &quot;How to Integrate OSSEC into BASE&quot;  
    </content:encoded>

    <pubDate>Fri, 19 Feb 2010 22:35:28 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/13-guid.html</guid>
    
</item>
<item>
    <title>Quick Reference Guide: Snort and BASE Installation and Setup</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/12-Quick-Reference-Guide-Snort-and-BASE-Installation-and-Setup.html</link>
            <category>Intrusion Analysis</category>
            <category>Intrusion Detection</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/12-Quick-Reference-Guide-Snort-and-BASE-Installation-and-Setup.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=12</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    This is the quick and dirty guide to compiling, configuring and installing snort to log to a mysql database, then installing BASE to view those alerts. We`ll be using this basic setup again later as we integrate OSSEC&lt;sup&gt;&lt;span title=&quot;open source security, host intrusion detection system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; into BASE for centralized reporting of all network and host based intrusion alarms.&lt;br /&gt;
&lt;br /&gt;
For snort you&#039;ll need to obtain the following for this install:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/&quot; title=&quot;PCRE&quot; target=&quot;_blank&quot;&gt;PCRE&lt;/a&gt;&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.tcpdump.org/&#039;]);&quot;  href=&quot;http://www.tcpdump.org/&quot; title=&quot;libpcap&quot; target=&quot;_blank&quot;&gt;libpcap&lt;/a&gt;&lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.snort.org/downloads&#039;]);&quot;  href=&quot;http://www.snort.org/downloads&quot; title=&quot;snort&quot; target=&quot;_blank&quot;&gt;snort&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Compiling and Installing PCRE&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
$ tar zxvf pcre-8.01.tar.gz&lt;br /&gt;
$ ./configure &amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
su to root and install: make install&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Compiling and Installing libpcap&lt;/u&gt;&lt;br /&gt;
$ tar zxvf libpcap-1.0.0.tar.gz &lt;br /&gt;
$ ./configure &amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
su to root and install: make install&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Compiling and Installing Snort&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
If possible, do not have the MySQL server running on the snort sensor server, the two functions should be seperated.&lt;br /&gt;
&lt;br /&gt;
$ tar zxvf snort-2.8.5.2.tar.gz&lt;br /&gt;
$ ./configure --with-mysql --enable-perfprofiling --enable-reload&lt;br /&gt;
&lt;br /&gt;
su to root and install: make install&lt;br /&gt;
&lt;br /&gt;
Create a new user for snort to run under, snort should NOT be run as root&lt;br /&gt;
&lt;br /&gt;
# useradd -c &quot;snort nids&quot; -s /sbin/nologin snort&lt;br /&gt;
&lt;br /&gt;
Create the directory to store the snort signature files&lt;br /&gt;
&lt;br /&gt;
# mkdir /home/snort/sigs&lt;br /&gt;
&lt;br /&gt;
Move the preprocessor rules to the snort directory&lt;br /&gt;
&lt;br /&gt;
[root@cent snort-2.8.5.2]# mv preproc_rules/ /home/snort/sigs/&lt;br /&gt;
&lt;br /&gt;
Move the snort init script and logrotate scripts to their correct locations&lt;br /&gt;
&lt;br /&gt;
# mv rpm/snortd /etc/rc.d/init.d/&lt;br /&gt;
# ln -s /etc/rc.d/init.d/snortd /etc/rc3.d/S99snort&lt;br /&gt;
# chmod 755 /etc/rc.d/init.d/snortd&lt;br /&gt;
# mv rpm/snort.logrotate /etc/logrotate.d/snort&lt;br /&gt;
# mv rpm/snort.sysconfig /etc/sysconfig/snort&lt;br /&gt;
# mv etc/snort.conf /home/snort/&lt;br /&gt;
# mv etc/&lt;strong&gt; /home/snort/sigs/&lt;br /&gt;
&lt;br /&gt;
Add the snort libraries to the ld.so.conf file and run ldconfig&lt;br /&gt;
&lt;br /&gt;
# echo /usr/local/lib/snort_dynamicrules &gt;&gt; /etc/ld.so.conf&lt;br /&gt;
# /usr/bin/ldconfig&lt;br /&gt;
&lt;br /&gt;
We&#039;ll come back configuring the rest of snort once we have BASE running&lt;br /&gt;
&lt;br /&gt;
Create the MySQL database to be used by snort for event logging, to be used later by BASE&lt;br /&gt;
&lt;br /&gt;
mysqladmin create snort&lt;br /&gt;
mysqladmin create snort_archive&lt;br /&gt;
&lt;br /&gt;
From the schema directory, execute the following:&lt;br /&gt;
&lt;br /&gt;
mysql -u root -p &lt; create_mysql snort&lt;br /&gt;
mysql -u root -p &lt; create_mysql snort_archive&lt;br /&gt;
&lt;br /&gt;
Create the snort user and grant permissions on the snort.&lt;/strong&gt; and snort_archive.&lt;strong&gt; databases&lt;br /&gt;
&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
mysql&gt; create user &#039;snort&#039;@&#039;localhost&#039; identified by &#039;password_goes_here&#039;;&lt;br /&gt;
mysql&gt; create user &#039;snort&#039;@&#039;ip_of_the_remote_snort_sensor&#039; identified by &#039;password_goes_here&#039;;&lt;br /&gt;
mysql&gt; grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.&lt;/strong&gt; to &#039;snort&#039;@&#039;localhost&#039;;&lt;br /&gt;
mysql&gt; grant CREATE,INSERT,SELECT,UPDATE on snort.&lt;strong&gt; to &#039;snort&#039;@&#039;ip_of_the_remote_snort_sensor&#039;;&lt;br /&gt;
mysql&gt; flush privileges;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Installing and Configuring BASE&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Upgrade pear and all installed pear packages, this will be needed for some of the BASE modules&lt;br /&gt;
&lt;br /&gt;
If php-gd is not installed, install it now&lt;br /&gt;
&lt;br /&gt;
yum install php-gd&lt;br /&gt;
&lt;br /&gt;
pear upgrade PEAR-1.x.x (whatever the most recent is)&lt;br /&gt;
pear install Image_Color&lt;br /&gt;
pear install --alldeps --force Log&lt;br /&gt;
pear install Numbers_Roman&lt;br /&gt;
pear install --alldeps --force Image_Graph-0.7.2&lt;br /&gt;
pear install --alldeps mail&lt;br /&gt;
pear upgrade-all&lt;br /&gt;
&lt;br /&gt;
Download and install &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/adodb.sourceforge.net/&#039;]);&quot;  href=&quot;http://adodb.sourceforge.net/&quot; title=&quot;adodb&quot; target=&quot;_blank&quot;&gt;adodb&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
$ tar zxvf adodb510.tgz &lt;br /&gt;
&lt;br /&gt;
su to root, change the owner and group then move to /var/www/&lt;br /&gt;
&lt;br /&gt;
# chown -R apache.apache adodb5/ &amp;&amp;amp; mv adodb5/ /var/www/&lt;br /&gt;
&lt;br /&gt;
Download and install &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/sourceforge.net/projects/secureideas/&#039;]);&quot;  href=&quot;http://sourceforge.net/projects/secureideas/&quot; title=&quot;BASE&quot; target=&quot;_blank&quot;&gt;BASE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
$ tar zxvf base-1.4.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
su to root, change the owner and group then move to /var/www/html/&lt;br /&gt;
&lt;br /&gt;
# chown -R apache.apache base-1.4.4/ &amp;&amp;amp; mv base-1.4.4/ /var/www/html/base&lt;br /&gt;
&lt;br /&gt;
Modify php.ini to not expose php and set the error logging to the recommended level&lt;br /&gt;
&lt;br /&gt;
expose_php = Off&lt;br /&gt;
&lt;br /&gt;
error_reporting = E_ALL &amp;amp; ~E_NOTICE&lt;br /&gt;
&lt;br /&gt;
Modify the BASE configuration file to reflect the username, password and adodb location&lt;br /&gt;
&lt;br /&gt;
# cd /var/www/html/base&lt;br /&gt;
# cp base_conf.php.dist base_conf.php &amp;&amp;amp; chown apache.apache base_conf.php&lt;br /&gt;
&lt;br /&gt;
$BASE_urlpath = &#039;/base&#039;;&lt;br /&gt;
$DBlib_path = &#039;/var/www/adodb5&#039;;&lt;br /&gt;
$alert_dbname   = &#039;snort&#039;;&lt;br /&gt;
$alert_host     = &#039;localhost&#039;;&lt;br /&gt;
$alert_port     = &#039;&#039;;&lt;br /&gt;
$alert_user     = &#039;snort&#039;;&lt;br /&gt;
$alert_password = &#039;mypassword&#039;;&lt;br /&gt;
$archive_exists   = 1;&lt;br /&gt;
$archive_dbname   = &#039;snort_archive&#039;;&lt;br /&gt;
$archive_host     = &#039;localhost&#039;;&lt;br /&gt;
$archive_port     = &#039;&#039;;&lt;br /&gt;
$archive_user     = &#039;snort&#039;;&lt;br /&gt;
$archive_password = &#039;mypassword&#039;;&lt;br /&gt;
$refresh_all_pages = 1;&lt;br /&gt;
$show_previous_alert = 1;&lt;br /&gt;
$refresh_all_pages = 1;&lt;br /&gt;
$show_expanded_query = 1;&lt;br /&gt;
$colored_alerts = 1;&lt;br /&gt;
$IP2CC = &quot;/usr/bin/ip2cc&quot;;&lt;br /&gt;
&lt;br /&gt;
Make sure to set all the correct information in the SMTP portion of the configuration so you can email yourself or others copies of the alerts from BASE.&lt;br /&gt;
&lt;br /&gt;
Install the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/search.cpan.org/~abigail/Geography-Countries-2009041301/lib/Geography/Countries.pm&#039;]);&quot;  href=&quot;http://search.cpan.org/~abigail/Geography-Countries-2009041301/lib/Geography/Countries.pm&quot; title=&quot;Geography:Countries&quot; target=&quot;_blank&quot;&gt;Geography:Countries&lt;/a&gt; Perl module for map generation&lt;br /&gt;
&lt;br /&gt;
tar zxvf Geography-Countries-2009041301.tar.gz &amp;&amp;amp; cd Geography-Countries-2009041301&lt;br /&gt;
perl Makefile.PL &amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
su to root and install the perl module: make install&lt;br /&gt;
&lt;br /&gt;
Install the &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/search.cpan.org/dist/IP-Country/&#039;]);&quot;  href=&quot;http://search.cpan.org/dist/IP-Country/&quot; title=&quot;IP-Country&quot; target=&quot;_blank&quot;&gt;IP-Country&lt;/a&gt; Perl module for map generation&lt;br /&gt;
&lt;br /&gt;
tar zxvf IP-Country-2.27.tar.gz &amp;&amp;amp; cd IP-Country-2.27&lt;br /&gt;
perl Makefile.PL &amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
Start apache:&lt;br /&gt;
&lt;br /&gt;
/etc/rc.d/init.d/httpd start&lt;br /&gt;
&lt;br /&gt;
Open your web browser and navigate to the BASE URL:&lt;br /&gt;
&lt;br /&gt;
http://ip.address.here/base&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve modified all fields correctly, you&#039;ll be presented with a page saying:&lt;br /&gt;
&lt;br /&gt;
&quot;The underlying database snort@localhost appears to be incomplete/invalid. &quot;&lt;br /&gt;
&lt;br /&gt;
Click the &quot;setup page&quot; link then click the Create BASE AG button.&lt;br /&gt;
&lt;br /&gt;
Click on the &quot;Main page&quot; link, click on the &quot;Use Archive Database&quot; link&lt;br /&gt;
&lt;br /&gt;
Click the &quot;setup page&quot; link then click the Create BASE AG button.&lt;br /&gt;
&lt;br /&gt;
Return to the primary database by clicking the &quot;Use Alert Database&quot; link.&lt;br /&gt;
&lt;br /&gt;
Now that snort is installed, the mysql schema for snort has been loaded and the ACID AG schema for base has been loaded, we return to the final portion of this which is finalizing the actual snort configuration file, loading the signatures and starting snort while logging alerts to the mysql database.&lt;br /&gt;
&lt;br /&gt;
Download the most recent &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.snort.org/snort-rules/#rules&#039;]);&quot;  href=&quot;http://www.snort.org/snort-rules/#rules&quot; title=&quot;signature file&quot; target=&quot;_blank&quot;&gt;signature file&lt;/a&gt; from snort.org, you`ll need to generate an account to get the file.&lt;br /&gt;
&lt;br /&gt;
mkdir temp&lt;br /&gt;
mv snortrules-snapshot-2.8.tar.gz temp/ &amp;&amp;amp; cd temp/&lt;br /&gt;
tar zxvf snortrules-snapshot-2.8.tar.gz&lt;br /&gt;
&lt;br /&gt;
Move the plain text signature descriptors to the BASE directory, this must be done as root as the BASE directory is owned by apache&lt;br /&gt;
&lt;br /&gt;
# mv doc/signatures /var/www/html/base/ &amp;&amp;amp; chown -R apache.apache /var/www/html/base/signatures&lt;br /&gt;
&lt;br /&gt;
Move the signature files to the snort sigs directory which we created earlier:&lt;br /&gt;
&lt;br /&gt;
# mv rules/&lt;/strong&gt; /home/snort/sigs/ &amp;&amp;amp; chown -R snort.snort /home/snort/sigs/&lt;br /&gt;
&lt;br /&gt;
Modify the snort.conf file to reflect the network to be monitored, the variables noted are ones that should be modified, feel free to experiement though:&lt;br /&gt;
&lt;br /&gt;
$ cd /home/snort&lt;br /&gt;
$ vi snort.conf&lt;br /&gt;
&lt;br /&gt;
var HOME_NET 192.168.0.0/8 (enter the correct network with mask here of the network you are monitoring)&lt;br /&gt;
var DNS_SERVERS [192.168.0.1,192.168.0.2] (enter your actual DNS servers here)&lt;br /&gt;
&lt;br /&gt;
same follows with all the variables, if you can define it please do so..the more specific you are the better the results&lt;br /&gt;
&lt;br /&gt;
var RULE_PATH /home/snort/sigs&lt;br /&gt;
var PREPROC_RULE_PATH /home/snort/sigs/preproc_rules&lt;br /&gt;
&lt;br /&gt;
The snort decoders you&#039;ll have to experiment with, personally I find them very noisy and typically disable them on all installations.&lt;br /&gt;
&lt;br /&gt;
Locate the line containing the following:&lt;br /&gt;
&lt;br /&gt;
   iis_unicode_map unicode.map 1252&lt;br /&gt;
&lt;br /&gt;
and change it to:&lt;br /&gt;
&lt;br /&gt;
   iis_unicode_map /home/snort/sigs/unicode.map 1252&lt;br /&gt;
&lt;br /&gt;
The ftp_telnet preprocessor works well in some area&#039;s, horrible in others..it requires some heavy tuning outside the scope of this blog post.&lt;br /&gt;
&lt;br /&gt;
Locate the following string, uncomment it and correct the information with your actual database information:&lt;br /&gt;
&lt;br /&gt;
output database: log, mysql, user=snort password=&lt;snort_password_here&gt; dbname=snort host=&lt;sql_ip_here&gt; sensor_name=&lt;name_of_the_sensor&gt;&lt;br /&gt;
&lt;br /&gt;
Locate the following two lines and modify them to appear as follows:&lt;br /&gt;
&lt;br /&gt;
include classification.config&lt;br /&gt;
include reference.config&lt;br /&gt;
&lt;br /&gt;
include $RULE_PATH/classification.config&lt;br /&gt;
include $RULE_PATH/reference.config&lt;br /&gt;
&lt;br /&gt;
Once you`ve modified all the needed fields, test the config with the following string:&lt;br /&gt;
&lt;br /&gt;
# snort -c /home/snort/snort.conf -i eth0 -T&lt;br /&gt;
&lt;br /&gt;
If everything is correct and snort can connect to the database, you`ll be presented with the following:&lt;br /&gt;
&lt;br /&gt;
Snort successfully loaded all rules and checked all rule chains!&lt;br /&gt;
database: Closing connection to database &quot;snort&quot;&lt;br /&gt;
Snort exiting&lt;br /&gt;
&lt;br /&gt;
Now for the final part, modifying the snort sysconfig file so we can actually start/stop/restart/stats the snort process. Modify the following lines as needed:&lt;br /&gt;
&lt;br /&gt;
vi /etc/sysconfig/snort&lt;br /&gt;
CONF=/home/snort/snort.conf&lt;br /&gt;
INTERFACE=eth0 (set the correct interface name of set ALL for snort to listen on all interfaces)&lt;br /&gt;
PRINT_INTERFACE=1&lt;br /&gt;
#PASS_FIRST=) (comment this out, the option no longer exists, the default behavior is pass first now)&lt;br /&gt;
BINARY_LOG=1 (by default snort will generate pcap dumps of all alerts, this will require much disk space and manual/scripted removal of the files as it will chew up disk space, set it to 0 if you do not want pcap generated files of alerts)&lt;br /&gt;
&lt;br /&gt;
Modify the snort init script to remove an option that no longer exists but for whatever reason in 2.8.5.1 the init still references it:&lt;br /&gt;
&lt;br /&gt;
#if [ &quot;$PASS_FIRST&quot;X = &quot;1X&quot; ]; then&lt;br /&gt;
#   PASS_FIRST=&quot;-o&quot;&lt;br /&gt;
#else&lt;br /&gt;
#   PASS_FIRST=&quot;&quot;&lt;br /&gt;
#fi&lt;br /&gt;
&lt;br /&gt;
Create a symlink to snort for the location in the snort init script or edit the snort init script to reflect the actual location:&lt;br /&gt;
&lt;br /&gt;
# ln -s /usr/local/bin/snort /usr/sbin/snort&lt;br /&gt;
&lt;br /&gt;
Now just start snort up:&lt;br /&gt;
&lt;br /&gt;
# /etc/rc.d/init.d/snortd start&lt;br /&gt;
&lt;br /&gt;
Enjoy...  
    </content:encoded>

    <pubDate>Mon, 15 Feb 2010 17:05:20 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/12-guid.html</guid>
    
</item>
<item>
    <title>Nmap 5 UDP Application Recognition</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/2-Nmap-5-UDP-Application-Recognition.html</link>
            <category>Pentration Testing</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/2-Nmap-5-UDP-Application-Recognition.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=2</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=2</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    In prior versions of nmap, the UDP scanning portion was essentially useless. It was not a flaw in the nmap program, but in how UDP as a transport behaves. With the new version of nmap, they&#039;ve began to build application awareness of UDP services into nmap with some limitations.&lt;br /&gt;&lt;br /&gt;Typically when scanning for UDP services, there were generally two expected response types. The first would be the receipt of some type of ICMP error message indicating that the UDP port was not open through an ICMP port or the host was unreachable via an ICMP host unreachable. The second expected &quot;response&quot; would be no response which would indicate that either there was some type of firewall in the path of the target that was configured to not generate ICMP error messages or that there was an actual service listening on the destination port. This of course made service discovery gernally useless from the point of UDP services.&lt;br /&gt;&lt;br /&gt;If a port was closed, verified by the icmp port unreachable error, nmap will report the port as closed.&lt;br /&gt;If the nmap host received an ICMP error code 1, 2, 9, 10, or 13, nmap will report the port as filtered.&lt;br /&gt;In the destination port generates some type of response traffic, nmap will report the port as open.&lt;br /&gt;If nmap receives no responose whatsoever, nmap will report the port as open|filtered.&lt;br /&gt;&lt;br /&gt;That is until nmap, with this new version, begin to become application aware and being able to &quot;speak&quot; to certain UDP services. In doing this it would know how to issue expected responses to UDP services in order to verify there is an actual service listening.&lt;br /&gt;&lt;br /&gt;To use the new UDP service, you would run the scans with the -sU. This flag option is only available as root, which won&#039;t affect most of the people who are actually reading this:&lt;br /&gt;&lt;br /&gt;e.g.: nmap -sU -sT -A -p 1-65535 target&lt;br /&gt;&lt;br /&gt;[root@keithpachulski keithp]# nmap -sU -p 123,500 192.168.10.254&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.21 ( http://nmap.org ) at 2010-02-06 10:08 EST&lt;br /&gt;Nmap scan report for 192.168.10.254&lt;br /&gt;Host is up (0.0016s latency).&lt;br /&gt;PORT    STATE SERVICE&lt;br /&gt;123/udp open  ntp&lt;br /&gt;500/udp open  isakmp&lt;br /&gt;MAC Address: 00:1B:8F:D3:4C:62 (Cisco Systems)&lt;br /&gt;&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds&lt;br /&gt;&lt;br /&gt;The same of course can also be performed directly through metasploit when logged into the msfconsole as root:&lt;br /&gt;&lt;br /&gt;msf &gt; db_connect&lt;br /&gt;[*] Successfully connected to the database&lt;br /&gt;[*] File: /root/.msf3/sqlite3.db&lt;br /&gt;msf &gt; db_nmap -sU -p 123,500 192.168.10.254&lt;br /&gt;&lt;br /&gt;Starting Nmap 5.21 ( http://nmap.org ) at 2010-02-06 10:09 EST&lt;br /&gt;Nmap scan report for 192.168.10.254&lt;br /&gt;Host is up (0.0050s latency).&lt;br /&gt;PORT    STATE SERVICE&lt;br /&gt;123/udp open  ntp&lt;br /&gt;500/udp open  isakmp&lt;br /&gt;MAC Address: 00:1B:8F:D3:4C:62 (Cisco Systems)&lt;br /&gt;&lt;br /&gt;Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds&lt;br /&gt;&lt;br /&gt;At this time, only the following UDP services are supported though I`m sure this list will quickly be expanded upon:&lt;br /&gt;&lt;br /&gt;udp/7           echo&lt;br /&gt;udp/53        domain&lt;br /&gt;udp/111      rpcbind&lt;br /&gt;udp/123      ntp&lt;br /&gt;udp/137      netbios-ns&lt;br /&gt;udp/161      SNMP&lt;br /&gt;udp/177      xdmcp&lt;br /&gt;udp/500      ISAKMP&lt;br /&gt;udp/520      route&lt;br /&gt;udp/1645    RADUIS&lt;br /&gt;udp/1812   RADIUS&lt;br /&gt;udp/2049    NFS&lt;br /&gt;udp/5353    zeroconf&lt;br /&gt;udp/10080 amanda&lt;br /&gt;&lt;br /&gt;Something to keep in mind though when using the UDP scanner portion of nmap. A full UDP port scan of all 65535 ports, which is required by some regulatory bodies such as the PCI&lt;sup&gt;&lt;span title=&quot;payment card industry data security standard&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;-DSS, can take upwards of 18 hours to complete. This can be minimized by using the --host-timeout option and designated what time in seconds you want to give each host to respond to the UDP query:&lt;br /&gt;&lt;br /&gt;nmap -sU -p 123,500 192.168.10.254 --host-timeout 10s&lt;br /&gt;&lt;br /&gt;In specifying the host-timeout, you have the option to designate the value as &#039;s&#039; for seconds, &#039;m&#039; for minutes and &#039;h&#039; for hours.  
    </content:encoded>

    <pubDate>Sat, 06 Feb 2010 10:20:00 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/2-guid.html</guid>
    
</item>
<item>
    <title>Metasploit/NeXpose integration from the webconsole on CentOS</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/3-MetasploitNeXpose-integration-from-the-webconsole-on-CentOS.html</link>
            <category>Commercial Products</category>
            <category>Pentration Testing</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/3-MetasploitNeXpose-integration-from-the-webconsole-on-CentOS.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=3</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    In integrating the use of the two products, this will walk you through the step by step setup and use for this to work with success.&lt;br /&gt;&lt;br /&gt;Download the latest copy of ruby, currently 1.9.1 - &lt;a href=&quot;ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.gz&quot; title=&quot;ruby 1.9.1&quot;&gt;ruby 1.9.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Configure ruby as follows:&lt;br /&gt;&lt;br /&gt;cd ruby-x&lt;br /&gt;./configure --prefix=/opt/msf3 --enable-pthread --enable-shared&lt;br /&gt;make &amp;&amp;amp; make install&lt;br /&gt;&lt;br /&gt;Add ruby to your PATH: export PATH=/opt/metasploit3/bin:$PATH&lt;br /&gt;&lt;br /&gt;After installing ruby, download and install the latest &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/rubyforge.org/frs/?group_id=126&amp;amp;release_id=37073&#039;]);&quot;  href=&quot;http://rubyforge.org/frs/?group_id=126&amp;release_id=37073&quot; title=&quot;rubygems&quot;&gt;rubygems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- untar the ball, enter into the directory and execute ruby setup.rb&lt;br /&gt;&lt;br /&gt;Install libpcap-devel via yum: yum search libpcap-devel&lt;br /&gt;&lt;br /&gt;- cd /opt/msf3/external/pcaprub/&lt;br /&gt;- ruby extconf.rb&lt;br /&gt;- make &amp;&amp;amp; make install&lt;br /&gt;&lt;br /&gt;After you have ruby and rubygems installed, downloaded the most recent version of &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.metasploit.com/framework/download/&#039;]);&quot;  href=&quot;http://www.metasploit.com/framework/download/&quot; title=&quot;metasploit&quot;&gt;metasploit&lt;/a&gt; or update it via svn&lt;br /&gt;&lt;br /&gt;- svn checkout https://www.metasploit.com/svn/framework3/trunk /opt/msf3/&lt;br /&gt;&lt;br /&gt;Install the database driver, choose one or both:&lt;br /&gt;- gem install sqlite3-ruby&lt;br /&gt;- gem install mysql&lt;br /&gt;- gem install postgres-pr&lt;br /&gt;&lt;br /&gt;Download and install &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.rapid7.com/products/nexpose-community-edition.jsp&#039;]);&quot;  href=&quot;http://www.rapid7.com/products/nexpose-community-edition.jsp&quot; title=&quot;NeXpose&quot;&gt;NeXpose&lt;/a&gt; if you haven&#039;t done so already. Don&#039;t go any further until NeXpose is installed and operational.&lt;br /&gt;&lt;br /&gt;Start the metasploit console: ./msfconsole&lt;br /&gt;&lt;br /&gt;Create the database: db_create&lt;br /&gt;- [*] Creating a new database instance...&lt;br /&gt;- [*] Successfully connected to the database&lt;br /&gt;&lt;br /&gt;After the database has been created, load the nexpose plugin: load nexpose&lt;br /&gt;- [*] NeXpose integration has been activated&lt;br /&gt;- [*] Successfully loaded plugin: nexpose&lt;br /&gt;&lt;br /&gt;Connect to the NeXpose instance: nexpose_connect &quot;username&quot; &quot;password&quot; 127.0.0.1 3780 ok&lt;br /&gt;&lt;br /&gt;Launch your first scan and automatically pass results to metasploit for processing&lt;br /&gt;&lt;br /&gt;- nexpose_scan -x -t full-audit &lt;IP or netblock&gt;&lt;br /&gt;&lt;br /&gt;To see the full list of nexpose_connect options, execute the following: nexpose_connect -h&lt;br /&gt;&lt;br /&gt;If there are any successful exploitations as a result of the scan, you will be presented with the following:&lt;br /&gt;&lt;br /&gt;- [*] Command shell session 1 opened&lt;br /&gt;&lt;br /&gt;To view the active sessions, execute the following: sessions -l -v&lt;br /&gt;&lt;br /&gt;Full results from the audit can be viewed by logging into the NeXpose web console.&lt;br /&gt;&lt;br /&gt;Disconnect from NeXpose via the metasploit msfconsole or weird things happen: nexpose_disconnect&lt;br /&gt;&lt;br /&gt;Suggestion, once this is all working correctly and you`re happy; Setup metasploit to update daily or however often you prefer via cron&lt;br /&gt;&lt;br /&gt;&lt;strong&gt; &lt;/strong&gt; &lt;strong&gt; &lt;/strong&gt; * svn update /opt/msf3/&lt;br /&gt;&lt;br /&gt;When attempting to execute future metasploit/nexpose session, be sure to reconnect to the database before connecting to nexpose:&lt;br /&gt;&lt;br /&gt;- ./msfconsole&lt;br /&gt;- db_connect&lt;br /&gt;- nexpose_connect &quot;same stuff as above&quot;&lt;br /&gt;&lt;br /&gt;And you`re done...go have some fun now..  
    </content:encoded>

    <pubDate>Sat, 30 Jan 2010 10:25:00 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/3-guid.html</guid>
    
</item>
<item>
    <title>Product Comparison - Nessus 4.2.0 vs. Rapid7 NeXpose</title>
    <link>http://keithpachulski.securitytactics.com/index.php?/archives/5-Product-Comparison-Nessus-4.2.0-vs.-Rapid7-NeXpose.html</link>
            <category>Commercial Products</category>
            <category>Pentration Testing</category>
            <category>Regulatory Compliance</category>
    
    <comments>http://keithpachulski.securitytactics.com/index.php?/archives/5-Product-Comparison-Nessus-4.2.0-vs.-Rapid7-NeXpose.html#comments</comments>
    <wfw:comment>http://keithpachulski.securitytactics.com/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://keithpachulski.securitytactics.com/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Keith Pachulski)</author>
    <content:encoded>
    I&#039;ve been a Nessus user for quite some time now, likely as far back as version 1. I&#039;ve liked the product up till the most recent release of 4.2.0. I began having all sorts of problems. Audits not completing, when they did complete the report either would not generate or if it did generate it would present large black boxes sporadically throughout the report, the console would crash or restart without warning...&lt;br /&gt;&lt;br /&gt;After contacting Tenable support, I was told some of the most outrageous excuses such as &quot;We don&#039;t support scans through firewall&quot;, &quot;We don&#039;t support scanning that large of a network segment&quot;, &quot;You report is to large, you need to add this filter to remove some of the entries to have the report generate&quot;.&lt;br /&gt;&lt;br /&gt;With that said, Tenable all I can offer you is this. Before your next product release, I suggest you download NeXpose from Rapid7 and seriously reconsider how your product functions and what the end-user security community actually needs.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Installation and Setup&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Both products were easy to install, Nessus required no dependencies and installed after about 5 minutes. NeXpose required one dependency which took approximately 2 minutes to locate and install. After which the install process was approximately 5 minutes.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Functionality&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;If you download Nessus, you&#039;re restricted to only auditing for Windows vulnerabilities. If you want more, you need to buy the professional feed for $1200.00 a year.&lt;br /&gt;&lt;br /&gt;NeXpose is fully functional with the only restriction on the &quot;Community&quot; version being that you cannot have more tha 32 IP&#039;s in the UI at a given time and regulatory audits are disabled. NeXpose also integrated directly with Metasploit. This makes the actual testing portion of the audit process far easier as you can just hop down to the console and test for the reported vulnerabilities rather than hunting for the source to actually verify a reported issue.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Front-End&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Nessus has the very sexy front-end UI, while NeXpose has the php front-end. I honestly prefer the php front end, it loads faster and doesn&#039;t chew up a large chunk of memory. If you like flashy stuff though, the Nessus UI would likely hook you.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Audit Policies&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Nessus comes with no pre-configured audit policies and while there is some user documentation, once you configure your first policy and it fails you`ll learn most of the options they`ve described in the User Guide are neither support or recommended by Tenable.&lt;br /&gt;&lt;br /&gt;NeXpose - comes with several preconfigured policies to test for not only regulatory regulations such as PCI&lt;sup&gt;&lt;span title=&quot;payment card industry data security standard&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;, SARBOX, HIPAA&lt;sup&gt;&lt;span title=&quot;health insurance portability and accountability act&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;, web application audit, &quot;full&quot; and &quot;exhaustive&quot; audits or a full blown penetration test.&lt;br /&gt;&lt;br /&gt;This of course makes the auditors jobs much easier as they do not need to spend 20 minutes trying to develop a working audit policy, run it then work out the bugs by reconfiguring the policy as with Nessus.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Audit Function and Reporting&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;With Nessus, after you&#039;ve created your policy and finally executed the scan, you are offered a single technical report. Within the report provided by Tenable you&#039;ll have cursory overviews of the detected vulnerabilities along with the occasional CVSS&lt;sup&gt;&lt;span title=&quot;common vulnerability scoring system&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt; score assigned to a vulnerability&lt;sup&gt;&lt;span title=&quot;flaw or weakness in system security procedures, design or controls&quot; class=&quot;serendipity_glossaryMarkup&quot;&gt;[?]&lt;/span&gt;&lt;/sup&gt;. From there, you have no other option but to generate your report and start the process or going to your external vulnerability management system, adding all the issues, then beginning the process of addressing the individual vulnerabilities. The actual report are only available to be generated in HTML or the Nessus specific file formats. Nessus used to have a PDF option but they removed it with version 4.x.x.&lt;br /&gt;&lt;br /&gt;With Nessus; if you want to re-audit the system(s), you need to repeat the processing of entering the IP or netblock to rescan and assign the policy. Time consuming and slightly annoying.&lt;br /&gt;&lt;br /&gt;NeXpose on the other hand, once you enter the IP or netblock information into the UI. The information is stored and you can setup an automated schedule process. With this you can say every 3 months for example, for those PCI-DSS folks out there, re-audit this specific asset. Yes, with NeXpose you can create an asset object.&lt;br /&gt;&lt;br /&gt;Once the audit has been completed, the NeXpose console will list out all vulnerabilities discovered. It will also provide you with an overall CVSS score for the entire asset as well as Risk score per system within the asset group. Unlike Nessus you have two reporting options, Technical and Executive. The Executive report offer the high level overview along with graphs, charts and risk levels. The technical reports provides a complete list of all discovered issues, how the issues were discovered along with a step by step on how to resolve the issues. &lt;br /&gt;&lt;br /&gt;NeXpose reports are also able ot be customized to the type of vulnerabilities you wish to report, such as &quot;All Vulnerabilities&quot;, &quot;Critical Vulnerabilities&quot; or &quot;Critical and Severe Vulnerabilities&quot;. Reports are able to be generated in PDF, XML or HTML.&lt;br /&gt;&lt;br /&gt;In additional to the exhaustive reporting NeXpose provides, it also gives you the ability to track the issue directly through the NeXpose console. Once an issue has been resolved, you click on the &quot;exclude&quot; image and you are requested to enter why you are excluding the vulnerability. This integrated vulnerability management system makes the analysts life easier as all of the information he/she needs it contained within the single system. The entire life cycle from discovery, verification and resolution all resides on a single webpage.&lt;br /&gt;&lt;br /&gt;The other added bonus, NeXpose runs off an integrated postgresql database. If an analyst should so desire, custom reporting can be retrieved from the database as needed.&lt;br /&gt;&lt;br /&gt;In closing, if you are a Nessus user. I would strongly urge you to go to the rapid7 website and download NeXpose..kick the wheels and give it a spin. I promise you that you will not be disappointed.&lt;br /&gt;&lt;br /&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.rapid7.com/&#039;]);&quot;  href=&quot;http://www.rapid7.com/&quot; title=&quot;NeXpose&quot;&gt;NeXpose&lt;/a&gt;&lt;br /&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.nessus.org/nessus/&#039;]);&quot;  href=&quot;http://www.nessus.org/nessus/&quot; title=&quot;Nessus&quot;&gt;Nessus&lt;/a&gt;  
    </content:encoded>

    <pubDate>Tue, 12 Jan 2010 11:15:00 -0500</pubDate>
    <guid isPermaLink="false">http://keithpachulski.securitytactics.com/index.php?/archives/5-guid.html</guid>
    
</item>

</channel>
</rss>