<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>GeeForce LLC &#187; Virtualization</title>
	<atom:link href="http://www.geeforce.net/tag/virtualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geeforce.net</link>
	<description>We get technology out of the way of doing business</description>
	<lastBuildDate>Thu, 28 Oct 2010 14:15:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<atom:link rel='hub' href='http://www.geeforce.net/?pushpress=hub'/>
		<item>
		<title>Centralized Security With iptables &amp; fail2ban</title>
		<link>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/</link>
		<comments>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 22:06:03 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Fail2ban]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network Security]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=404</guid>
		<description><![CDATA[Background: In today&#8217;s current environment it&#8217;s not unusual to see log files filled with thousands of entries for failed logins.  Botnets, compromised servers, and even foreign governments are directing their energies toward harvesting valid username/passwords for mail servers, SSH access, and web sites with massive dictionary and brute force attacks.  These attacks can come from several [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>In today&#8217;s current environment it&#8217;s not unusual to see log files filled with thousands of entries for failed logins.  <a title="Latest tech news on botenets" href="http://tech.einnews.com/news/botnet" target="_blank">Botnets</a>, compromised servers, and even foreign governments are directing their energies toward harvesting valid username/passwords for mail servers, SSH access, and web sites with massive dictionary and brute force attacks.  These attacks can come from several different sources at once and it&#8217;s not unheard of to see multiple machines co-ordinating a dictionary attack against a target machine.</p>
<p>To provide the reader with an idea of the scale, we have seen server log files for failed SSH logins grow to 27mb in size and accounted for more 40,000 login failures in a single week.  That was for a small mom and pop web site that had no eCommerce, no forum, or any other obvious attractive targets on it.  Clients with larger, more prominent services that have attracted a botnet&#8217;s full attention can see their log files grow into the hundreds of mb in no time. Imagine the number of attacks being directed against banking, social networking, and other high profile entities on the Internet.</p>
<p>There are several strategies for defeating this type of attack, both active and passive.  The most common of the passive counter measures is to employ very strong passwords, or move the attacked service to a different <a title="TCP/IP Ports" href="http://www.pcmag.com/encyclopedia_term/0,2542,t=TCPIP+port&amp;i=52617,00.asp" target="_blank">port</a>.  These methods won&#8217;t work for a lot of businesses for several reasons.  Moving a web or email service to a non standard port increases support costs and often breaks software.  The general public <a title="Poor Passwords" href="http://www.earthlinksecurity.com/articles/password_security/index.html" target="_blank">notoriously picks weak passwords</a>, and even when warned that their passwords are weak, use them anyway. (<a title="How to create a secure password" href="http://www.washingtonpost.com/wp-dyn/articles/A13072-2005Mar30.html" target="_blank">How to create a secure password</a>)</p>
<p>This common problems has led to a couple of active solutions that work by monitoring log files and then executing commands to block a <a title="Definition of a Host" href="http://www.pcmag.com/encyclopedia_term/0,2542,t%3Dhost&amp;i%3D44360,00.asp" target="_blank">host</a> based on behavior extracted from logs.  The most prominent is <a title="Fail2ban Home" href="http://www.fail2ban.org" target="_blank">Fail2ban,</a> an open source package written in <a title="Python Programming Language – Official Website" href="http://www.python.org/" target="_blank">Python</a>, that can utilize several different methods to block the offending host.  The most common methods for blocking hosts in the Linux/BSD world is to use <a title="Iptables Home Page" href="http://www.netfilter.org/" target="_blank">iptables</a> or <a title="ipfw handbook" href="http://www.freebsd.org/doc/handbook/firewalls-ipfw.html" target="_blank">ipfw</a> rules.</p>
<p><strong>The Issues:</strong></p>
<p>Fail2ban works very well for the individual server, but most large internet service deployments are comprised of several servers behind a firewall.  The problem we were faced with was not just the large number of physical machines, but the fact that each host had a number of virtual hosts that needed protection as well.   We wanted to block an attacking machine from all protected servers once it has violated the policy on any one of them.</p>
<p>If we fell back on just installing Fail2ban on each server, then a offending host is only blocked from one server at a time while still having access to the others.  In a large virtual environment where one is trying to keep the VM&#8217;s as free of extraneous software as possible, having iptables installed on each virtual host chews into memory requirements.  Managing the Fail2ban infrastructure across all machines becomes more complex and more costly as the number of machines increases.</p>
<p><strong>The Solution:</strong></p>
<p>In this case we have a Linux based firewall between the Internet and the servers.  Each machine and VM behind the firewall runs Fail2ban, but instead of creating a local rule, each host sends the IP of the bad host to the firewall.  This firewall will be used to block hosts for the entire network.  We accomplish this by using Fail2ban&#8217;s client program and some custom configuration on the protected hosts and firewall.  Below is an outline of how to centralize the blocking of offending host&#8217;s IP address using a Linux firewall, iptables, and Fail2ban.</p>
<p><strong>Setting up the firewall:</strong></p>
<p>Install Fail2ban on the firewall (For RHEL and clones, yum install fail2ban, for Debian apt-get install fail2ban).  Edit the /etc/fail2ban/jail.conf.  Adjust ﻿﻿﻿ignoreip to include IPs that should not be banned for any reason ever, this usually means management and monitoring networks.  Add a new jail as follows;</p>
<blockquote>
<div id="_mcePaste">[default-iptables]</div>
<div id="_mcePaste">enabled  = true</div>
<div id="_mcePaste">filter   = default</div>
<div id="_mcePaste">action   = iptables[name=default, port=ssh, protocol=all]</div>
<div id="_mcePaste">sendmail-whois[name=default, dest=someone@geeforce.net, sender=fail2ban@fw.clientdomain.com]</div>
<div id="_mcePaste">logpath  = /var/log/fail2ban</div>
<div id="_mcePaste">maxretry = 1</div>
</blockquote>
<p>In our case no other jails are relevant on the firewall, so they have all been set to &#8220;enabled = false&#8221;.  Now we edit the defaults action-iptables.conf file found in /etc/fail2ban/action.d</p>
<blockquote><p>[Definition]<br />
actionstart = iptables -N fail2ban-&lt;name&gt;<br />
iptables -A fail2ban-&lt;name&gt; -j RETURN<br />
iptables -I FORWARD -p &lt;protocol&gt; -j fail2ban-&lt;name&gt;<br />
actionstop = iptables -D FORWARD -p &lt;protocol&gt; -j fail2ban-&lt;name&gt;<br />
iptables -F fail2ban-&lt;name&gt;<br />
iptables -X fail2ban-&lt;name&gt;<br />
actioncheck = iptables -n -L FORWARD | grep -q fail2ban-&lt;name&gt;<br />
actionban = iptables -I fail2ban-&lt;name&gt; 1 -s &lt;ip&gt; -j DROP<br />
actionunban = iptables -D fail2ban-&lt;name&gt; -s &lt;ip&gt; -j DROP</p>
<p>[Init]<br />
name = default<br />
port = default<br />
protocol = all</p></blockquote>
<p>Finally we set up a <a title="Instructions on setting up an SSH jail" href="http://olivier.sessink.nl/jailkit/howtos_ssh_only.html" target="_blank">chroot jail</a> for a user on the firewall (Fail2ban) that has <a title="Sudo Home Page" href="http://www.sudo.ws/" target="_blank">sudo</a> permissions to run 2 commands /usr/bin/fail2ban-client and /bin/touch /var/log/fail2ban.  Be sure to touch /var/log/fail2ban and ensure that it is owned by the Fail2ban user.  This is necessary because the Fail2ban client doesn&#8217;t work the way you might think, and the user has to be able to touch that file to update the date/timestamp.  Create a ssh key pair to allow logins from remote hosts.</p>
<p>On the hosts, install Fail2ban and edit the /etc/fail2ban/jail.conf file.  Add the following jail;</p>
<blockquote><p>[ssh-rban]<br />
enabled  = true<br />
filter   = sshd<br />
action   = rban[name=SSH, fwip=IP.OF.FW.HERE]<br />
logpath  = /var/log/secure<br />
maxretry = 2</p></blockquote>
<p>Create the file /etc/fail2ban/action.d/action-rban.conf that looks like the following</p>
<blockquote><p>[Definition]<br />
actionstart =<br />
actionstop =<br />
actioncheck = touch /var/log/fail2ban<br />
actionban = /usr/bin/ssh -v -l fail2ban -tt &lt;fwip&gt; &#8216;sudo /usr/bin/fail2ban-client set default-iptables banip &lt;ip&gt;&#8217; &amp;&amp;<br />
/usr/bin/ssh -v -l fail2ban -tt &lt;fwip&gt; &#8216;/bin/touch /var/log/fail2ban&#8217;;<br />
actionunban =</p></blockquote>
<p>Test ssh connectivity by logging in to with fail2ban user from your host as root (fail2ban usually runs as root).  Once you&#8217;ve succeeded in logging in, start Fail2ban on both machines and test.  This example only checks SSH logs for failed logins.  You can modify this setup as a template for any of the checks available for Fail2ban using the same action.  This includes denial of service attacks, pop3 login failures, web login failures, and more.</p>
<p><strong>Security Considerations</strong></p>
<p>The methodology employed here took into account several different security and management considerations. One of the more common variations of this theme is to allow the remote Fail2ban server to add an iptables rule on the firewall directly. The method was rejected outright because providing the ability for a host to directly manipulate the firewall rules is extremely problematic from a security standpoint.  In the arrangement outlined here, a protected host could only block other hosts using the Fail2ban client.  Even the ability to unban clients is purposely disallowed.  The firewall itself makes the decisions on when to unban an IP.</p>
<p>An attacker that has gained entry to a protected host cannot override the centralize white list, nor does the firewall user allow an attacker to directly manipulate iptables.  The Fail2ban user on the firewall is specifically setup to be highly unprivileged, and limited, especially with a chroot jail in place.  The firewall essentially doesn&#8217;t trust the servers it protects.</p>
<p>This arrangement centralizes the management of all whitelisted IPs.  That makes changes very easy to roll out.  One caveat on the arrangement outline here; this has been specifically setup to block the offending IP from reaching ANY port on ANY machine for the duration of the ban time (defined in /etc/fail2ban/jail.conf).  That was a design choice, but the Fail2ban setup lends itself to banning specific service from offending hosts as opposed to banning all services. A denial of service can result from innocent people tripping the Fail2ban actions.  In this situation, that risk was considered minimal in regards to the amount of protection provided.</p>
<p><strong>Conclusions;</strong></p>
<p>Using Fail2ban to centralize the blocking of hosts has been a success everywhere it&#8217;s been deployed.  In one cluster alone, the typical /var/log/secure files went from being 10-20Mb or more every week, to a mere 200K.  Tens of thousands of password fails have been replaced by as little as 15.  By turning on different filters, one is also able to catch dictionary and brute force attacks against SMTP servers, WordPress sites, and webmail installations and protect them all with the same firewall.  This solution isn&#8217;t limited to the Linux or even Unix world.  With a centralized log server one can use Fail2ban to protect mixed environments, including Windows and Mac servers and centralize administration even more.   Fail2ban and an active centralized response to attacks just scratches the surface of a fully fleshed out security infrastructure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CFITS &#8211; Good stuff from Xiotech &amp; Cisco</title>
		<link>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/</link>
		<comments>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 20:24:17 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CFITS]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[UCS]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Xiotech]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=165</guid>
		<description><![CDATA[Yesterday I had the pleasure of being one of four speakers at the network storage event sponsored by the CFITS (Central Florida Information Technology Society).  All four presentations have been put together in a single power point that is posted on the CFITS website.  I&#8217;ve included a flash version of just the GeeForce slides here.  [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had the pleasure of being one of four speakers at the network storage event sponsored by the CFITS <a title=" Central Florida Information Technology Society" href="http://cfits.org/" target="_blank">(Central Florida Information Technology Society</a>).  All four presentations have been put together in <a title="CFITS Combined Network Storage Presentation" href="http://cfits.org/images/presentations/2010.storage/data.storage.02.25.10.pptx" target="_blank">a single power point</a> that is posted on the CFITS website.  I&#8217;ve included a flash version of just the GeeForce slides <a title="CFITS GeeForce Network Storage Presentation" href="http://www.geeforce.net/wp-content/uploads/2010/02/Network_Storage.swf" target="_blank">here</a>.  The great thing about events put on by CFITS is that they attract some really bright people and top tier vendors.  While all of the presentations were good two stuck out in my mind.</p>
<h4><strong>Xiotech gets storage</strong></h4>
<p>I enjoyed the <a title="Xiotech Company Website" href="http://www.xiotech.com/" target="_blank">Xiotech</a> presentation by <a title="Peter Selin's Blog" href="http://peterselin.sys-con.com/">Peter Selin</a> whose presentation followed mine.  His emphasis on true Total Cost of Ownership (TCO) calculations and understanding how the applications use storage dovetailed very nicely with points I had made earlier.  Xiotech&#8217;s presentation went a step further and went into application tuning and how that affects storage performance.  A good part of the presentation was &#8220;SSD  facts or fiction&#8221;.  There was an enlightening graph on  SSD (Solid State Drives) sustained IOPS  vs Time.  This was nothing new for those of us with SSD server experience, but an eye opener for a lot of people in the room.</p>
<p>If you&#8217;re unfamiliar with Xiotech&#8217;s concept, then now might be the time to explain what they do.  Xiotech looks at storage like a &#8220;black box&#8221;.  It doesn&#8217;t matter what&#8217;s in the box &#8211; what matters is the capacity, throughput and reliability of the data storage.  Their solutions utilize Fiber Channel and provide the foundation for a high performance SAN (Storage Area Network).   One of the most unique aspects is that the end user no longer worries about individual drives and data redundancy. Data redundancy  is taken care of by &#8220;the box&#8221;.  To add more capacity, add another box.  This moves intelligence out of controllers and applications into storage where it belongs.  Just like intelligent networks, having the right intelligence in the right place makes a lot of sense.</p>
<p>I haven&#8217;t had a chance to test or use the products but their architecture deserves a very close look when high performance storage is called for.  The company is talking about Fiber Channel over Ethernet in the future and I hope that they also look at Ata Over Ethernet (<a title="Wiki artilce on ATA over Ethernet" href="http://en.wikipedia.org/wiki/ATA_over_Ethernet" target="_blank">AoE</a>) as well.</p>
<h4><strong>Cisco goes after the datacenter</strong></h4>
<p>Cisco&#8217;s presentations always pique my interest.  This is a company that spends a lot of time figuring out how to produce a better mouse trap (or buying the company that has) and it shows.</p>
<p><span style="text-decoration: underline;">Network and Storage</span> Cisco&#8217;s approach is a continuation of the approach that it helped pioneer, network convergence.  Yesterday&#8217;s converging voice, video, and data via IP is passé; Cisco is now converging the SAN/LAN (Local Area Network) networks into a <a title="Cisco Nexus 5000 &amp; Unified Fabric" href="http://www.cisco.com/en/US/products/ps9670/index.html">unified fabric</a>.  With Fiber Channel over Ethernet the same network is used for SAN and LAN connectivity, simplifying cabling and switches.  With Cisco&#8217;s Fiber Channel/Ethernet modules for their Nexus class switches, Cisco is providing a bridge between the current SAN and LAN.  With 10GE (Gigabit Ethernet) networks already here and 40GE just around the corner, the writing is on the wall.  Eventually all LAN &amp; SAN traffic will be carried on the same network.  <a title="Robert Metcalfe the inventor of Ethernet" href="http://en.wikipedia.org/wiki/Robert_Metcalfe">Robert Metcalfe&#8217;s</a> invention lives eternal.</p>
<p><span style="text-decoration: underline;">Servers and Virtualization</span> This part of Cisco&#8217;s offering is where we see radical innovation. Cisco doesn&#8217;t have a history of building servers so their approach is clean sheet  and unique from what I&#8217;ve seen from other vendors.  What Cisco did was look at large virtualized environments holistically not just focusing on server, storage, or network individually.  Cisco has tried to converge and unify many components of a large virtulized environment and build management into the entire environment from the get go.  They call their approach the Unified Computing System or <a title="Cisco's Unified Computing System" href="http://www.cisco.com/en/US/netsol/ns944/index.html">UCS</a>.</p>
<p>The UCS structure combines a unified (or should we say converged?) 10GE network fabric with unique super high memory blade servers<strong> </strong> that can support up to 384 GB DDR3.  The management of the entire structure is built in.  Cisco provides for a virtualized switch within each blade, each virtualized server can be centrally managed in it&#8217;s entirety.  Moving a virtual instance from one blade to another becomes simpler because the network moves with the instance and doesn&#8217;t require reprogramming the switch.  Cisco&#8217;s approach will change the entire management experience for large virtualized environments.</p>
<p>Both presentations have given me a great excuse to deep dive into the vendor&#8217;s technology and applications thereof.  Cisco is showing off their C-Series servers in Orlando on March 9th (<a title="Register for March 9th 2010 Cisco Presentation" href="http://www.cisco.com/go/semreg/csfm_ciscoserver_09mar10/html" target="_blank">register for that even t here</a>) and there is some <a title="Xiotec Bedtime Reading Material" href="http://xiotech.com/resource-center.php">good reading material </a>over a Xiotech.  Keeping up with new technology and it&#8217;s application is one of the things I enjoy most about my job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

