<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>TechScrawl.com</title>
	
	<link>http://blog.techscrawl.com</link>
	<description>TechScrawl is a technology blog focusing on a wide variety of technology related areas including enterprise IT, information security, penetration testing, networking, virtualization, and Windows &amp; Linux administration.</description>
	<lastBuildDate>Tue, 31 Mar 2009 17:23:14 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="blog.techscrawl.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://www.gravatar.com/blavatar/fa2dd8266249856d143960f45508105a?s=96&amp;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>TechScrawl.com</title>
		<link>http://blog.techscrawl.com</link>
	</image>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Techscrawl" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Stopping Conficker with OpenDNS</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/Jvh14doSMtY/</link>
		<comments>http://blog.techscrawl.com/2009/03/30/stopping-conficker-with-opendns/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 15:11:21 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[Conficker]]></category>
		<category><![CDATA[Downadup]]></category>
		<category><![CDATA[OpenDNS]]></category>
		<category><![CDATA[Worms]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=634</guid>
		<description><![CDATA[Conficker is quickly becoming a mainstream news story as April 1 approaches, the date that the worm is programmed to &#8220;phone home&#8221; for further instructions. It has been discussed in various news outlets, even garnering a primetime spot on 60 Minutes this past weekend. The worm has been a great source of concern for IT [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=634&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Conficker is quickly becoming a mainstream news story as April 1 approaches, the date that the worm is programmed to &#8220;phone home&#8221; for further instructions. It has been <a href="http://www.usatoday.com/tech/news/computersecurity/wormsviruses/2009-03-24-conficker-computer-worm_N.htm" target="_blank">discussed</a> in various news outlets, even garnering a primetime spot on 60 Minutes this past weekend. The worm has been a great source of concern for IT execs the past couple of months, though the actual severity is yet to be determined. There are several mitigating factors that are supposed to minimize the chance for compromise, and a number of <a href="http://www.doxpara.com/?p=1285" target="_blank">ways</a> to <a href="http://blog.tenablesecurity.com/2009/03/detecting-conficker-with-nessus.html" target="_blank">detect</a> and <a href="http://www.symantec.com/norton/theme.jsp?themeid=conficker_worm" target="_blank">remove</a> the virus. Another potential weapon against Conficker that should be considered is the use of <a href="http://blog.opendns.com/2009/03/30/worried-about-conficker-on-april-1-setting-up-opendns-can-protect-your-network/" target="_blank">OpenDNS</a> to block the worm from communicating with command and control servers for further instructions.</p>
<p>In analyzing the virus, engineers have found that Conficker uses an algorithm to determine a number of different domains to contact for further instructions beginning on April 1. The algorithm was used to determine the exact list of domains that would be used. OpenDNS recently added a feature which would block access to these domains: <strong>&#8220;<em>We’ve teamed with Kaspersky Lab to identify those domains, and stop resolving them. This means if you’re using OpenDNS, Conficker will do your network no damage</em>&#8220;</strong>. From a management perspective, this is a much less intensive solution than attempting to block the domains on your local DNS servers and dealing with the overhead involved.</p>
<p>While using OpenDNS might not be feasible for larger enterprises, this is a great solution for SMB&#8217;s and home users. I&#8217;ve used it personally for some time now; the amount of centralized control available and ease of use makes it extremely attractive. A wealth of reporting features are also available, including one to specifically identify requests to known malware sites (like Conficker). Steps still need to be taken to ensure that Conficker is identified and removed from your network, but this is a good way to ensure that if any instances go undiscovered, they won&#8217;t be able to cause further harm.</p>
<p><strong>Related Links:</strong></p>
<p><a href="http://www.opendns.org" target="_blank">OpenDNS</a><br />
<a href="http://mtc.sri.com/Conficker/addendumC/index.html" target="_blank">In depth analysis of Conficker</a><br />
<a href="http://blog.techscrawl.com/feed/">Subscribe to TechScrawl.com</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/634/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/634/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/634/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/634/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/634/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/634/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/634/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/634/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/634/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/634/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=634&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/Jvh14doSMtY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/03/30/stopping-conficker-with-opendns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/03/30/stopping-conficker-with-opendns/</feedburner:origLink></item>
		<item>
		<title>MS Network Load Balancing – The Fine Print</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/ysY3yLZtynY/</link>
		<comments>http://blog.techscrawl.com/2009/03/13/ms-network-load-balancing-the-fine-print/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 15:47:06 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[high availability]]></category>
		<category><![CDATA[load balancing]]></category>
		<category><![CDATA[MSNLB]]></category>
		<category><![CDATA[multicast]]></category>
		<category><![CDATA[network load balancing]]></category>
		<category><![CDATA[NLB]]></category>
		<category><![CDATA[unicast]]></category>
		<category><![CDATA[virtual NLB]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=607</guid>
		<description><![CDATA[Microsoft's NLB Clustering is kind of to High Availability Load Balancing what Natural Light is to the beer world. Both will basically get the job done, and on the cheap, but in the long run they might leave you with a wicked headache and wishing you spent a few extra dollars for a Sam Adams.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=607&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="size-full wp-image-622 alignright" title="Natty Light!" src="http://clayshek.files.wordpress.com/2009/03/natty.jpg?w=77&#038;h=112" alt="Natty Light!" width="77" height="112" /></p>
<p>Microsoft&#8217;s NLB Clustering is kind of to High Availability Load Balancing what Natural Light is to the beer world. Both will basically get the job done, and on the cheap, but in the long run they might leave you with a wicked headache and wishing you spent a few extra dollars for a Sam Adams.</p>
<p><span id="more-607"></span>A lot of my time at work recently has been spent researching and testing load balancing and fail-over solutions for a group of Windows based application servers. Having never had load balancing requirements before, an NLB clustering solution sounded good at first, especially being included free with the OS. However, I found that unless your environment exactly meets requirements, you may be better off not going down the MS NLB road. This brief overview of my lessons learned may help others also considering NLB solutions.</p>
<p><strong>* </strong>Basically MS NLB works by assigning a virtual IP address (VIP) to the network adapter of each cluster member. Traffic is sent to the VIP, received by all cluster members, accepted by one, dropped by the rest.</p>
<p><strong>* </strong>MS NLB supports two configurations: unicast mode, or multicast mode. Unicast mode replaces the existing MAC address of all cluster members with a new cluster MAC address, which is shared by all nodes. Multicast mode adds the cluster MAC address to the node adapter, but also leaves the original one. With both methods, the nodes share an IP and MAC address, so that when a client asks &#8220;who has this IP address&#8221; (an ARP request), all nodes respond.</p>
<p><strong>* </strong>Unicast mode aims to be simple, and has the advantage of working across routers with no problems. However, this method has the negative side effect of flooding switch ports. MS-NLB hides the MAC address of outgoing cluster traffic, switches never learn what ports cluster members are attached to, so traffic destined for the cluster is flooded out all ports. This effectively turns a switch into a hub as far as cluster traffic goes, which can cause network issues with busy clusters. This can be overcome by adding static ARP entries on the switch (if supported), but that can quickly become a management nightmare. Another possible drawback to unicast mode is that cluster members cannot directly communicate with each other without adding a 2nd NIC.</p>
<p><strong>* </strong>Multicast mode attempts to address switch flooding by using IGMP Multicast support, which tells the switch to direct cluster traffic only to those ports with cluster members attached. However, this assumes the switch supports IGMP snooping and has it enabled. Also, many routers &amp; layer 3 switches do not support this mode because ARP replies associate a unicast IP with a multicast MAC, which may or may not be against standards depending on whether you ask Microsoft or Cisco. No IGMP support means switch flooding. And no IGMP router support means no cluster access outside of that subnet unless a static ARP entry is used.</p>
<p><strong>*</strong> Planning to implement NLB in a virtualized environment adds complexity. The only one I can speak to from experience is VMWare ESX. They support both modes, <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1573" target="_blank">however unicast is not recommended</a>. By default, unicast doesn&#8217;t work because the virtual switches learn MAC addresses despite the cluster masking outbound traffic, which breaks clustering. This can be overcome by disabling the NotifySwitch feature, but that in turn breaks operations like VMotion. Multicast works, but is subject to the same problems as mentioned above, and made more complex by the many different physical / virtual topologies.</p>
<p>I certainly don&#8217;t intend to demean Microsoft (or Natty Light) on their products. Microsoft could have easily not included it with the OS, leaving the only option as an expensive hardware load balancer. MS NLB does work, and providing you are aware of and can address its limitations, you may find it to be an effective low cost load balancing solution in your environment. On the flip-side, if you find that the management and overhead is too much and you need a hardware LB device, there are a number of powerful and relatively inexpensive possibilities. The ones from Barracuda Networks are a good choice. There are also other factors not covered here that need to be taken into account;  session support, affinity, and redundant network topologies to name a few. So make sure to do adequate research, up to and including packet captures to prove intended operation.</p>
<p><strong>Related Links:</strong><br />
<a href="http://technet.microsoft.com/en-us/library/cc759510.aspx" target="_blank">Network Load Balancing Clusters &#8211; TechNet</a><br />
<a href="http://technet.microsoft.com/en-us/library/cc782694.aspx" target="_blank">Selecting Unicast or Multicast &#8211; TechNet</a><br />
<a href="http://www.vmware.com/files/pdf/implmenting_ms_network_load_balancing.pdf" target="_blank">Implementing NLB in a Virtualized Environment</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/607/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/607/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/607/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=607&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/ysY3yLZtynY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/03/13/ms-network-load-balancing-the-fine-print/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>

		<media:content url="http://clayshek.files.wordpress.com/2009/03/natty.jpg" medium="image">
			<media:title type="html">Natty Light!</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/03/13/ms-network-load-balancing-the-fine-print/</feedburner:origLink></item>
		<item>
		<title>Random Tech-Bits: SSLStrip, TCP Security, DNSSEC, and more…</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/2Njuiz7CFtg/</link>
		<comments>http://blog.techscrawl.com/2009/02/20/random-tech-bits-sslstrip-tcp-security-dnssec-and-more/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 15:04:07 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Random Tech-Bits]]></category>
		<category><![CDATA[Conficker]]></category>
		<category><![CDATA[Conficker B++]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[Downadup]]></category>
		<category><![CDATA[internal threats]]></category>
		<category><![CDATA[Internet SAFETY Act]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[SSL Bypass]]></category>
		<category><![CDATA[SSLStrip]]></category>
		<category><![CDATA[TCP Security]]></category>
		<category><![CDATA[TCP/IP Security]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=609</guid>
		<description><![CDATA[Random Tech-Bits is a periodic roundup of interesting technology related links &#38; news stories.

SSL bypass method described at Black Hat D.C. &#8211; Link here to the actual presentation. SSLStrip will be posted here within a few days.
Security Assessment of TCP &#8211; Comprehensive assessment of TCP weaknesses and vulnerabilities, from the UK&#8217;s CPNI.
Call for DNSSEC deployment [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=609&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Random Tech-Bits is a periodic roundup of interesting technology related links &amp; news stories.</p>
<ul>
<li><a href="http://www.informationweek.com/news/security/vulnerabilities/showArticle.jhtml?articleID=214501930" target="_blank">SSL bypass method</a> described at Black Hat D.C. &#8211; <a href="https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf" target="_blank">Link here</a> to the actual presentation. <a href="http://www.thoughtcrime.org/software.html" target="_blank">SSLStrip will be posted here</a> within a few days.</li>
<li><a href="http://www.cpni.gov.uk/Docs/tn-03-09-security-assessment-TCP.pdf" target="_blank">Security Assessment of TCP</a> &#8211; Comprehensive assessment of TCP weaknesses and vulnerabilities, from the UK&#8217;s CPNI.</li>
<li><a href="http://www.securityfocus.com/brief/911" target="_blank">Call </a><span><a href="http://www.securityfocus.com/brief/911" target="_blank">for DNSSEC deployment</a> &#8211; Dan Kaminsky pushes for DNSSEC adoption: &#8220;</span><em><span class="body">It&#8217;s time to sign the root and be done with it.</span></em><span>&#8220;  Check out my DNSSEC related posts here: <a href="http://blog.techscrawl.com/2009/01/06/dnssec-101/">DNSSEC 101</a> and <a href="http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/">Enabling DNSSEC on BIND</a>.</span></li>
<li><span>Recent legislation introduced into the U.S. <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d111:h.r.01076:" target="_blank">House</a> and <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d111:s.00436:" target="_blank">Senate</a> will apparently require service providers maintain all access logs for 2 years. It has interesting implications: <em>&#8220;not just public Wi-Fi access points, but &#8230; individuals, small businesses, large corporations, &#8230;every employer that uses DHCP for its network&#8221;. </em><a href="http://news.cnet.com/8301-13578_3-10168114-38.html" target="_blank">Full story here</a>.</span></li>
<li><a href="http://online.wsj.com/article/SB123447990459779609.html" target="_blank">Thwarting an Internal Hacker</a> &#8211; WSJ article by Bruce Schneier analyzing insider threat protection; the recommendations are mostly common sense.</li>
<li><a href="http://www.networkworld.com/news/2009/022009-conficker-worm-gets-an-evil.html" target="_blank">Conficker / Downadup worm variant</a>, Conficker B++ spotted in the wild.</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/609/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/609/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/609/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=609&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/2Njuiz7CFtg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/02/20/random-tech-bits-sslstrip-tcp-security-dnssec-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/02/20/random-tech-bits-sslstrip-tcp-security-dnssec-and-more/</feedburner:origLink></item>
		<item>
		<title>Personal Password Management</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/TNutXJ91xRQ/</link>
		<comments>http://blog.techscrawl.com/2009/02/15/personal-password-management/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 18:09:03 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[identity management]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[password management]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[personal password management]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=600</guid>
		<description><![CDATA[Question: If someone were to obtain your credentials for a "non-critical" web site, could they be used to gain access to accounts on critical sites such as email, online banking, etc? Many people would probably have to answer yes to that question, even security minded IT professionals.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=600&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Question: If someone were to obtain your credentials for a &#8220;non-critical&#8221; web site, could they be used to gain access to accounts on critical sites such as email, online banking, etc? Many people would likely have to answer yes to that question, even security minded IT professionals.</p>
<p>Identity management can easily be a complicated subject. The average Internet user maintains dozens of accounts across an array of sites with varying levels of importance and security. Credentials for those accounts can be obtained a number of ways. Many sites still don&#8217;t use SSL login encryption, leaving passwords vulnerable to sniffing. Others store passwords in the clear, leaving them vulnerable to breach (like the <a href="http://news.cnet.com/8301-1009_3-10149884-83.html" target="_blank">recent Monster.com one</a>). The most secure solution might be to maintain a separate password for every site, but that isn&#8217;t very user freindly. Maintaining security has always been a trade-off between security and usability. Greater minds than mine are working on this problem, trying to come up with solutions like the <a href="http://openid.net/" target="_blank">OpenID</a> initiative. Until a better solution is universally adopted, here I&#8217;m presenting the technique I use for personal password management.</p>
<p><span id="more-600"></span></p>
<p>This password management strategy attempts to meet three goals. 1) Find a decent compromise between usability and security. 2) Categorize sites into three tiers, aligning services by security and importance, and assigning unique passwords to each tier. 3) Discovering credentials in one tier should not lead to discovering those in another.</p>
<p>Tier 1 sites are the most critical; email and online banking. Besides containing personal information, email is considered critical because it is usually tied to accounts on other sites. Based on that fact, I recommend making the online banking password slightly different than email. This kind of a one-off, and maybe should be considered a 4th tier? SSL is required for Tier 1 sites. Tier 2 sites are those that are of medium importance, other financial (credit accounts, Amazon, etc) and personal identity sites (social networking, etc). SSL is still a requirement for Tier 2. Tier 3 is for all other trivial accounts like forums, newsletters, or any site that doesn&#8217;t implement SSL login encryption. Each of the tiers gets assigned a unique password that meets best practices. This requires remembering three (or four) different passwords, but they can be a variation on the same base to make this easier.</p>
<p>Other factors need to be taken into account for a total password management solution. Attention needs to be given to site SSL status. Passwords should be complex, not contain words in the dictionary, and ideally changed on an annual basis. Also password reset procedures for accounts should be evaluated to prevent unauthorized access like <a href="http://news.cnet.com/8301-1009_3-10045969-83.html" target="_blank">the kind Sarah Palin fell victim to</a> last year. Passwords typically shouldn&#8217;t be written down, but as a memory aide, a site-to-tier mapping could be saved in an encrypted spreadsheet, using something such as <a href="http://www.truecrypt.org/" target="_blank">TrueCrypt</a>.</p>
<p>Ultimately there is no such thing as 100% secure identity management and access control. Even with (theoretical) rock solid security in Layers 1 through 7, <a href="http://en.wikipedia.org/wiki/Layer_8" target="_blank">Layer 8</a> weaknesses will always be exploitable. In my view this solution accomplishes a reasonable balance between security and still being something that is manageable. It does have weaknesses, for example a breach similar to the Monster.com one, which would have been a Tier 2 site, would require resetting passwords for all other Tier 2 sites. However, email would have remained secure, so ultimate control over Tier 2 password resets should have remained intact. There are numerous other variations on the personal password management theme. Let me know in the comments section what methods you suggest or what weaknesses you see with this solution.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/600/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/600/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/600/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=600&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/TNutXJ91xRQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/02/15/personal-password-management/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/02/15/personal-password-management/</feedburner:origLink></item>
		<item>
		<title>Downadup / Conficker and Disabling Autorun</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/iz-JtNCRkh4/</link>
		<comments>http://blog.techscrawl.com/2009/01/22/downadup-conficker-and-disabling-autorun/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 16:51:06 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Autoplay]]></category>
		<category><![CDATA[Autorun]]></category>
		<category><![CDATA[Autorun.inf]]></category>
		<category><![CDATA[Conficker]]></category>
		<category><![CDATA[Downadup]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=588</guid>
		<description><![CDATA[Just a quick heads up related to disabling Autorun to protect against Downadup / Conficker. While the worm continues to spread and receive more media coverage, IT personnel are working to make sure their systems are protected. One of several ways this worm spreads is by taking advantage of the Autorun feature in Windows systems. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=588&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Just a quick heads up related to disabling Autorun to protect against Downadup / Conficker. While the worm continues to spread and receive more media coverage, IT personnel are working to make sure their systems are protected. One of several ways this worm spreads is by taking advantage of the Autorun feature in Windows systems. Disabling this feature via Group Policy is a logical decision, but it turns out it may not actually work like it should.</p>
<p>Disabling Autorun via GPO currently only disables Autoplay on media insert. However, if there is an Autorun.inf file present on a CD, USB, or network drive, the program will still run when double clicking that drive in Windows Explorer. This vulnerability was announced by the U.S. CERT team on January 20, and later updated to provide patch details from Microsoft. Follow the links below for full details on the problem and where to get the patch.</p>
<p><a href="http://www.us-cert.gov/cas/techalerts/TA09-020A.html" target="_blank">US-CERT Alert</a><br />
<a href="http://support.microsoft.com/kb/953252" target="_blank">Microsoft KB953252</a><br />
<strong>UPDATE:</strong> Microsoft released <a href="http://support.microsoft.com/kb/967715" target="_blank">KB967715</a> on March 10 to address this autorun problem in all versions of Windows.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/588/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/588/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/588/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=588&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/iz-JtNCRkh4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/01/22/downadup-conficker-and-disabling-autorun/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/01/22/downadup-conficker-and-disabling-autorun/</feedburner:origLink></item>
		<item>
		<title>Enabling DNSSEC on BIND</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/uZq5ESrxIi8/</link>
		<comments>http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 17:25:03 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[BIND]]></category>
		<category><![CDATA[chain of trust]]></category>
		<category><![CDATA[DNSKEY]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[DS]]></category>
		<category><![CDATA[KSK]]></category>
		<category><![CDATA[NSEC]]></category>
		<category><![CDATA[NSEC3]]></category>
		<category><![CDATA[RRSIG]]></category>
		<category><![CDATA[SEP]]></category>
		<category><![CDATA[SLES]]></category>
		<category><![CDATA[SuSE]]></category>
		<category><![CDATA[trust anchor]]></category>
		<category><![CDATA[validating resolver]]></category>
		<category><![CDATA[ZSK]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=539</guid>
		<description><![CDATA[My previous post was an overview of DNSSEC and how it secures DNS transactions. This one covers how to enable DNSSEC on zones running on the BIND DNS server. Specifically, this example will involve setting up DNSSEC on a parent and child zone, and confirming successful operation.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=539&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My previous post was an <a href="http://blog.techscrawl.com/2009/01/06/dnssec-101/">overview of DNSSEC</a> and how it secures DNS transactions. This one covers how to enable DNSSEC on zones running on the BIND DNS server. Specifically, this example will involve setting up DNSSEC on a parent and child zone, and confirming successful operation.</p>
<p>An important concept to grasp is that BIND sort of takes on two different roles pertaining to DNSSEC. One is that of providing signed data for a zone for which it is authoritative. The other is that of a validating resolver for external zones. If you only want to set up your BIND server as a DNSSEC validating resolver and not sign any of your own zones, you can skip down to the &#8220;Resolver Validation&#8221; section.<br />
<span id="more-539"></span><br />
The majority of this post&#8217;s content will be the actual instructions for enabling DNSSEC (the &#8220;how&#8221;), and very little explanation (the &#8220;why&#8221;). My preferred way of learning usually consists of diving in head first and tinkering, and then once I&#8217;m familiar enough, going back and learning the intricacies, and that&#8217;s how I&#8217;ll write this. There are links at the end of the post should you want more thorough documentation. I also suggest reading my previous <a href="http://blog.techscrawl.com/2009/01/06/dnssec-101/">DNSSEC 101</a> post if you haven&#8217;t already. Some of the steps in the post involve editing important configuration files, so as a precaution I recommend creating a backup copy of any file before editing it.</p>
<p><strong>REQUIREMENTS</strong></p>
<p>The requirement for signing a zone with BIND is at least version 9.3; I&#8217;m using v9.4 here. Bind v9.6 supports NSEC3 records, but I won&#8217;t be going over that. <strong>An important thing to be aware of is that a DNS server acting as a resolver will not validate data from a zone for which it is authoritative.</strong> The data is coming from the server&#8217;s own local disk, so is considered valid. This means if you follow along with this, you&#8217;ll need at least two BIND installations, one authoritative server for the zones, and one resolver for confirming operation.</p>
<p>Another requirement is the installation of OpenSSL libraries, which are needed for DNSSEC signing. If you compile BIND yourself it should be compiled with openssl support. Installation of this software is beyond the scope of this article, but a good package manager is always helpful. Exercises here are done using SuSE Linux Enterprise Server 10 with the YaST package management software. This example starts off assuming a correctly installed basic BIND 9.4 setup, with two zones configured: example.com &amp; child.example.com.</p>
<p><strong>PREREQUISITES</strong></p>
<p>The first prerequisite is to DNSSEC enable the server by editing the named.conf file. Add the following entry to the options section of the file, then restart BIND:</p>
<p><code>dnssec-enable yes;</code></p>
<p>Before signing a zone, you need to make a decision regarding what signing algorithm and key strength you will use. The currently supported algorithms are RSA/MD5, RSA/SHA1, and DSA. The most widely used is RSA/SHA1; it&#8217;s also recommended in RFC&#8217;s and U.S. government <a href="http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf" target="_blank">guides</a>. The next choice to make is key size.  I generally use 1024 bits for a zone signing key (ZSK), and 2048 bits for the key signing key (KSK). Your choice can depend on several factors, <a href="http://www.ietf.org/rfc/rfc4641.txt" target="_blank">RFC 4641</a> has some recommendations for choosing a key size. Generating the keys can take a while depending on system resources, so for testing purposes you may want to use the smallest size of 512 bits.</p>
<p><strong>GENERATE KEYS<br />
</strong></p>
<p>As discussed in the DNSSEC 101 post, the first step in signing is to generate two key pairs for the zone, the ZSK (signs the zone) &amp; KSK (signs ZSK). This is done using the dnssec-keygen BIND utility. Following along with this example, to create a ZSK for the example.com domain with the RSA/SHA1 algorithm, and a key size of 1024 bits, the following command is run (run from the directory housing the zone files, on SuSE this is /var/lib/named/master):</p>
<p><code>dnssec-keygen -a RSASHA1 -b 1024 -n ZONE example.com</code></p>
<p>When this completes, two new files will have been created: Kexample.com+&lt;alg&gt;+&lt;id&gt;.key (the public key) &amp; Kexample.com+&lt;alg&gt;+&lt;id&gt;.private (the private key). Next, to create the 2nd key pair, the KSK with a 2048 bit key size, run this command:</p>
<p><code>dnssec-keygen -a RSASHA1 -b 2048 -n ZONE -f KSK example.com</code></p>
<p>This will create two additional files with the same naming format. Now the public key portion of the ZSK and KSK need to be added to the zonefile. This enables validators to retrieve the keys. The easiest way to do that is to just pipe the contents of the files into the zonefile, using the following command (good time to make sure you have a backup):</p>
<p><code>cat Kexample.com+*.key &gt;&gt; example.com</code></p>
<p>You should now be able to see two new records in the zonefile, of type DNSKEY. After restarting BIND, you should also be able to query for these new records:</p>
<p><code>dig @localhost example.com DNSKEY</code></p>
<p>At this point, go back through the entire process in this section to generate keys for the child.example.com zone, making sure to replace &#8220;example.com&#8221; with &#8220;child.example.com&#8221; in all of the commands.</p>
<p><strong>SIGN THE ZONE </strong></p>
<p>With the steps above completed, the zones are now ready to be signed, a process done with the dnssec-signzone command. In this case, the child.example.com zone needs to be signed first, I&#8217;ll describe why shortly. To sign the zone, run this command:</p>
<p><code>dnssec-signzone -N INCREMENT child.example.com</code></p>
<p>The -N option updates the SOA serial number (note this option isn&#8217;t supported with BIND 9.3). When this completes you will have 3 new files: dsset-child.example.com, keyset-child.example.com, and child.example.com.signed. The child.example.com.signed file is the new zonefile, with records canonically ordered and new RRSIG &amp; NSEC records added. Take note of the size difference compared to the original zone file. The dsset file is the Delegation Signer (DS) record for the zone, which needs to be added to the parent zone in order to facilitate chain-of-trust validation. This is the reason we signed the child zone first, if the parent zone was first, it would have to be re-signed after adding the DS record.</p>
<p>To add a DS record for the child zone into the parent zone, you import the contents of the dsset-child.example.com file into the zonefile for example.com. The easiest way to do this is the following:</p>
<p><code>cat dsset-child.example.com &gt;&gt; example.com</code></p>
<p>With the DS record in place, you can now sign the parent zone:</p>
<p><code>dnssec-signzone -N INCREMENT example.com</code></p>
<p>When complete, you will see the new keyset and dsset files and the example.com.signed file.  At this point the zones are signed, but BIND needs to be told to load the signed zonefiles instead of the original un-signed ones. Edit named.conf, and add the &#8220;.signed&#8221; suffix to the zone names. In my environment:</p>
<p><code>zone "example.com" in {<br />
file "master/example.com";<br />
};</code></p>
<p>is replaced with:</p>
<p><code>zone "example.com" in {<br />
file "master/example.com.signed";<br />
};</code></p>
<p>The same applies for child.example.com. Now restart BIND, assuming no errors (they are usually due to syntax), you are now serving DNSSEC signed zones.</p>
<p><strong>RESOLVER VALIDATION<br />
</strong></p>
<p>DNSSEC validation can be tested by adding &#8220;+dnssec&#8221; to dig queries. One might think you would be able to try that at this point and get validated data (have the &#8220;ad&#8221; response flag set), but it won&#8217;t work. Dig currently doesn&#8217;t perform validation, it just asks for it. It&#8217;s the job of a DNSSEC aware resolving server to validate. Fortunately BIND 9.3 and above is capable of that, simply by editing named.conf. If you only wanted to configure a DNSSEC validating resolver without hosting any signed zones, you could pick up here without doing any of the steps above.</p>
<p>If you did follow along, these steps need to be completed on a 2nd BIND installation. Configure this installation to use the first server as a forwarder. This is done because, as mentioned above, BIND will not validate zone data for a zone for which it is authoritative. To set up BIND as a validating recursive server, edit the options section of named.conf to have these entries:</p>
<p><code>dnssec-enable yes;<br />
dnssec-validation yes;</code></p>
<p>Note: the dnssec-validation option is only supported on v9.4 or above, on v9.3 the dnssec-enable option covers validation as well.</p>
<p>BIND will now attempt DNSSEC validation, but one more piece is missing. You&#8217;ll recall from the previous post that DNSSEC validation relies on climbing a chain-of-trust until it reaches a trusted authority. These trusted authorities are configured by setting a trust-anchor in named.conf to a zone&#8217;s Secure Entry Point (SEP), which is the KSK. Ideally you want a trust-anchor configured as high as possible in the chain, which would be the root zone, but this currently is not signed, and neither is .com. In this example, the highest possible point would be example.com.</p>
<p>Obtaining a zone&#8217;s KSK (SEP) is fairly easy. Recall that the public key info is added to the zonefile before the signing process (as a DNSKEY record type), so you can simply query for it:</p>
<p><code>dig <em>&lt;domain.com</em>&gt; DNSKEY</code></p>
<p>The two public keys created for a zone have a flag field which will be set to either 256 or 257. 256 is the ZSK, 257 is the KSK, which is the SEP, and the one you want to configure as a trust anchor. I&#8217;ve found it easiest to pipe that to a file, trim it down to only the SEP record, and import to named.conf.</p>
<p>You&#8217;ll then need to edit the named.conf file to format the data correctly, because the way it was imported isn&#8217;t complete, but it&#8217;s still much easier than manually typing everything. Find where the data was added (at the end of the named.conf file), then remove the necessary text and format it to match this example (pay attention to quotes and semi-colons, and note I&#8217;ve truncated the key here):</p>
<p><code>trusted-keys {<br />
"example.com." 257 3 5 "AwEDSFASDF......";<br />
};</code></p>
<p>I should mention that using DNS to obtain a DNSKEY for trust anchor configuration is not considered secure ( you can&#8217;t be secure until you have a trust anchor, chicken before the egg kind of situation ). However you can use DNS to obtain the info and verify it via another channel.</p>
<p>Once you&#8217;ve got that done, restart BIND. You now have a validating DNSSEC recursive name server.</p>
<p><strong>CONFIRMING OPERATION<br />
</strong></p>
<p>BIND is now a validating resolver and is configured with a trust anchor, so you should be able to confirm operation by requesting a DNSSEC validated query (against the recursive server) of your zones:</p>
<p><code>dig +dnssec example.com</code></p>
<p><code>dig +dnssec child.example.com</code></p>
<p>If the data was successfully validated, you will see &#8220;ad&#8221; listed as one of the flag options in the response, meaning the data returned was Authenticated Data (see <a href="http://blog.techscrawl.com/2009/01/06/dnssec-101/">previous post</a> for examples). The fact that authorized data is returned for the child domain when you only have a trust anchor configured for the parent confirms the delegation (DS) record was added correctly.</p>
<p>Further testing can be done against other DNSSEC signed zones on the Internet simply by obtaining their SEP key information and adding a trust-anchor.</p>
<p><strong>MAINTENANCE AND KEY STORAGE<br />
</strong></p>
<p>As mentioned, the goal here was just to show how to configure DNSSEC on BIND. Further research should be done if implementing in production. A few other things are worth mentioning though. It is recommended that the private keys be stored securely offline, or locked down tightly on a primary server that isn&#8217;t publicly accessible. Also, record signatures have a default lifetime of 30 days. This can be lengthened, but at some point they will expire. This requires the zone be re-signed before that happens otherwise the zone will no longer validate. A final factor to consider is key rotation, which for security purposes should be done at certain points. <a href="http://tools.ietf.org/html/rfc4641" target="_blank">RFC 4641</a> has some suggestions on this subject.</p>
<p><strong>LINKS:</strong></p>
<p><a href="http://blog.techscrawl.com/2009/01/06/dnssec-101/">DNSSEC 101</a><br />
<a href="http://alan.clegg.com/files/DNSSEC_in_6_minutes.pdf" target="_blank">DNSSEC in 6 minutes</a> &#8211; Excellent Reference<br />
<a href="http://tools.ietf.org/html/rfc4641" target="_blank">RFC4641 &#8211; DNSSEC Operational Practices</a><br />
<a href="http://blog.techscrawl.com/feed/">Subscribe to TechScrawl.com</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=539&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/uZq5ESrxIi8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/</feedburner:origLink></item>
		<item>
		<title>DNSSEC 101</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/DOAej5HRad8/</link>
		<comments>http://blog.techscrawl.com/2009/01/06/dnssec-101/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 13:05:55 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[BIND]]></category>
		<category><![CDATA[chain of trust]]></category>
		<category><![CDATA[DLV]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[DNSSECbis]]></category>
		<category><![CDATA[EDNS0]]></category>
		<category><![CDATA[M08-23]]></category>
		<category><![CDATA[NSEC]]></category>
		<category><![CDATA[NSEC3]]></category>
		<category><![CDATA[RRSIG]]></category>
		<category><![CDATA[trust anchor]]></category>
		<category><![CDATA[validating resolver]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=517</guid>
		<description><![CDATA[DNSSEC is something you've no doubt heard of, especially this past summer with the discovery of the Kaminsky DNS bug which led to a small panic and widespread patching from vendors. DNSSEC (sometimes called DNSSECbis) has existed as a proposal for about 10 years, but has undergone significant changes as recently as March 2008, and has only lately seen a major push to implementation. This post discusses both the need for DNSSEC and tackles the complex topic of how it works, as simply as possible. Though this really only scratches the surface, it should serve as a good intro for those who want to know more. A fundamental understanding of DNS is assumed.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=517&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>DNSSEC is something you&#8217;ve no doubt heard of, especially this past summer with the discovery of the Kaminsky DNS bug which led to a small panic and widespread patching from vendors. DNSSEC (sometimes called DNSSECbis) has existed as a proposal for about 10 years, but has undergone significant changes as recently as March 2008, and has only lately seen a major push to implementation. This post discusses both the need for DNSSEC and tackles the complex topic of how it works, as simply as possible. Though this really only scratches the surface, it should serve as a good intro for those who want to know more. A fundamental understanding of DNS is assumed.</p>
<p><span id="more-517"></span></p>
<p><strong>WHAT DNSSEC DOES (AND DOESN&#8217;T) DO</strong></p>
<p>DNSSEC provides three basic things:</p>
<ul>
<li><strong>Data Origin Authentication</strong> &#8211; assures that data was received from the authorized DNS server; can protect from impersonation attacks like the Kaminsky bug.</li>
<li><strong>Data Integrity</strong> &#8211; assures that data received matches data on the origin DNS server, and was not modified during transit; protects from MITM type pollution attacks.</li>
<li><strong>Authenticated Denial of Existence</strong> &#8211; assures that a &#8220;Non-existent&#8221; response is valid.</li>
</ul>
<p>DNSSEC provides these services by securely signing DNS records. This requires the addition of four new zonefile record types: Resource Record Signature (RRSIG), DNS Public Key (DNSKEY), Delegation Signer (DS), and Next Secure (NSEC). Signing is done via the use of public key / private key pairs. If you are familiar with the concept of <a href="http://en.wikipedia.org/wiki/Public_key_infrastructure" target="_blank">PKI</a>, this is similar. However, DNSSEC is not PKI. There are no certificates or certificate authorities. The records in a zone are signed with the private portion of a zone signing key (ZSK), and this signature is returned along with the standard response to a DNS query.</p>
<p>The public key can then be used to validate the data. DNSSEC also provides a method to verify the signature&#8217;s authenticity, by signing the ZSK with a key signing key (KSK). DNSSEC does not provide any form of encryption services, so data can still be sniffed, but this typically isn&#8217;t considered a threat for DNS traffic. DNSSEC also does not provide any additional protection of zone transfers. DNSSEC is fully described in RFC&#8217;s <a href="http://www.ietf.org/rfc/rfc4033.txt" target="_blank">4033</a>, <a href="http://www.ietf.org/rfc/rfc4034.txt" target="_blank">4034</a>, and <a href="http://www.ietf.org/rfc/rfc4035.txt" target="_blank">4035</a>. To allow for the additional record types, support for DNS Extension Mechanisms (EDNS0) is required, as described in <a href="http://www.ietf.org/rfc/rfc2671.txt" target="_blank">RFC 2671</a>.</p>
<p>At this time DNSSEC is supported on only a few DNS servers, ISC&#8217;s <a href="https://www.isc.org/software/bind" target="_blank">BIND</a> being the most popular. Signing a DNSSEC zone with BIND requires v9.3 or later. Microsoft products do not support DNSSEC at this time, but it will be integrated with Windows 7 and Server 2008 R2. Updates to provide support in older OS&#8217;s may be released around that time as well. Microsoft&#8217;s DNS server is, however, able to load DNSSEC signed zones, meaning it does have the capability to act as a secondary for a signed zone on a BIND primary. That fact highlights an important point, that DNSSEC signing applies to a DNS zone, not a DNS server.</p>
<p><strong>WHY DNSSEC IS NEEDED</strong></p>
<p>DNS security is vital because nearly everything relies on it for name resolution at one stage or another. DNS has done very well scaling to support the growth of the Internet, but security was unfortunately not a factor in the protocol&#8217;s design. Numerous vulnerabilities have been identified in DNS going as far back as 1990. These problems are typically addressed as they arise. However, despite workarounds, there is still no way for a resolver to be certain that DNS data was returned uncorrupted, or that it even originated from the queried DNS server. DNSSEC helps to address these issues.</p>
<p><strong>HOW IT WORKS</strong></p>
<p>To secure a zone with DNSSEC, a DNS administrator will generate ZSK &amp; KSK keys, add the public portion of each of the keys to the zonefile as a new record type (DNSKEY), and then sign the zone which will create additional record types (RRSIG &amp; NSEC) for each authoritative record in the zone. The RRSIG record is the signature of a corresponding record. The NSEC record type provides the next secure record in the zonefile, which is how authenticated denial of existence is done. (If you already see a potential security problem with the NSEC record, you&#8217;re right, keep reading.) Another RRSIG record is created for the purpose of signing the NSEC record. In addition to adding these new records, the process of signing a zone also organizes it in canonical order. This entire process can significantly increase the size of the zonefile, often 8 to 10 x the original size.</p>
<p>The final step in the signing process is to provide the parent zone with the DS (Delegation Signer) record to create a chain of trust, assuming the parent is DNSSEC aware and the zone is signed. A DS record in the parent zone is signed by the parent&#8217;s ZSK, and points to the child&#8217;s KSK. The KSK is also referred to as a zone&#8217;s Secure Entry Point (SEP) because it is the first key used to form a chain of trust for that zone. In cases where the parent zone is not DNSSEC aware, the signed zone is referred to as an Island of Security. Look for an in-depth post in the future which will go over the steps of enabling DNSSEC on BIND.</p>
<p>Once the steps above have been completed, the zone being served is now protected with DNSSEC. However, in order to utilize the capabilities of DNSSEC, a resolver needs to be DNSSEC aware and know how to ask for the new record types in order to validate the data. To ultimately validate data, a resolver needs to be able to climb the chain of trust until it reaches a known good, trusted, authority (again similar to PKI). This is done by configuring validating resolvers with a &#8220;trust anchor&#8221; to the highest zone below which validation is desired. For example, if you have a trust anchor configured to .com, and DNSSEC is configured properly on all zones, you can validate example.com, child.example.com, etc. The best case scenario would be configuring resolvers with a trust anchor to the root zone, however, the root zone is not signed at this time, nor are most of the TLDs. Until that time, multiple trust anchors are required.</p>
<p>When a resolver attempts to validate DNSSEC signed zone data, 1 of 4 potential states will be determined:</p>
<ul>
<li><strong>Secure</strong> &#8211; resolver has trust anchor and is able to validate all signatures.</li>
<li><strong>Insecure</strong> &#8211; resolver is able to validate to a point in the chain of trust, but at some point a delegating DS record is non-existent, meaning data below that point cannot be validated.</li>
<li><strong>Bogus</strong> &#8211; resolver has a valid chain of trust but data fails to validate (missing signatures or data, unsupported algorithms, expired signatures, etc.).</li>
<li><strong>Indeterminate</strong> &#8211; no trust anchor available to validate data; this is default mode.</li>
</ul>
<p>Currently there are very few true client resolvers that are capable of validating DNSSEC. Until the time when that client support is more widespread, most DNSSEC validation takes place between supporting recursive servers (acting as resolvers) and authoritative name servers.</p>
<p>Several organizations operate open recursive servers on the Internet for testing DNSSEC, Comcast is one of them. Below are examples of queries against one of these Comcast resolvers using the Linux dig utility. The first one is a standard query/response. The second is the same query but this time asking for DNSSEC validation. Note that some extraneous info has been removed for brevity.</p>
<blockquote><p>#&gt; dig @68.87.68.170 www.ripe.net<br />
; &lt;&lt;&gt;&gt; DiG 9.4.1-P1 &lt;&lt;&gt;&gt; @68.87.68.170 www.ripe.net<br />
;; Got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 5769<br />
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 2</p>
<p>;; QUESTION SECTION:<br />
;www.ripe.net.                  IN      A</p>
<p>;; ANSWER SECTION:<br />
www.ripe.net.    446     IN      A       193.0.19.25</p>
<p>;; AUTHORITY SECTION:<br />
ripe.net.               172625  IN      NS      ns-pri.ripe.net.</p>
<p>;; ADDITIONAL SECTION:<br />
ns-pri.ripe.net.        172625  IN      A       193.0.0.195</p></blockquote>
<blockquote><p>#&gt; dig @68.87.68.170 +dnssec www.ripe.net<br />
; &lt;&lt;&gt;&gt; DiG 9.4.1-P1 &lt;&lt;&gt;&gt; @68.87.68.170 +dnssec www.ripe.net<br />
;; Got answer:<br />
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 14945<br />
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 5, ADDITIONAL: 5</p>
<p>;; OPT PSEUDOSECTION:<br />
; EDNS: version: 0, flags: do; udp: 4096<br />
;; QUESTION SECTION:<br />
;www.ripe.net.                  IN      A</p>
<p>;; ANSWER SECTION:<br />
www.ripe.net.    227     IN      A       193.0.19.25<br />
www.ripe.net.    227     IN      RRSIG   A 5 3 600 20090112060009 20081213060009 58440 ripe.net. Yo8OYqzmR3eDzM6OV0+3dVS7RWFpGR6xhH6GTwe+k8w/PPya+KAm8oaM dArOto4E2DVDJp4XV7wyeWmZujl3tDG4FLCnDSpLgMgAULtxRhtZCPY/ injY/JX1K+fibea3ChE/jSZnaX7oSjNHCYoYzYoSux92K2EkeYC4hy4I lljADsvFhilCaJE7UF4n6XkrWBS8u6OF</p>
<p>;; AUTHORITY SECTION:<br />
ripe.net.               172406  IN      NS      ns-pri.ripe.net.<br />
ripe.net.               120093  IN      RRSIG   NS 5 2 172800 20090112060009 20081213060009 58440 ripe.net. O7O3A9AUOqOMU5/BCG+7rNjqT/7V4qsDtW0GYu+WJuULdGQ1/g+HY4W0 rooQoNTws3BIhs9ZlvD+i6+gtexidx9ePSwigGPrf4lL3Ls6hXm6orAu HK9vrSfuRCd2aoh42naLpiSn4kl3iPyQv8EznSctROr2O+/H6nmbmdTk n+BTJz8T7rD9tXG11n+vbvkBNtc/0TD+</p>
<p>;; ADDITIONAL SECTION:<br />
ns-pri.ripe.net.        172406  IN      A       193.0.0.195<br />
ns-pri.ripe.net.        172406  IN      RRSIG   A 5 3 172800 20090112060009 20081213060009 58440 ripe.net. n7/rTrlOG7yPXW+Fi9lw2fphb9TsSK8TwYCjrcUdnhJvpQ3NcqHaqhec SIse2GuSJ/cpNN6WGIwpGEiC/dHX+4zwnzkWhVTn7XpAnQSUj7289/TE ++v6/6QrfUjRVWqb+VU8RWhrCWhj69zhhRohyjg3e2mideyXmqU0B+rh KhGDHojavw0uukHjCrBHFISXRgW383fX</p></blockquote>
<p>Notice the only difference in the query was the addition of the +dnssec option. The key thing to note in the 2nd query response is the inclusion of the &#8220;ad&#8221; flag. This indicates that Authenticated Data was returned &#8211; DNSSEC validation worked. The other obvious difference is the inclusion of the RRSIG records, these are the signatures. This example worked because the Comcast recursive server has a trust anchor configured for the ripe.net. domain, which is a DNSSEC signed zone.</p>
<p><strong>DNSSEC ADOPTION ISSUES</strong></p>
<p>DNSSEC does not come without problems. As mentioned, the root and many TLD zones have yet to be signed. This is a primary reason that DNSSEC has not taken off yet; it needs to start at the top to be feasible and manageable. In an effort to kick start deployment, the U.S. government&#8217;s Office of Management &amp; Budget <a href="http://www.whitehouse.gov/omb/memoranda/fy2008/m08-23.pdf" target="_blank">released a memo</a> in August 2008 requiring the top level .gov domain to be signed by January 2009, and sub-domains by December of &#8216;09. The Defense Information Systems Agency has said they will meet the same requirements on the .mil domain.</p>
<p>Directly related to the above problem is the issue of trust anchor configuration not currently being scalable enough to support mass DNSSEC usage. You can sign your company.com zone, but until .com and the root are signed, and a full chain of trust to your domain implemented, resolvers will need a trust anchor configured specifically for your domain. As a temporary workaround, the concept of a Domain Lookaside Validation (DLV) registry has been put in place. With DLV, if a resolver cannot find a DS record in a parent zone, it will attempt to look in a pre-configured DLV registry. The ISC runs a <a href="https://www.isc.org/solutions/dlv" target="_blank">DLV registry</a>; following the above example, the DLV registry would be company.com.dlv.isc.org. For this to work you must register with the DLV registry, the resolver must be DLV enabled, and it must have a trust anchor for the DLV registry.</p>
<p>Mentioned previously, the NSEC record is associated with a zone record and lists the next record in the zone, based on canonical ordering. This enables one of DNSSEC&#8217;s goals, authenticated denial of existence, but was quickly identified as being a security threat, as it allows for zone enumeration. This ultimately amounts to a zone transfer, something admins typically work to lock down. To address this issue, <a href="http://www.ietf.org/rfc/rfc5155.txt" target="_blank">RFC 5155</a> was drafted in March 2008 to describe the NSEC3 resource record, in which a hash of the next record&#8217;s name is returned rather than the actual name. This still allows a resolver to authoritatively determine that a record does not exist, while not allowing it to enumerate zone records. NSEC3 is supported in BIND v9.6 or higher.</p>
<p>There are a number of other issues related to DNSSEC that need to be taken into account. I won&#8217;t delve much further into them here, but additional research is advised for those considering a DNSSEC deployment. Some of the issues include:</p>
<p><strong>* Dynamic updates:</strong> A dynamic update enabled zone will require re-signing when new records are added, which takes time and, if automated, will require the ZSK private key to be accessible &#8211; a potential security risk.<br />
<strong>* Limited client support:</strong> Until DNSSEC support is more wide-spread and at the application layer, signing zones arguably does little to increase security. However, it is advantageous for traffic between recursive and authoritative servers, especially in the case of a trusted internal recursive server. Deploying DNSSEC doesn&#8217;t negatively affect current DNS deployment (except for possibly the below point).<br />
<strong>* DNSSEC overhead:</strong> DNSSEC increases the size of response packets and the workload on resolvers. This is worthy of consideration for both performance and availability reasons. The potential to mount a denial of service attack against either resolver or server is greatly increased.<br />
<strong>* Loose time synchronization:</strong> A requirement between a validating resolver and DNS signing authority. This is due to the fact that DNSSEC signatures have a validity period, similar to a TTL on DNS records, but rather than relying on elapsed time, these are absolute and expire at a certain time &amp; date.<br />
<strong>* Local policies:</strong> Configured policies can affect the ultimate security of DNSSEC in an environment; as an example, how should applications handle a DNSSEC lookup failure? Should it prompt the user for acceptance, similar to what Internet browsers do with SSL certificates, or fail outright? This introduces a number of usability issues.</p>
<p><strong>SUMMARY</strong></p>
<p>At this stage if DNSSEC still feels a bit kludgy and pieced together, it&#8217;s because it is, but most technology progresses this way. While DNSSEC doesn&#8217;t address every DNS security issue, it is a decent start and with the backing of government and other DNS power players, the industry will soon begin making the move to adoption. There is a good deal of confusion regarding the capabilities and implementation of DNSSEC, anyone who may wind up in a supporting role should begin getting familiar with it and consider a trial deployment.</p>
<p>DNSSEC won&#8217;t take off en masse until client support is more wide-spread (and the root gets signed). At the risk of sounding like a Microsoft zealot, it really won&#8217;t take off until their systems start to support it. Once its usage does increase though, DNSSEC combined with other security technologies will help to increase the overall security posture of the Internet. For more info on DNSSEC, take a look at the links below and check back soon for a post on enabling DNSSEC on BIND.</p>
<p><strong>LINKS</strong></p>
<p><a href="http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/">Enabling DNSSEC on BIND</a><br />
<a href="http://www.dnssec.net/" target="_blank">DNSSEC Information Site</a><br />
<a href="http://www.ripe.net/training/dnssec/material/dnssec.pdf" target="_blank">RIPE DNSSEC Training Course</a> &#8211; good info but old (2005)<br />
<a href="http://www.dnssec.comcast.net/" target="_blank">Comcast DNSSEC Trial Site</a><br />
<a href="https://www.dns-oarc.net/oarc/services/odvr" target="_blank">DNS-OARC Resolver Info</a><br />
<a href="http://blogs.technet.com/sseshad/default.aspx" target="_blank">Port 53</a> &#8211; Windows DNS Blog, some DNSSEC info<br />
<a href="http://blog.techscrawl.com/feed/">Subscribe to TechScrawl.com</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/517/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/517/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/517/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=517&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/DOAej5HRad8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2009/01/06/dnssec-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2009/01/06/dnssec-101/</feedburner:origLink></item>
		<item>
		<title>Top Posts of 2008</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/B0SZpH5ebek/</link>
		<comments>http://blog.techscrawl.com/2008/12/22/top-posts-of-2008/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 14:30:45 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Random Tech-Bits]]></category>
		<category><![CDATA[BackTrack]]></category>
		<category><![CDATA[Best Of]]></category>
		<category><![CDATA[Crash Dumps]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[IPS]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[IT Security]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Top Posts]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[WinDbg]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=454</guid>
		<description><![CDATA[Because it's the holiday season, when my creativity and free time are both at their lowest, I'm going to steal a method from the television world (the clip show) and do a "best of" post. These are the top TechScrawl posts of 2008 based on visitor count and feedback.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=454&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Because it&#8217;s the holiday season, when my creativity and free time are both at their lowest, I&#8217;m going to take a method from the television world (<a href="http://en.wikipedia.org/wiki/Clip_show" target="_blank">the clip show</a>) and do a &#8220;best of&#8221; post. These are the top TechScrawl posts of 2008 based on visitor count and reader feedback.</p>
<p><strong>1)</strong> <a href="http://blog.techscrawl.com/2008/08/14/vmware-esx-microsoft-hyper-v-comparison/">VMWare ESX / Microsoft Hyper-V Comparison</a> &#8211; This is by far my most popular post to date. Written in August (before the release of Hyper-V Server standalone) it gives a good feature summary of these two releases. It also got me quoted in the Sept. edition of <a href="http://www.cbronline.com/" target="_blank">Computer Business Review</a> magazine.</p>
<p><strong>2)</strong> <a href="http://blog.techscrawl.com/2008/07/16/backtrack-3-tips/">BackTrack 3 Tips</a> &#8211; A fairly short post with 3 networking related tweaks, it nonetheless got a ton of hits, owing to the popularity of this security distro. Look for more BackTrack related posts in the future.</p>
<p><strong>3)</strong> <a href="http://blog.techscrawl.com/2008/04/23/simple-soho-ids-with-snort-a-diy-network-tap/">Simple SOHO IDS with Snort &amp; a DIY Network TAP</a> &#8211; One of my first posts after starting this blog in April, it discussed Snort placement in the network and constructing your own network tap.</p>
<p><strong>4)</strong> <a href="http://blog.techscrawl.com/2008/06/10/analyzing-windows-crash-dumps-in-3-easy-steps/">Analyzing Windows Crash Dumps in 3 Easy Steps</a> &#8211; Getting started with crash dump analyzing can be difficult. While it can be much more complex than the description in this post, I simplified it down to 3 steps that will be adequate for most troubleshooters.</p>
<p><strong>5)</strong> <a href="http://blog.techscrawl.com/2008/12/04/top-10-it-security-tasks-to-complete-before-you-die/">Top 10 IT Security Tasks To Complete Before You Die</a> &#8211; A post from early December, but still very popular, partly due to TechScrawl&#8217;s recent inclusion in the <a href="http://www.securitybloggers.net/" target="_blank">Security Bloggers Network</a>.</p>
<p>See you in 2009.</p>
<p><a href="http://blog.techscrawl.com/feed/">Subscribe to TechScrawl.com RSS Feed</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/454/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/454/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/454/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=454&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/B0SZpH5ebek" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/12/22/top-posts-of-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/12/22/top-posts-of-2008/</feedburner:origLink></item>
		<item>
		<title>Random Tech-Bits: 19 Dec 2008</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/AUDC6TRTJd0/</link>
		<comments>http://blog.techscrawl.com/2008/12/19/random-tech-bits-19-dec-2008/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 16:26:46 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Random Tech-Bits]]></category>
		<category><![CDATA[computer internals]]></category>
		<category><![CDATA[cyber attack]]></category>
		<category><![CDATA[ethical hacking]]></category>
		<category><![CDATA[Personal Branding]]></category>
		<category><![CDATA[secure data transmission]]></category>
		<category><![CDATA[securing data]]></category>
		<category><![CDATA[Unisys Stealth]]></category>
		<category><![CDATA[war games]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=502</guid>
		<description><![CDATA[Friday Link Round-Up:
Ethical Hacking Course Launched in UK &#8211; &#8220;students will be taught how to run denial-of-service attacks&#8230;tricks of social engineering&#8230;as well as how to create viruses&#8220;.  I can&#8217;t decide if this is a good or bad thing, I guess the info is already out there anyway, so why not?
What Your Computer Does While You [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=502&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Friday Link Round-Up:</p>
<p><a href="http://www.guardian.co.uk/technology/2008/dec/17/internet" target="_blank">Ethical Hacking Course Launched in UK</a> &#8211; &#8220;<em>students will be taught how to run denial-of-service attacks&#8230;tricks of social engineering&#8230;as well as how to create viruses</em>&#8220;.  I can&#8217;t decide if this is a good or bad thing, I guess the info is already out there anyway, so why not?</p>
<p><a href="http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait" target="_blank">What Your Computer Does While You Wait</a> &#8211; Great post delving into internal architecture and component interaction.</p>
<p><a href="http://mashable.com/2008/12/10/personal-branding-in-recession/" target="_blank">Personal Branding Tips To Avoid Getting Fired</a> &#8211; Non-technical but timely article. Tip #9: write a blog, check.</p>
<p><a href="http://www.informationweek.com/news/security/cybercrime/showArticle.jhtml?articleID=212501367" target="_blank">U.S. Unprepared For Cyber-Attack</a> &#8211; &#8220;<em>The war game simulated a dramatic surge in computer attacks&#8230; </em><span><em>revealed flaws in leadership, planning, communications and other issues</em>.&#8221;</span></p>
<p><a href="http://www.networkworld.com/news/2008/120208-unisys-stealth-encryption.html" target="_blank">Secure Data Transmission Within Windows Networks</a> &#8211; Interesting encryption solution from Unisys facilitating secure data sharing between &#8220;communities of interest&#8221; in Active Directory based networks. Designed to meet DoD security challenges, but  should see some private sector use.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=502&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/AUDC6TRTJd0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/12/19/random-tech-bits-19-dec-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/12/19/random-tech-bits-19-dec-2008/</feedburner:origLink></item>
		<item>
		<title>Case Study: Suspicious Network Traffic</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/i99l_qnUgjs/</link>
		<comments>http://blog.techscrawl.com/2008/12/17/case-study-suspicious-network-traffic/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 13:15:09 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[msrpc]]></category>
		<category><![CDATA[null session]]></category>
		<category><![CDATA[packet analysis]]></category>
		<category><![CDATA[Packet Capture]]></category>
		<category><![CDATA[SMB]]></category>
		<category><![CDATA[suspicious network traffic]]></category>
		<category><![CDATA[Sysinternals]]></category>
		<category><![CDATA[Wireshark]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=463</guid>
		<description><![CDATA[In this post I describe a recent investigation of suspicious network traffic on an organization's network. Although the traffic ended up not being malicious, the hope is that the basic investigation methodologies described will be helpful to those in similar situations. The tools used include Wireshark, select Sysinternals utilities, and those built into the Windows OS.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=463&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In this post I describe a recent investigation of suspicious network traffic on an organization&#8217;s network. Although the traffic ended up not being malicious, the hope is that the basic investigation methodologies described may be helpful to those in similar situations. The tools used include <a href="http://www.wireshark.org/" target="_blank">Wireshark</a> network monitor, select <a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" target="_blank">Sysinternals</a> utilities, and those built into the Windows OS.</p>
<p><span id="more-463"></span><strong>The Issue</strong></p>
<p>Suspicion was raised by an admin who, while troubleshooting another issue using the netstat command, noticed connections to his workstation from a machine that should have no reason to communicate with him. The connection would close, but seemed to reappear at regular intervals, usually only being seen in the CLOSE_WAIT state.</p>
<p><strong>Investigation</strong></p>
<p>The initial step I attempted in the investigation was to identify the user of the offending workstation using the Sysinternals psloggedon utility, which revealed that no one was currently logged onto the machine. Not knowing the exact physical location of the machine, the next step taken was to start a packet capture in an attempt to further identify the nature of the traffic. Wireshark was used to log packets, and after about an hour a session from the suspect machine was logged. Examining the packets showed that the machine was initiating an <a href="http://en.wikipedia.org/wiki/Server_Message_Block" target="_blank">SMB</a> connection to TCP port 445. It would first connect to the IPC$ share, then attempt a null session connection to the named pipes \srvsvc (server service RPC server) and \wkssvc (workstation service RPC server), both of which would fail with &#8220;STATUS_ACCESS_DENIED&#8221; SMB messages. This pattern would repeat several times a day.</p>
<p>While there are valid reasons a null session MSRPC connection would be attempted, it could also be a sign of <a href="http://www.hsc.fr/ressources/presentations/null_sessions/msrpc_null_sessions.pdf" target="_blank">malicious intent</a>. Needing more information, a remote command prompt was opened on the machine using psexec. This allowed for running netstat with the -o switch which shows the ID of the process associated with any open sockets. After repeating this command a number of times, a connection with the suspect traits finally appeared and the originating process ID was found. Once this was obtained, the tasklist command was used to get the process name associated with the PID. The process was identified as &#8220;rssensor&#8221;. The final step to identify the process was to search the hard drive for an executable by this name. This was done using the dir command to list directory contents then piping that output to the find command to only display files matching the search string: dir /s /b c:\ | find /I &#8220;rssensor&#8221;. Had this not yielded any results, a simple Google search likely would have worked.</p>
<p><strong>The Culprit</strong></p>
<p>The final step above found an ressensor.exe binary, and based on the installation path revealed that it was the McAfee Rogue System Detection software, a policy compliance option that had been deployed by an IT security group elsewhere in the organization. The software was supposed to be passive, but further research revealed that it &#8220;performed NetBIOS calls on systems to obtain additional information&#8221;, which is what we were seeing.</p>
<p>The methods used in this case were only several of many that could have been used to explore this issue further. The goal here was to show the ease with which such investigations could be conducted using a simple and readily available tool set. What other methods of identifying the source of this traffic may have been considered?</p>
<p><a href="http://blog.techscrawl.com/2008/12/17/case-study-suspicious-network-traffic">Originally published at TechScrawl.com</a></p>
<p><a href="http://blog.techscrawl.com/feed/">Subscribe to TechScrawl via RSS</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=463&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/i99l_qnUgjs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/12/17/case-study-suspicious-network-traffic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/12/17/case-study-suspicious-network-traffic/</feedburner:origLink></item>
		<item>
		<title>Review: “Schneier on Security”, for IT Professionals</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/eGDS3UjUZUA/</link>
		<comments>http://blog.techscrawl.com/2008/12/12/review-schneier-on-security-for-it-professionals/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 19:06:32 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Bruce Schneier]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[InfoSec]]></category>
		<category><![CDATA[Schneier on Security]]></category>

		<guid isPermaLink="false">http://blog.techscrawl.com/?p=475</guid>
		<description><![CDATA[Allow me to get this out of the way first, I&#8217;m not a book reviewer, as I&#8217;m sure will be evident from reading this post. However I do work in IT, and I do deal with security issues, which makes me one of the potential target audiences for Bruce Schneier&#8217;s latest book. If you don&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=475&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://schneier.com/book-sos.html"><img class="alignright" title="Schneier on Security" src="http://media.wiley.com/product_data/coverImage/54/04703953/0470395354.jpg" alt="" width="100" height="150" /></a>Allow me to get this out of the way first, I&#8217;m not a book reviewer, as I&#8217;m sure will be evident from reading this post. However I do work in IT, and I do deal with security issues, which makes me one of the potential target audiences for Bruce Schneier&#8217;s latest book. If you don&#8217;t know who Schneier is, this description from <a href="http://www.schneier.com/" target="_blank">his website</a> sums it up well:</p>
<p>&#8220;<em>Schneier is an internationally renowned security technologist and author. Described by The Economist as a security guru&#8230; best known as a refreshingly candid and lucid security critic</em>&#8220;. He is also the Chief Security Technology Officer of the BT Group.</p>
<p>I received a copy of <em>Schneier on Security</em> several weeks ago, and have read with interest since then his opinions on security. The book is a collection of previously published blog posts and print &amp; newsletter articles written by Bruce over the past few years, so if you&#8217;ve been a regular reader of his work this may be nothing new for you.</p>
<p><span id="more-475"></span>A recent <a href="http://www.pcpro.co.uk/reviews/241476/schneier-on-security.html" target="_blank">review of the book on PC Pro</a> makes the claim that Schneier&#8217;s &#8220;<em>high-level, populist approach &#8230; means little in this book will be of practical use to professionals</em>&#8220;. I disagree with that statement. There is much in the book that does not pertain to information security, and Schneier&#8217;s vantage point on security is certainly from a 30,000 foot view; I won&#8217;t argue those points. However, the real value of this book is gaining an insight into the mindset of one of the best security practitioners in the industry. So much of what is done in the name of security is done almost mindlessly without consideration of whether or not it truly improves security, part of what Schneier terms &#8220;<a href="http://en.wikipedia.org/wiki/Security_theater" target="_blank">security theater</a>&#8220;.  The utility of this book for the average IT professional is in the opportunity to adopt that security mindset, seeing security and vulnerability from a different perspective, and not just adopting a policy because a white paper labels it a best practice, but examining it from an analytical perspective.</p>
<p>As mentioned, there are topics that don&#8217;t pertain directly to InfoSec. In the book you&#8217;ll find articles on terrorism, airline security, personal privacy, government abuse of power, psychology, etc. As you read these essays though, you&#8217;ll begin to see how certain points made could apply to the InfoSec world, and you&#8217;ll find yourself starting to rethink your perception of security. Some of Schneier&#8217;s main themes throughout the book, security being about trade offs, and security being more a feeling than a reality, are strikingly obvious yet often overlooked. You likely won&#8217;t agree with all of the opinions (running open wireless as Bruce claims he does at home? Definitely not.), but I believe that most in the IT field would find this book eye opening and one of the better non-technical security books around.</p>
<p>This book is not for you if you&#8217;re looking for a step-by-step guide or specific list of best practices. However, if you&#8217;re an IT professional with anything more than a passing interest in information security, I highly recommend picking up this book and/or becoming a regular reader of Schneier&#8217;s.</p>
<p><strong>Related Links:</strong></p>
<p><a href="http://www.schneier.com/blog/" target="_blank">Schneier on Security Blog</a></p>
<p><a href="http://www.schneier.com/crypto-gram.html" target="_blank">Crypto-Gram Newsletter</a></p>
<p><a href="http://blog.techscrawl.com/feed">Subscribe to TechScrawl via RSS</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/475/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=475&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/eGDS3UjUZUA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/12/12/review-schneier-on-security-for-it-professionals/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>

		<media:content url="http://media.wiley.com/product_data/coverImage/54/04703953/0470395354.jpg" medium="image">
			<media:title type="html">Schneier on Security</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/12/12/review-schneier-on-security-for-it-professionals/</feedburner:origLink></item>
		<item>
		<title>Top 10 IT Security Tasks To Complete Before You Die</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/2EvvFLC2JvE/</link>
		<comments>http://blog.techscrawl.com/2008/12/04/top-10-it-security-tasks-to-complete-before-you-die/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 20:43:06 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[InfoSec]]></category>
		<category><![CDATA[Infrastructure Security]]></category>
		<category><![CDATA[IT Security]]></category>
		<category><![CDATA[Top 10 List]]></category>

		<guid isPermaLink="false">http://clayshek.wordpress.com/?p=431</guid>
		<description><![CDATA[A popular subject in recent books and articles has been the &#8220;top x things to do before you die&#8221; topic. In that vein, I&#8217;ve put together the &#8220;Top 10 IT Security Tasks To Complete Before You Die&#8221; (you may not want to wait that long though).
1. Have a Security Program
This can be the most difficult [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=431&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://clayshek.files.wordpress.com/2008/12/top10.jpg"><img class="size-medium wp-image-436 alignright" title="top10" src="http://clayshek.files.wordpress.com/2008/12/top10.jpg?w=134&#038;h=151" alt="top10" width="134" height="151" /></a>A popular subject in recent books and articles has been the &#8220;top x things to do before you die&#8221; topic. In that vein, I&#8217;ve put together the &#8220;Top 10 IT Security Tasks To Complete Before You Die&#8221; (you may not want to wait that long though).</p>
<p><strong>1. Have a Security Program</strong></p>
<p>This can be the most difficult one to implement simply because of the planning required, but it can have the biggest long term payoff. The program should include regular contact with users to educate about current threats, social engineering tactics, etc. It should address security policies and procedures, threat escalation and incident response. The program should also include a DR plan. There are many other considerations that need to be taken into account, but the bottom line is that not having a formal security program is a huge mistake.</p>
<p><span id="more-431"></span><strong>2. Encrypt Critical Data</strong></p>
<p>There was a time when a company could get away with not encrypting important data. In today&#8217;s environment of security breaches, corporate espionage, stolen consumer information, and ubiquitous online transactions, that time is gone. So what should you encrypt? If public exposure would embarrass or be detrimental to your business, encrypt it. Credit card data, consumer PII (personally identifiable information), trade secrets, health care data, internal memos, etc. And laptops and backups. It does no good to encrypt valuable information only to have it stolen outside of the office on a laptop or backup tape. This level of data protection will soon be moving from a &#8220;should do&#8221; to a &#8220;must do&#8221;, as evident by recent legislation like <a href="http://www.mass.gov/?pageID=ocamodulechunk&amp;L=1&amp;L0=Home&amp;sid=Eoca&amp;b=terminalcontent&amp;f=idtheft_201cmr17&amp;csid=Eoca" target="_blank">201 CMR 17.00 in Massachusetts</a>.</p>
<p><strong>3. Understand &amp; Control Information Leakage</strong></p>
<p>One of the first things a potential attacker will likely attempt is information gathering for details about your environment and network. Information leakage from areas like Internet email headers, web services banners, carelessly configured DNS, and <a href="http://www.user-agent.org/word_docs.pdf" target="_blank">document metadata</a> makes that task easy for them. This isn&#8217;t a super critical subject that needs immediate attention, but it is something that should be addressed to contribute to a good security posture. Take on the role of an external attacker and see what sort of information could be gathered, then get rid of the low hanging fruit. A good example is <a href="http://www.trustmatta.com/downloads/Matta_Counterintelligence.pdf" target="_blank">this 2002 Internet-based Counter-Intelligence study</a> that Matta Security did against the CIA.</p>
<p><strong>4. Harden Authentication</strong></p>
<p>There are organizations that claim to take security seriously, yet still have clear text credentials going over their wires, or easily cracked authentication methods. The biggest offender is a web site with unencrypted authentication, but it&#8217;s also not uncommon to find <a href="http://en.wikipedia.org/wiki/LM_hash" target="_blank">LM Hashes</a> needlessly enabled, critical routers being remotely managed with telnet, FTP access tied to AD credentials, or any number of similar offenses. This subject is much too in-depth to fully address here, the point is to make sure you have a grasp on how authentication is handled in your environment and that it is secured.</p>
<p><strong>5. Monitor Logs</strong></p>
<p>This one is obvious, but still doesn&#8217;t always get the attention it deserves. Besides an all out denial of service, log files are typically your first indication of a problem. Keeping up with event logs can be a dull and time consuming process, but there are many excellent solutions available for central monitoring and alerting.</p>
<p><strong>6. Monitor Traffic</strong></p>
<p>While monitoring log files is important, it doesn&#8217;t always give a full picture of what is happening on your network. This is where a good traffic monitoring solution comes into play. If you currently have nothing, even something basic that will show deviations from normal patterns (like traffic spikes) is an improvement. Better would be a full fledged IDS solution such as <a href="http://www.snort.org" target="_blank">Snort</a> or something comparable. Being able to monitor traffic in real time and alert on suspicious traffic is key to a secure environment. Related to this, making sure you know how to interpret packet captures is a key skill for incident investigation.</p>
<p><strong>7. Implement Checks and Balances</strong></p>
<p>What would be the impact on your business if email was down? How about Active Directory / DNS, your public website, primary storage, routers? The IT infrastructure in most organizations is taken for granted; the fact is that if all or a portion of it were down, business operations might cease. Almost all organizations suffer from the fact that a single person has the capability to cause severe damage to operations (remember the <a href="http://blog.wired.com/27bstroke6/2008/07/sf-city-charged.html" target="_blank">San Francisco Admin</a>?). This can never completely be overcome, but where possible, roles should be separated, strong authentication &amp; access control implemented, and actions audited. Measures such as these help protect not only against malicious intent but also accidental.</p>
<p><strong>8. Implement Fundamental Wireless Security</strong></p>
<p>Most companies have some form of wireless connectivity available. Besides being a convenience, it is often integral to business function. It also can be the entry point for potential attacks. If you have a wireless access point on your network, the only thing keeping the bits and bytes from an attackers computer in the parking lot away from your data in the server room is what you hope is good access control. The best way to combat potential threats is to keep up to date with wireless standards. No one should use WEP, and <a href="http://www.itworld.com/security/57285/once-thought-safe-wpa-wi-fi-encryption-cracked" target="_blank">WPA with TKIP is on the way out</a>. The current recommendation is WPA2 with AES encryption, but the day will come when that is found to be vulnerable too. Address the developments as they come. One of the better implementations for corporate wireless is to keep access points physically separate from the internal network, allowing only Internet access after authenticating, and requiring VPN to then access internal resources.</p>
<p><strong>9. Stay On Top Of Emerging Threats</strong></p>
<p>One of the things that keeps the field of information security so interesting is that it changes rapidly. That fact also contributes to its complexity. New threats arise constantly, and while keeping up with every one of them is not necessary, keeping an &#8220;ear to the street&#8221; is. You should remain on alert for new zero day exploits, vulnerabilities, or tactics that may be a threat to your particular environment. If, for example, you run an e-commerce site, you should pay attention to SQL injection and XSS vulnerabilities. Host virtual machines with VMWare? Alerts such as <a href="http://www.vmware.com/security/advisories/VMSA-2008-0018.html" target="_blank">this one</a> should be on your radar. This is also where having a good patching strategy comes into play. An excellent way to keep up with emerging threats is to subscribe to a reputable notification list. My personal favorite is the <a href="http://www.sans.org/newsletters/#risk" target="_blank">@Risk Consensus Security Alert</a> from the SANS Institute.</p>
<p><strong>10. Pen Test</strong></p>
<p>Penetration testing is still considered by some to be a &#8220;hacker&#8221; pastime, but the reality is that it is vital for rooting out potential vulnerabilities on your network. Pen testing is also a <a href="https://www.pcisecuritystandards.org/pdfs/infosupp_11_3_penetration_testing.pdf" target="_blank">compliance requirement for certain standards like PCI-DSS</a>. It&#8217;s always better to find and resolve holes before some external party finds them for you. There are plenty of consulting companies that will take your money for a good pen test, and for truly comprehensive results you should bring in a professional. However, basic pen testing is also something internal IT staff can do with adequate research. Remember, just because a developer or a large software company says it&#8217;s secure, doesn&#8217;t mean it is. Trust, but verify.</p>
<p>There you have it, my thoughts on 10 important areas that will contribute to your organization&#8217;s overall security. As with any good top 10 list, this one is incomplete and completely subjective.  There are a number of other important information security tactics not mentioned here. Leave a comment and tell me what I left out or what you think does not belong in this list.</p>
<p>This post originated at <a href="http://blog.techscrawl.com/2008/12/04/top-10-it-security-tasks-to-complete-before-you-die">TechScrawl.com</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/431/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=431&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/2EvvFLC2JvE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/12/04/top-10-it-security-tasks-to-complete-before-you-die/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>

		<media:content url="http://clayshek.files.wordpress.com/2008/12/top10.jpg?w=267" medium="image">
			<media:title type="html">top10</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/12/04/top-10-it-security-tasks-to-complete-before-you-die/</feedburner:origLink></item>
		<item>
		<title>Snort IDS &amp; BASE on Server Core 2008</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/EWz-JZ5AsaU/</link>
		<comments>http://blog.techscrawl.com/2008/11/18/snort-ids-base-on-server-core-2008/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 14:02:37 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[BASE]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[Intrusion Detection]]></category>
		<category><![CDATA[IPS]]></category>
		<category><![CDATA[Security Tools]]></category>
		<category><![CDATA[Server Core]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://clayshek.wordpress.com/?p=392</guid>
		<description><![CDATA[I&#8217;ve used the Snort Intrusion Detection System for about two years, and while I&#8217;m far from an expert and my experience with other IDS platforms is limited, I believe Snort to be one of the best solutions out there, especially for the price (free). There is definitely a learning curve associated with it, but Snort [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=392&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve used the Snort Intrusion Detection System for about two years, and while I&#8217;m far from an expert and my experience with other IDS platforms is limited, I believe Snort to be one of the best solutions out there, especially for the price (free). There is definitely a learning curve associated with it, but Snort is highly configurable and its extensibility means it can be suited to fit the needs of almost any environment.</p>
<p><span id="more-392"></span></p>
<p>Like most, I usually run Snort on a Linux system. However, win32 binaries are offered, and I&#8217;ve never been able to find any compelling reason against running it on a Windows system. This post documents the steps required to configure a Snort sensor to run on a Windows Server 2008 Server Core platform. With its stripped down environment, Server Core is ideal for running Snort. In addition to Snort, I also hoped to be able to use one of the many popular front-ends for reporting and alerting services. One of the best Windows Snort front-ends is <a href="http://www.engagesecurity.com/products/idscenter/" target="_blank">IDSCenter</a>, but it&#8217;s a GUI application that won&#8217;t run on Server Core, so I decided to go with another favorite, the <a href="http://base.secureideas.net/" target="_blank">Basic Analysis and Security Engine</a> (BASE). BASE is a PHP application based on the <a href="http://acidlab.sourceforge.net" target="_blank">ACID project</a>. Being written in PHP means it&#8217;s platform independent and can run on any web server that supports PHP.</p>
<p><strong>Prerequisites</strong></p>
<p>In order to start this project, a basic Server Core installation of Windows Server 2008 is required. The IIS Web Server role needs to be activated, and PHP needs to be installed. I also wanted to log alert data to a MySQL database, so that needs to be installed as well. I documented those steps in <a href="http://blog.techscrawl.com/2008/11/12/iis-php-and-mysql-on-server-core/" target="_self">my previous post</a>, if you haven&#8217;t seen that, go follow those steps to get the server set up then return here to get started with Snort. There are several requirements for the php.ini file mentioned in that post, so even if you already have a PHP web server running, double check your settings against those in the post.</p>
<p><strong>Snort Setup</strong></p>
<p>The first step obviously is to obtain the Snort install files. I used the most recent release, v2.8.3.1, click <a href="http://snort.org/dl/binaries/win32/" target="_blank">here for the download link</a>. While on the Snort site go ahead and download the current rule files too (v2.8 link is <a href="http://snort.org/pub-bin/downloads.cgi/Download/vrt_os/snortrules-snapshot-2.8.tar.gz" target="_blank">here</a> ). This will require a free site registration. Snort on Windows also requires the WinPcap packet capture libray. I used v4.1 beta 4, which supports Server 2008, downloadable from <a href="http://www.winpcap.org/install/default.htm" target="_blank">here</a>. The Snort installer will run on Server Core, however the WinPcap installer will not, so you&#8217;ll need to use another system (XP works) for that install, then manually copy the required .dll files.</p>
<p>On Server Core, run the Snort_2_8_3_1_Installer.exe file, installing Snort to c:\snort. Next, extract the contents of the zipped up rule file into c:\snort, overwriting any files or folders already present. On your non-Server Core system, run the WinPcap installer. When that completes, copy the following files to the Server Core box, making sure to keep the files in the same directories.</p>
<p>From / To c:\windows\system32 : Packet.dll, WanPacket.dll, WPcap.dll, npptools.dll<br />
From / To c:\windows\system32\drivers : npf.sys</p>
<p>At this point, Snort should be ready for basic functionality. Test this by running the following command, which will show available interfaces:</p>
<p>c:\snort\bin\snort.exe -W</p>
<p>You should see a list of interfaces, make note of the interface number for the one on which you want Snort to listen, you will need it later. Snort is pretty good about letting you know when something is wrong, so if there is a problem, like a missing .dll, you should see that here, which is how I figured out which WinPcap .dlls were needed.</p>
<p>Now that we know Snort works, it needs to be configured for database logging and set up to run as a service. Log in to your MySQL database then run the following commands which will create a database called &#8220;snort&#8221;, grant privileges to a new MySQL user account, also called &#8220;snort&#8221;, and create the DB table structure. I&#8217;m using username &#8217;snort&#8217; and password of &#8216;password&#8217; for example purposes.</p>
<p>mysql&gt; create database snort;<br />
mysql&gt; grant all privileges on snort.* to snort@localhost identified by ‘password’;<br />
mysql&gt; use snort;<br />
mysql&gt; source c:\snort\schemas\create_mysql<br />
mysql&gt; commit;<br />
mysql&gt; show tables;</p>
<p>The output of the final command should show a listing of tables in the newly created snort database. Now you&#8217;ll need to edit the c:\snort\etc\snort.conf file to work in the Windows environment and direct Snort to log to a database. The file is ugly in Notepad, so I suggest using the DOS edit utility to make the following changes, then save the file.</p>
<p>Under &#8220;Step #1: Set the network variables&#8221;:<br />
MODIFY:<br />
var RULE_PATH c:\snort\rules<br />
under &#8220;Step #2: Configure dynamic loaded libraries&#8221; section:<br />
MODIFY:<br />
dynamicengine c:\snort\lib\snort_dynamicengine\sf_engine.dll<br />
ADD:<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_dns.dll<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_smtp.dll<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_ssh.dll<br />
dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_ssl.dll<br />
Under &#8220;Step #4: Configure output plugins&#8221;:<br />
ADD:<br />
output database: log, mysql, user=snort password=password dbname=snort host=localhost</p>
<p>If that was all done correctly, you should now be able to confirm full Snort operation by running the following:</p>
<p>c:\snort\bin\snort.exe -i 1 -l c:\snort\log -c c:\snort\etc\snort.conf</p>
<p>Modify the -i (interface number) argument to the correct interface number for your system. The -l argument tells Snort to also log alerts to a flat file (required when running on Windows), and -c tells Snort where to get its configuration settings. You should see several screens of info during initialization, after which you should see the text &#8220;Initialization Complete&#8221; along with some version info. If you see that, you are ready to make Snort a service, if not, address any errors you receive.</p>
<p>To run Snort as a service, you run the previous command, but with the /SERVICE and /INSTALL arguments, for example:</p>
<p>c:\snort\bin\snort.exe /SERVICE /INSTALL -i 1 -l c:\snort\log -c c:\snort\etc\snort.conf</p>
<p>This should complete successfully. You can verify status by running &#8220;snort.exe /SERVICE /SHOW&#8221; The final two tasks for Snort are to set the service to automatically start, and to actually start it. In the first command, note the space between the equals sign and &#8216;auto&#8217;, this is required.</p>
<p>c:\&gt; sc config snortsvc start= auto<br />
c:\&gt; sc start snortsvc</p>
<p>Upon successful service start, the Snort IDS is now running and monitoring traffic on the selected interface.</p>
<p><strong>BASE Setup</strong></p>
<p>Now that Snort is running and logging alert data to MySQL, we can use the BASE front-end to easily view that data and set up alert notification. I won&#8217;t go too deeply into post-install BASE configuration, but the following steps will get it running on your Server Core system. Download the current <a href="http://sourceforge.net/projects/secureideas/" target="_blank">BASE files here</a>, I used v1.4.1. BASE also requires the ADODB PHP database abstraction library, which you can <a href="http://sourceforge.net/project/showfiles.php?group_id=42718" target="_blank">get here</a>. I used v5.0.6a.</p>
<p>There isn&#8217;t much to installing these. Simply extract the contents of the BASE file to c:\inetpub\wwwroot\base. Extract the contents of the ADODB file to c:\php\adodb. Configuration is a little more in depth, but the process is almost complete. First, the following extension needs to be enabled in your c:\php\php.ini file, after which the IIS service (w3svc) needs to be restarted:</p>
<p>Uncomment: extension=php_gd2.dll</p>
<p>There are other php.ini requirements, but if you followed the suggestions in <a href="http://blog.techscrawl.com/2008/11/12/iis-php-and-mysql-on-server-core/" target="_self">my previous post</a>, they&#8217;re already done. Next up is the set up of the BASE configuration file. First, make a copy of the c:\inetpub\wwwroot\base\base_conf.php.dist file named base_conf.php, in the same directory. Make the following modifications based on your setup.</p>
<p>set $BASE_urlpath = &#8216;/base&#8217;<br />
set $DBlib_path = &#8216;c:\php\adodb&#8217;<br />
set $alert_dbname = &#8217;snort&#8217;;<br />
set $alert_host = &#8216;localhost&#8217;;<br />
set $alert_user = &#8217;snort&#8217;;<br />
set $alert_password = &#8216;password&#8217;;</p>
<p>BASE also requires some additions to the Snort database, so to make those, use mysql.exe with the -D argument (specifies database) to run the following script:</p>
<p>mysql.exe -D snort -u root -p &lt; c:\inetpub\wwwroot\base\sql\create_base_tbls_mysql.sql</p>
<p>The final step is to download additional PHP graphing packages from <a href="http://pear.php.net/" target="_blank">PEAR</a> used by BASE. This step is optional if you don&#8217;t intend to use the graphs that BASE offers. On the Server Core box, cd to c:\php then run the following:</p>
<p>go-pear.bat</p>
<p>At the prompt, press Enter to install system-wide, press Enter on the next prompt (taking defaults), finally accept the suggestion to update php.ini include path, if offered. When complete, run the following commands, one at a time:</p>
<p>pear install Image_Color<br />
pear install Log<br />
pear install Numbers_Roman<br />
pear install http://pear.php.net/get/Image_Canvas<br />
pear install http://pear.php.net/get/Numbers_Words-0.15.0<br />
pear install http://download.pear.php.net/package/Image_Graph-0.7.2.tgz</p>
<p><strong>The End</strong></p>
<p>You can now browse to http://server/base/base_main.php to interact with the BASE webpage. If Snort has been running for a while you may have some alerts in the database already. If not, you can easily create one by browsing to the http://server/phptest.php file mentioned in the previous post.</p>
<p>A lot of configuration options for both Snort &amp; BASE were not covered in this post. This was intended to be a how-to on getting these running on Windows Server Core 2008. There are many other considerations to take into account such as where to place the IDS sensor on the network, further configuration of Snort and Snort rules, setting up SMTP alert notifications in BASE, security implications, etc. Should you want further information, the resources at the links below will assist you.</p>
<p><a href="http://www.snort.org" target="_blank">Snort.org</a><br />
<a href="http://base.secureideas.net/" target="_blank">BASE</a><br />
<a href="http://blog.techscrawl.com/2008/04/23/simple-soho-ids-with-snort-a-diy-network-tap/" target="_self">Snort IDS &amp; DIY Network TAP</a></p>
<p><a href="http://blog.techscrawl.com/feed/" target="_self">Subscribe to TechScrawl via RSS</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=392&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/EWz-JZ5AsaU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/11/18/snort-ids-base-on-server-core-2008/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/11/18/snort-ids-base-on-server-core-2008/</feedburner:origLink></item>
		<item>
		<title>Random Tech-Bits: Friday Link Roundup – Nov 14</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/M-d-mNHDdn0/</link>
		<comments>http://blog.techscrawl.com/2008/11/14/random-tech-bits-friday-link-roundup-nov-14/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 14:52:55 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Random Tech-Bits]]></category>
		<category><![CDATA[DNS Cache Poisoning]]></category>
		<category><![CDATA[IT Skills]]></category>
		<category><![CDATA[router security]]></category>
		<category><![CDATA[SOHO Routers]]></category>
		<category><![CDATA[TKIP]]></category>
		<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[WEP]]></category>
		<category><![CDATA[WPA]]></category>
		<category><![CDATA[WPA attack]]></category>

		<guid isPermaLink="false">http://clayshek.wordpress.com/?p=397</guid>
		<description><![CDATA[Interesting IT &#38; InfoSec related links this week:
30 Skills Every IT Person Should Have &#8211; InfoWorld Article. This is one of the better lists like this I&#8217;ve come across.
Security Vulnerabilities in SOHO Routers &#8211; Very interesting paper discussing a number of the weaknesses found in SOHO routers.
Breaking WEP &#38; WPA &#8211; Paper covering the recent [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=397&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Interesting IT &amp; InfoSec related links this week:</p>
<p><a href="http://www.infoworld.com/article/08/06/02/23FE-how-to-fire-IT-staff-skills-list_1.html" target="_blank">30 Skills Every IT Person Should Have</a> &#8211; InfoWorld Article. This is one of the better lists like this I&#8217;ve come across.</p>
<p><a href="http://www.sourcesec.com/Lab/soho_router_report.pdf" target="_blank">Security Vulnerabilities in SOHO Routers</a> &#8211; Very interesting paper discussing a number of the weaknesses found in SOHO routers.</p>
<p><a href="http://dl.aircrack-ng.org/breakingwepandwpa.pdf" target="_blank">Breaking WEP &amp; WPA</a> &#8211; Paper covering the recent WPA TKIP attack.</p>
<p><a href="http://www.darkreading.com/security/vulnerabilities/showArticle.jhtml?articleID=212001592" target="_blank">Roughly 25% of DNS Servers Still Vulnerable</a> &#8211; Article covers a recent study showing many DNS servers still vulnerable to cache poisoning attacks.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/397/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/397/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/397/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=397&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/M-d-mNHDdn0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/11/14/random-tech-bits-friday-link-roundup-nov-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/11/14/random-tech-bits-friday-link-roundup-nov-14/</feedburner:origLink></item>
		<item>
		<title>IIS, PHP, and MySQL on Server Core</title>
		<link>http://feedproxy.google.com/~r/Techscrawl/~3/Z1sjyLKxMz4/</link>
		<comments>http://blog.techscrawl.com/2008/11/12/iis-php-and-mysql-on-server-core/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 14:49:12 +0000</pubDate>
		<dc:creator>Clay</dc:creator>
				<category><![CDATA[Server 2008]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[appcmd]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server Core]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[WIMP]]></category>

		<guid isPermaLink="false">http://clayshek.wordpress.com/?p=383</guid>
		<description><![CDATA[One of the Server Core roles of Windows Server 2008 that will likely get the most usage is that of IIS Web Server. Already the second most popular web server behind only Apache (see most recent Netcraft survey), IIS running on Server Core may end up being a winning combination for Microsoft. Apache is typically [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=383&subd=clayshek&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One of the Server Core roles of Windows Server 2008 that will likely get the most usage is that of IIS Web Server. Already the second most popular web server behind only Apache (see <a href="http://news.netcraft.com/archives/2008/10/29/october_2008_web_server_survey.html" target="_blank">most recent Netcraft survey</a>), IIS running on Server Core may end up being a winning combination for Microsoft. Apache is typically run on top of the Linux OS in tandem with MySQL and PHP, a setup referred to as a LAMP server (Linux, Apache, MySQL, PHP). I had the need for such an environment in a recent project, and with the reduced attack surface, smaller footprint, and the improved IIS 7, I decided to see if Server Core could take the place of Linux in that equation. It&#8217;s a setup called a WIMP server (Windows, IIS, MySQL, PHP)&#8230; okay, so maybe the acronym needs some work.</p>
<p><span id="more-383"></span></p>
<p><strong>Step 1 &#8211; Server Core</strong></p>
<p>The first step is to install Server Core and configure it to your liking. I&#8217;m not going to cover those details in this post, but if you need assistance see <a href="http://blog.techscrawl.com/2008/11/06/2008-server-core-configuration/" target="_self">my previous post on Server Core administration</a>. Do the obvious stuff: give it a name, a static IP, configure time/date, etc.</p>
<p><strong>Step 2 &#8211; IIS Server Role</strong></p>
<p>The next step is to install the roles required to run web services. Installing IIS 7 is a bit different than IIS 6; doing so in Server Core with no GUI adds some complexity. I researched the steps for doing so and will show them here without explaining them in depth (not sure I could anyway). If you want to learn more, I suggest <a href="http://www.iis.net" target="_blank">IIS.net</a> or <a href="http://technet.microsoft.com/en-us/library/cc749081.aspx" target="_blank">TechNet</a>.</p>
<p>You use ocsetup to install the required roles with the following command:</p>
<p>start /w ocsetup IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel;IIS-CGI</p>
<p>Once that completes, you should have a functioning web server which you can verify by connecting to your server with a web browser. You should see the IIS7 splash page. You can also drop a basic test HTML file in c:\inetpub\wwwroot and browse to http://server/test.htm to confirm operation.</p>
<p><strong>Step 3 &#8211; Install PHP / Configure IIS PHP Support</strong></p>
<p>Installing PHP isn&#8217;t nearly as difficult as it used to be just a few years ago. With better native support, IIS 7 also makes things a bit easier. I used the current PHP release (ver 5.2.6) with no problems. You&#8217;ll want to download the zip package from <a href="http://us3.php.net/get/php-5.2.6-Win32.zip/from/a/mirror" target="_blank">here</a> and extract the contents to c:\php on your Server Core box.</p>
<p>Once the files are in place, make a copy of the &#8216;c:\php\php.ini-recommended&#8217; file, and name it &#8216;c:\php\php.ini&#8217;. Configuring the php.ini file can be a daunting task if you&#8217;ve never done so before. I suggest researching the various settings to understand the implications, however, the settings below will get PHP working on IIS. Open php.ini in notepad, make the changes, then save the file. Where I&#8217;ve written &#8220;Set&#8221; means to change the variable&#8217;s value, &#8220;Uncomment&#8221; means to remove the semi-colon preceding the variable.</p>
<p>Set: error_reporting = E_ALL &amp; ~E_NOTICE<br />
Set: extension_dir=&#8221;c:\php\ext&#8221;<br />
Uncomment, Set: cgi.force_redirect = 0<br />
Uncomment: fastcgi.impersonate = 1<br />
Uncomment: fastcgi.logging=0<br />
Uncomment: extension=php_mysql.dll</p>
<p>You now need to create a PHP handler so IIS knows how to interpret .php files. This is done with the appcmd.exe tool located in %windir%\system32\inetsrv (not in the PATH, so run it fully qualified). The following commands are case sensitive!</p>
<p>appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php\php-cgi.exe']</p>
<p>appcmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\php\php-cgi.exe',resourceType='Either']</p>
<p>Both commands should return a message stating that config changes were applied. You should now have a functioning web server capable of handling PHP pages. This can be confirmed by creating a test PHP file in your wwwroot directory with the following contents:</p>
<p>&lt;?php<br />
phpinfo();<br />
?&gt;</p>
<p>You should then be able to browse to http://server/phptest.php and see a page showing the descriptive output of the phpinfo() function. Further configuration of the php.ini file may be necessary depending on the web applications you decide to run.</p>
<p><strong>Step 4 &#8211; Install MySQL</strong></p>
<p>Again, this is a task that isn&#8217;t nearly as difficult as I remember it being several years ago when I first worked with MySQL. There are different versions and different editions of MySQL, I used the most recent version, v6.0.7 Community Edition, Essentials package. The Essentials package is about half the size of the Complete Package as it doesn&#8217;t include many optional components. The download link for it is <a href="http://dev.mysql.com/get/Downloads/MySQL-6.0/mysql-essential-6.0.7-alpha-win32.msi/from/pick" target="_blank">here</a>.</p>
<p>Once downloaded to your Server Core box, run the .msi installer and proceed through the GUI setup. You&#8217;ll want to choose the typical settings. When installed, choose the option to run the configuration wizard, choose the Standard configuration, choose to install it as a Windows service, and choose the option to include the bin directory in the Windows path. Set the root dba password, execute the configuration settings, and you&#8217;re done. The MySQL service will have started, but a reboot here wouldn&#8217;t hurt to confirm service auto-start and to make the change to %PATH% take effect.</p>
<p>Verify MySQL operation by logging in using the mysql.exe command. From the command prompt type:</p>
<p>mysql -u root -p</p>
<p>You&#8217;ll be prompted for the root password configured during installation. Once logged in type the following command at the mysql prompt:</p>
<p>mysql&gt; show databases;</p>
<p>You should see a list of system databases, confirming that MySQL is running. You can create a database using the &#8220;create database &lt;dbname&gt;;&#8221; command.</p>
<p>Congratulations, if you completed these steps, you now have your own WIMP server. I&#8217;m not going to go into working with MySQL or writing PHP as they&#8217;re both beyond the scope of this article, but if you need assistance check out the <a href="http://dev.mysql.com/doc/refman/6.0/en/index.html" target="_blank">MySQL Reference Manual</a> or <a href="http://www.php.net/" target="_blank">PHP.net</a>. Of course you can also run this setup with a slightly different configuration, using a different DBMS like SQL Server or Oracle, or even using Apache instead of IIS.</p>
<p>Check back soon for my next post where I&#8217;ll discuss the project that required this setup in the first place, running the Snort IDS and BASE security analysis engine on Server Core 2008.</p>
<p><a href="http://blog.techscrawl.com/feed/" target="_self">Subscribe to TechScrawl via RSS</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clayshek.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clayshek.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clayshek.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clayshek.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clayshek.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clayshek.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clayshek.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clayshek.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clayshek.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clayshek.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.techscrawl.com&blog=3533282&post=383&subd=clayshek&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/Techscrawl/~4/Z1sjyLKxMz4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.techscrawl.com/2008/11/12/iis-php-and-mysql-on-server-core/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/07f8fcdd021186e4fa29c28310a984b4?s=96&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=R" medium="image">
			<media:title type="html">clayshek</media:title>
		</media:content>
	<feedburner:origLink>http://blog.techscrawl.com/2008/11/12/iis-php-and-mysql-on-server-core/</feedburner:origLink></item>
	</channel>
</rss>
