<?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>Blog &#124; jim80.net &#187; Linux</title>
	<atom:link href="http://blog.jim80.net/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jim80.net</link>
	<description>Security, Systems, and Storage</description>
	<lastBuildDate>Fri, 30 Apr 2010 19:46:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Slowloris and You</title>
		<link>http://blog.jim80.net/2009/08/26/slowloris-and-you/</link>
		<comments>http://blog.jim80.net/2009/08/26/slowloris-and-you/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 12:55:32 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[DoS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=274</guid>
		<description><![CDATA[UPDATE: 20090826 &#8211; Corrected typo in &#8220;Slowloris and You.&#8221; It used to say &#8220;Slowlaris and You.&#8221; I keep getting slowloris confused with my nickname for &#8220;Solaris.&#8221; =D Back in July, http://ha.ckers.org/slowloris/ published an exploit against Apache and other web servers (go to the link for further) that takes advantage of multi-threaded applications. It works by [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: 20090826 &#8211; Corrected typo in &#8220;Slowloris and You.&#8221; It used to say &#8220;Slowlaris and You.&#8221; I keep getting slowloris confused with my nickname for &#8220;Solaris.&#8221; =D</p>
<p>Back in July, <a href="http://ha.ckers.org/slowloris/">http://ha.ckers.org/slowloris/</a> published an exploit against Apache and other web servers (go to the link for further) that takes advantage of multi-threaded applications. It works by tying up web server threads with partial HTTP requests, then sends TCP handshakes to keep the socket open. In general, multi-threaded web servers such as httpd, apache, and apache2 are vulnerable. IIS and most proxies are not vulnerable</p>
<p><a href="http://www.cert.org/blogs/vuls/2009/07/slowloris_vs_your_webserver.html"><br />
CERT</a> suggested using iptables to rate limit incoming port 80 requests. In general, this should be fine for many applications, though CERT has warned that some large clients behind NAT&#8217;s may be affected and thus the hitcount/time ratio should be adjusted according to your needs.</p>
<p><a href=" http://www.funtoo.org/en/security/slowloris/"><br />
http://www.funtoo.org/en/security/slowloris/</a> offers tips on mitigating this attack by enabling delayed binding on hardware load balancers.</p>
<p>In short, it appears as though the consensus mitigation method involves connection restrictions in the form of iptables or apache modules (most are of limited value, frankly), or shielding the web servers behind load balancers (such as <a href="http://haproxy.1wt.eu/">HA-Proxy</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/08/26/slowloris-and-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick and Dirty Port Check (ch.pl v 0.1)</title>
		<link>http://blog.jim80.net/2009/08/07/quick-and-dirty-port-check-ch-pl-v-0-1/</link>
		<comments>http://blog.jim80.net/2009/08/07/quick-and-dirty-port-check-ch-pl-v-0-1/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 21:13:40 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Toolbox]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=314</guid>
		<description><![CDATA[The core of the following script is based off work first started by my coworker Trent. The gist of the little script is to perform a quick scan of a hostname or IP by simply attempting to open a socket. I use this when I want to run a quick &#8220;is it online&#8221; scan of [...]]]></description>
			<content:encoded><![CDATA[<p>The core of the following script is based off work first started by my coworker Trent. The gist of the little script is to perform a quick scan of a hostname or IP by simply attempting to open a socket. I use this when I want to run a quick &#8220;is it online&#8221; scan of a server and determine if ports of interest are available to me. I added the bit that would let me open them directly from the script without having to type in an alternate command.</p>
<p>This is very much a poorly written hack-job script, and I very much expect that some of you will be able to identify some serious n00b mistakes (probably in that I still haven&#8217;t figured out how to properly localize variables), but hey, I don&#8217;t think this is half bad for my first PERL script. Yes, PERL. I&#8217;ve already been lectured about learning Python instead, but while that&#8217;s definitely on the to-do list, this script needed finishing, and I was already halfway through. It&#8217;s a tool that&#8217;s customized for me, so please hack away, and let me know what you do, as I may like it too!</p>
<p>So, I present, for your consideration and for your critique (please do), <a href="ftp://ftp.jim80.net/bin/ch.pl">&#8216;ch.pl&#8217; v 0.1</a>.</p>
<p>I generally alias ch=/usr/local/bin/ch.pl for this script in Linux and MacOS, as this lets me leave the file extension the same for when I use it in Windows. To use this in Windows, you&#8217;ll need to install PERL first. I use <a href="http://www.activestate.com">ActivePerl</a>. However please note, I&#8217;m still working on making this script Windows friendly.</p>
<p>To install in Linux/MacOS:</p>
<ul>
<li>download ch.pl using <a href="ftp://ftp.jim80.net/bin/ch.pl">FTP</a> or <a href="http://www.jim80.net/ftp/bin/ch.pl">wget</a> to /usr/local/bin/</li>
<li>chmod +x /usr/local/bin/ch.pl</li>
<li>modify your ~/.bash_aliases file (ubuntu), or your ~/.bashrc (RedHat) to include the following:
<ul>
<li>&#8216;alias ch=/usr/local/bin/ch.pl&#8217;</li>
</ul>
</li>
</ul>
<p>Usage: ch [hostname or IP]<em> [optional: port(s) to check, separated by commas]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/08/07/quick-and-dirty-port-check-ch-pl-v-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check Your OS&#8217;s Installation Date</title>
		<link>http://blog.jim80.net/2009/07/30/check-your-oss-installation-date/</link>
		<comments>http://blog.jim80.net/2009/07/30/check-your-oss-installation-date/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 16:58:59 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Installation date]]></category>
		<category><![CDATA[Systeminfo.exe]]></category>
		<category><![CDATA[WMIC]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=300</guid>
		<description><![CDATA[Linux: ls -alh /boot/grub #the majority of files in this folder don&#8217;t change from the time of install except for menu.lst ls -alh /restore #BSD Windows: Systeminfo #from the command line - or &#8211; CMD /K WMIC OS GET InstallDate You&#8217;ll see the Operating System installation date (in WMI format). The first eight characters in [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Linux: </strong></p>
<p><code>ls -alh /boot/grub</code> #the majority of files in this folder don&#8217;t change from the time of install except for menu.lst</p>
<p><code>ls -alh /restore</code> #BSD</p>
<p><strong>Windows: </strong></p>
<p><code>Systeminfo</code> #from the command line</p>
<p>- or &#8211; </p>
<p><code>CMD /K WMIC OS GET InstallDate</code></p>
<p>You&#8217;ll see the Operating System installation date (in WMI format). The first eight characters in that output gives you the installation date.</p>
<p>*Windows bit stolen from <a href="http://windowsxp.mvps.org/getosdate.htm">http://windowsxp.mvps.org/getosdate.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/07/30/check-your-oss-installation-date/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Make a Fat32 Partition in Linux</title>
		<link>http://blog.jim80.net/2009/07/29/make-a-fat32-partition-in-linux/</link>
		<comments>http://blog.jim80.net/2009/07/29/make-a-fat32-partition-in-linux/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 03:19:55 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Fat32]]></category>
		<category><![CDATA[fdisk]]></category>
		<category><![CDATA[mkdosfs]]></category>
		<category><![CDATA[NTFS-3G]]></category>
		<category><![CDATA[Windows 2003]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=290</guid>
		<description><![CDATA[This is handy for transferring files between Windows and Linux, as many distro&#8217;s don&#8217;t have NTFS RW support built in. This is, of course if you do not have access to the NTFS-3G driver, which does allow for RW mounts. Overview: fdisk w/ a W95 partition table mkdosfs If you need the step by step, [...]]]></description>
			<content:encoded><![CDATA[<p>This is handy for transferring files between Windows and Linux, as many distro&#8217;s don&#8217;t have NTFS RW support built in. This is, of course if you do not have access to the NTFS-3G driver, which does allow for RW mounts. </p>
<p>Overview: fdisk w/ a W95 partition table<br />
mkdosfs</p>
<p>If you need the step by step, it&#8217;s below:</p>
<p><strong>fdisk /dev/sd</strong>(whatever drive you want to reparition, &#8216;b&#8217; in this case), then follow along: </p>
<p>The number of cylinders for this disk is set to 20023.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:<br />
1) software that runs at boot time (e.g., old versions of LILO)<br />
2) booting and partitioning software from other OSs<br />
   (e.g., DOS FDISK, OS/2 FDISK)</p>
<p>Command (m for help): <strong>m</strong><br />
Command action<br />
   a   toggle a bootable flag<br />
   b   edit bsd disklabel<br />
   c   toggle the dos compatibility flag<br />
   d   delete a partition<br />
   l   list known partition types<br />
   m   print this menu<br />
   n   add a new partition<br />
   o   create a new empty DOS partition table<br />
   p   print the partition table<br />
   q   quit without saving changes<br />
   s   create a new empty Sun disklabel<br />
   t   change a partition&#8217;s system id<br />
   u   change display/entry units<br />
   v   verify the partition table<br />
   w   write table to disk and exit<br />
   x   extra functionality (experts only)</p>
<p>Command (m for help): <strong>n</strong></p>
<p>Command action<br />
   e   extended<br />
   p   primary partition (1-4)<br />
<strong>p</strong><br />
Partition number (1-4): <strong>1</strong><br />
First cylinder (1-20023, default 1):<br />
Using default value 1<br />
Last cylinder or +size or +sizeM or +sizeK (1-20023, default 20023):<br />
Using default value 20023</p>
<p>Command (m for help): <strong>t</strong><br />
Selected partition 1<br />
Hex code (type L to list codes): <strong>c</strong><br />
Changed system type of partition 1 to c (W95 FAT32 (LBA))</p>
<p>Command (m for help): <strong>p</strong></p>
<p>Disk /dev/sdb: 164.6 GB, 164696555520 bytes<br />
255 heads, 63 sectors/track, 20023 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes<br />
Disk identifier: 0x000f0136</p>
<p>   Device Boot      Start         End      Blocks   Id  System<br />
/dev/sdb1               1       20023   160834716    c  W95 FAT32 (LBA)</p>
<p>Command (m for help): <strong>w</strong><br />
The partition table has been altered!</p>
<p>Calling ioctl() to re-read partition table.</p>
<p>WARNING: If you have created or modified any DOS 6.x<br />
partitions, please see the fdisk manual page for additional<br />
information.<br />
Syncing disks.</p>
<p>root@sbrescue:/# <strong>mkdosfs /dev/sdb1</strong><br />
mkdosfs 3.0.1 (23 Nov 2008)<br />
root@sbrescue:/# <strong>mount /dev/sdb1 /mnt</strong><br />
root@sbrescue:/# <strong>cd /mnt</strong><br />
root@sbrescue:/mnt# <strong>touch asdf</strong><br />
root@sbrescue:/mnt# <strong>ls</strong><br />
asdf<br />
root@sbrescue:/mnt# </p>
<p>All done! =D</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/07/29/make-a-fat32-partition-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic iptables &#8211; &#8220;Flexible (and fun)&#8221;</title>
		<link>http://blog.jim80.net/2009/05/30/dynamic-iptables-flexible-and-fun/</link>
		<comments>http://blog.jim80.net/2009/05/30/dynamic-iptables-flexible-and-fun/#comments</comments>
		<pubDate>Sat, 30 May 2009 18:29:18 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[DoS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[DDoS]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=213</guid>
		<description><![CDATA[Have you ever said to yourself that there should be a tool to do x, start building a tool to do it, then about halfway through your little project, somebody glances over your shoulder and says to you &#8220;hey, I use a tool like that, it&#8217;s called y, you should check it out,&#8221; so you [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever said to yourself that there should be a tool to do <em>x</em>, start building a tool to do it, then about halfway through your little project, somebody glances over your shoulder and says to you &#8220;hey, I use a tool like that, it&#8217;s called <em>y</em>, you should check it out,&#8221; so you do, and <em>that</em> tool is far more comprehensive and well built than the one you were working on?</p>
<p>Well this isn&#8217;t one of those times, because this tool hit me from left field while I was researching ways to mitigate a DDoS attack. Though there are many, many ways to do it, if all you have is a Linux box facing the world with nothing to hide its private parts except iptables, then this &#8220;flexible (and fun)&#8221; toolset is another weapon you can deploy when you get that 2:30AM call saying &#8220;our website&#8217;s down and I think it&#8217;s being DDoS&#8217;d.&#8221;</p>
<p>The tool is a simple set of scripts that make adding and removing specific IP&#8217;s quick and simple. The main site of the author is at <a href="http://www.ibm.com/developerworks/library/l-fw/">http://www.ibm.com/developerworks/library/l-fw/</a>, or is available (hosted locally) <a href='http://blog.jim80.net/wp-content/uploads/2009/05/dynfw-1.0.tar.gz'>here</a>.</p>
<p>Once installed, you can simply ban/unban an IP by typing <strong><code>ipdrop {IP ADDRESS} {on|off}</code></strong></p>
<p>While perusing <a href="http://www.webhostingtalk.com/showthread.php?t=225477">this thread</a> at webhostingtalk.com, member <em>dynamicnet</em> mentioned grep-ing for ridiculous levels of SYN_RECV &#8216;d connections (this is indicative of a TCP SYN Flood attack) and generating ipdrop commands for quick banning of a SYN Flood-ing IP&#8217;s. Though you may accidentally drop one or two legitimate IP&#8217;s (have a rule already in place so you don&#8217;t ban yourself out of a remote box), you&#8217;ll likely get the bulk of the attacking IP&#8217;s.</p>
<p>Use <strong><code>netstat -n -p|grep SYN_REC | wc -l</code></strong> to count how many SYN_RECV connections you have.</p>
<p>Use <strong><code>netstat -n -p | grep SYN_REC | awk '{print $5}' | sort -u | awk -F: '{print "ipdrop "$1 " on"}'</code></strong> to generate code to ban IP&#8217;s in SYN_RECV status.</p>
<p>Use <strong><code> cat /root/.dynfw-ipdrop |awk -F: '{print "ipdrop "$1" off"}' </code></strong> to generates code to &#8220;undrop&#8221; those IP&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/05/30/dynamic-iptables-flexible-and-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Quickie About SSHFS and /dev/fuse</title>
		<link>http://blog.jim80.net/2009/05/09/a-quickie-about-sshfs-and-devfuse/</link>
		<comments>http://blog.jim80.net/2009/05/09/a-quickie-about-sshfs-and-devfuse/#comments</comments>
		<pubDate>Sat, 09 May 2009 23:32:51 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[/dev/fuse]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[SSHFS]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/2009/05/09/a-quickie-about-sshfs-and-devfuse/</guid>
		<description><![CDATA[It&#8217;s been a while since my last post, I&#8217;ve moved to San Antonio, so I&#8217;ve been quite busy for some time. Just a quick note on using SSHFS. I&#8217;ve recently run across a problem on a Debian box where SSHFS wouldn&#8217;t run out of the gate. A quick Google search revealed the following article by [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since my last post, I&#8217;ve moved to San Antonio, so I&#8217;ve been quite busy for some time. Just a quick note on using SSHFS. I&#8217;ve recently run across a problem on a Debian box where SSHFS wouldn&#8217;t run out of the gate. A quick Google search revealed the following article by David Liontooth on <a href="http://osdir.com">osdir</a> (<a href="http://osdir.com/ml/file-systems.fuse.sshfs/2005-11/msg00009.html">http://osdir.com/ml/file-systems.fuse.sshfs/2005-11/msg00009.html</a>):</p>
<p>##########################</p>
<p>Re: [sshfs] failed to open /dev/fuse: msg#00009<br />
file-systems.fuse.sshfs<br />
Subject: 	Re: [sshfs] failed to open /dev/fuse</p>
<p>David Liontooth wrote:</p>
<p>&gt;I just installed the Debian version on an amd64 system with linux<br />
&gt;2.6.14. I loaded the fuse module from the (vanilla) kernel, but the<br />
&gt;/dev/fuse device node did not get created. I created it manually:<br />
&gt;<br />
&gt; mknod /dev/fuse c 0 0<br />
&gt; chown root.fuse /dev/fuse<br />
&gt; chmod 0666 /dev/fuse<br />
&gt;<br />
&gt;But this does not appear to be what sshfs needs:<br />
&gt;<br />
&gt; $ sshfs chi:/tv4 tv4<br />
&gt; fusermount: failed to open /dev/fuse: No such device or address<br />
&gt;<br />
&gt;I don&#8217;t think it&#8217;s a permissions issue &#8212; same response from user root.<br />
&gt;I&#8217;m not using udev (it thoroughly messes up my system). How do I do this<br />
&gt;manually?<br />
&gt;<br />
&gt;Dave<br />
&gt;<br />
&gt;<br />
PS here&#8217;s what my kernel module says &#8212; don&#8217;t know why it&#8217;s not creating<br />
/dev/fuse:</p>
<p># modinfo fuse<br />
filename: /lib/modules/2.6.14/kernel/fs/fuse/fuse.ko<br />
alias: char-major-10-229<br />
license: GPL<br />
description: Filesystem in Userspace<br />
author: Miklos Szeredi<br />
depends:<br />
vermagic: 2.6.14 SMP gcc-4.0</p>
<p>linux/Doc*/devices.txt has</p>
<p>10 char Non-serial mice, misc features<br />
229 = /dev/fuse Fuse (virtual filesystem in user-space)</p>
<p>I have fuse-utils 2.4.0-1 and libfuse2<br />
2.4.0-1</p>
<p>I tried creating</p>
<p>mknod -m 666 /dev/fuse c 10 229</p>
<p>OK &#8212; that seems to have done it! Nice.</p>
<p>It doesn&#8217;t show up in df, but the drive is mounted (with &#8220;sshfs<br />
machine:/dir mountpoint&#8221;.<br />
It unmounts with &#8220;fusermount -u mountpoint&#8221;.</p>
<p>Great stuff. Worth adding the device node creation instructions in the<br />
man page or somewhere though.</p>
<p>Dave</p>
<p>##########################</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/05/09/a-quickie-about-sshfs-and-devfuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seven habits of effective text editing</title>
		<link>http://blog.jim80.net/2009/03/20/seven-habits-of-effective-text-editing/</link>
		<comments>http://blog.jim80.net/2009/03/20/seven-habits-of-effective-text-editing/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 16:41:06 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[VIM]]></category>

		<guid isPermaLink="false">http://blog.jim80.net/?p=72</guid>
		<description><![CDATA[I ran across a post linking to a very useful paper on using VIM. My life will never be the same.]]></description>
			<content:encoded><![CDATA[<p>I ran across a <a href="http://www.wormus.com/aaron/stories/2009/01/16/seven-habits-of-effective-text-editing.html" target="_blank">post</a> linking to <a href="http://www.moolenaar.net/habits.html" target="_blank">a very useful paper</a> on using VIM. My life will never be the same.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/03/20/seven-habits-of-effective-text-editing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-Factor Authentication for Cheap.</title>
		<link>http://blog.jim80.net/2009/03/15/multi-factor-authentication-for-cheap/</link>
		<comments>http://blog.jim80.net/2009/03/15/multi-factor-authentication-for-cheap/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 01:18:49 +0000</pubDate>
		<dc:creator>jim</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[GRC]]></category>
		<category><![CDATA[multi-factor authentication]]></category>
		<category><![CDATA[PPP]]></category>

		<guid isPermaLink="false">https://blog.jim80.net/2009/03/multi-factor-authentication-for-cheap/</guid>
		<description><![CDATA[Yes, cheap as in free. Steve Gibson, the superbly geeky old man of SpinRite fame, developed a printed passcode system for multi-factor authentication. It uses a Rijndael block cipher to generate a sequence of &#8220;pseudo-random&#8221; characters that allow a Systems Administrator to effectively lock down administrative access with very little overhead. Basically, you carry around [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, <a href="http://www.homestarrunner.com" target="_blank">cheap as in free</a>. Steve Gibson, the superbly geeky old man of <a href="https://www.grc.com/sr/spinrite.htm" target="_blank">SpinRite</a> fame, developed a printed passcode system for multi-factor authentication. It uses a Rijndael block cipher to generate a sequence of &#8220;pseudo-random&#8221; characters that allow a Systems Administrator to effectively lock down administrative access with very little overhead. Basically, you carry around a credit-card sized printout, and every time you try to log in, you punch in your username, password, and the next passcode (it prompts you for the correct one). The nice thing is that it&#8217;s free and easy to implement, and it&#8217;s <a href="http://groups.google.com/group/ppp-pam/web/documentation" target="_blank">cake</a> on Debian. It&#8217;s not ported everywhere, so it&#8217;s not ubiquitous yet. However, with enough folks pitching in and developing front-ends for this product, this system can exponentially (literally) improve the security of your internet-facing systems.<br />
Go to the <a href="https://www.grc.com/ppp.htm" target="_blank">GRC website</a> to find out more.</p>
<p>PS. Almost forgot. Once you install the PAM module and lock down SSH for your admin accounts, don&#8217;t forget to disable su for your normal users. They shouldn&#8217;t need it anyways, but if it is enabled, then all someone has to do is crack a normal user account and su into your admin account, without having to get a hold of your passcode card.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jim80.net/2009/03/15/multi-factor-authentication-for-cheap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
