<?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>Toni Westbrook dot Com &#187; Network Administration</title>
	<atom:link href="http://www.toniwestbrook.com/archives/category/networking/feed" rel="self" type="application/rss+xml" />
	<link>http://www.toniwestbrook.com</link>
	<description>Sharing Software Development Knowledge With You</description>
	<lastBuildDate>Mon, 12 Sep 2011 03:35:34 +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>Best Modern Practices – Cisco MDS 9000 (Fibre Channel) – Part 2</title>
		<link>http://www.toniwestbrook.com/archives/213</link>
		<comments>http://www.toniwestbrook.com/archives/213#comments</comments>
		<pubDate>Tue, 13 Jul 2010 03:35:27 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
				<category><![CDATA[Network Administration]]></category>

		<guid isPermaLink="false">http://www.toniwestbrook.com/?p=213</guid>
		<description><![CDATA[Back to Part 1&#8230; Use Your MDS to Its Full Potential! If you&#8217;ve taken some time looking through all the thousands of things NX-OS and Fabric Manager can do, you&#8217;ll know that the MDS line is amazingly powerful. I&#8217;m totally a CLI guy, and I do most of the basic switch configuration in NX-OS, but [...]]]></description>
			<content:encoded><![CDATA[<p><i><a href="http://www.toniwestbrook.com/archives/196">Back to Part 1&#8230;</a></i></p>
<p><b> Use Your MDS to Its Full Potential! </b></p>
<p>If you&#8217;ve taken some time looking through all the thousands of things NX-OS and Fabric Manager can do, you&#8217;ll know that the MDS line is amazingly powerful.  I&#8217;m totally a CLI guy, and I do most of the basic switch configuration in NX-OS, but don&#8217;t hesitate to the abuse the hell out of Fabric Manager &#8211; it&#8217;s a fantastic tool for getting a visual representation of your Fibre Channel infrastructure.  And, it gives you a quick visual (both in a textual list and graphical layout) into exactly what device is plugged into what port.</p>
<p><center><div id="attachment_202" class="wp-caption alignnone" style="width: 310px"><a href="http://www.toniwestbrook.com/wp-content/uploads/2010/07/fm.jpg"><img src="http://www.toniwestbrook.com/wp-content/uploads/2010/07/fm-300x251.jpg" alt="" title="FabricManager" width="300" height="251" class="size-medium wp-image-202" /></a><p class="wp-caption-text">Example FabricManger Layout</p></div></center></p>
<p>Perhaps older switches couldn&#8217;t report what device was attached to what port, but if there is no pragmatic need for port zoning, then I believe it shouldn&#8217;t be used, as it is NOT aligned to the purpose of zoning.  The conceptual purpose of a zone is to define security at the device level &#8211; i.e. what device can talk to what device.  The purpose is not to be a mechanism for port security.  Port security exists at a lower level (or more appropriately, layer, if we think in terms of an OSI-esque model), and should be handled separately and independently.</p>
<p><b> port-security ENABLE! </b></p>
<p>The engineers at Cisco are pretty smart people, and they understood the need for port security in a WWN zoning environment.  They understood that we, the administrators, deserve the best of BOTH worlds, and they gave it to us.  Not only can you configure what WWNs are authorized to be on what physical ports with port-security, but you can also have the MDS automatically learn what devices are currently connected, and set them up as authorized WWNs, expire them, auto-learn new devices, etc. </p>
<p>What does this mean?  Quite a bit.  We get the ease (and conceptual correctness) of managing zone membership by WWN, MUCH easier migrations, an instant snapshot of exactly what device is connected to what port, and the security of Cisco&#8217;s standard port-security mechanism.  Maybe I&#8217;m crazy (okay, I&#8217;m pretty sure I am), but I&#8217;m a firm believer that WWN zoning is completely the way to go.  </p>
<p><b> Device Aliases Rule, FC Aliases Drool </b></p>
<p>A key to making Fabric Manager work the best for you (especially if you&#8217;re dealing with a pure Cisco fabric), is to make heavy use of Device Aliases and say goodbye to FC aliases.  There are a number of reasons for this, but mostly center around the fact that Device Aliases can be used in most sections of the MDS configuration where pWWNs are used, whereas FC aliases are pretty much per vsan and for zone membership only.  Not only does this make configuration easier, but Fabric Manager makes heavy use of the device alias (remember above when we were talking about having Fabric Manager show you what devices are connected to what physical ports? Device Aliases make this work, as then you get a nice readable name instead of a pWWN).  Additionally, for you CLI guys and gals, anywhere in the config that a pWWN with a Device Alias is mentioned, NX-OS prints the Device Alias right below it, which is extremely helpful while trudging through lines and lines of WWNs.</p>
<p>You may be stuck with FC Aliases if you have a hybrid switch environment with something other than Ciscos, but otherwise, it&#8217;s time to ditch FC Aliases.  </p>
<p><b> Single Initiator, Single Target Zoning </b></p>
<p>It&#8217;s a little more work than making big easy zones with lots of members &#8211; but it&#8217;s honestly the safest and most technically efficient method of zone operation.  There are some times when it becomes necessary to include multiple initiators/targets in failover clusters or other special cases, but other wise &#8211; make your zones 1 to 1.  This ensures that there is no extra traffic in the zone, protects your other zones in the event that one of your HBAs malfunctions &#8211; and safe guards your remaining connections from a server to other SANs should you screw up the configuration in one of the zones.  It&#8217;s extra work, but it&#8217;s worth it. </p>
<p><b> Feedback! </b></p>
<p>Most of these are based off of best practices gleaned from Cisco, VMware, and Compellent &#8211; but as mentioned, there are debates out there surrounding many of them.  Please feel free to share your Fibre Channel thoughts or experiences, I think this is definitely an area that deserves more attention.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toniwestbrook.com/archives/213/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Modern Practices &#8211; Cisco MDS 9000 (Fibre Channel) &#8211; Part 1</title>
		<link>http://www.toniwestbrook.com/archives/196</link>
		<comments>http://www.toniwestbrook.com/archives/196#comments</comments>
		<pubDate>Tue, 13 Jul 2010 03:33:03 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
				<category><![CDATA[Network Administration]]></category>

		<guid isPermaLink="false">http://www.toniwestbrook.com/?p=196</guid>
		<description><![CDATA[We recently got a pair of shiny new Compellent SANs at work &#8211; both a primary and DR setup which replicate to each other. Seriously awesome stuff (Sales pitch mode &#8211; I don&#8217;t work for Compellent, but they make an amazing product, and Data Progression in the bomb. Check them out if your organization is [...]]]></description>
			<content:encoded><![CDATA[<p>We recently got a pair of shiny new <a herf="http://www.compellent.com/">Compellent</a> SANs at work &#8211; both a primary and DR setup which replicate to each other.  Seriously awesome stuff (Sales pitch mode &#8211; I don&#8217;t work for Compellent, but they make an amazing product, and <a href="http://www.compellent.com/Products/Software/Automated-Tiered-Storage.aspx">Data Progression</a> in the bomb.  Check them out if your organization is in the market).  </p>
<p>Part of the migration and installation process included switching out our old Cisco 9020 Fibre Channel switches for 9124s, as the 9020s do not support NPIV.  If you&#8217;ve ever had to replace your entire Fibre Channel infrastructure, you&#8217;ll know it can be kind of a bear, depending on the size.  However, it does present a rare opportunity to make some major reconfigurations and restructuring.  For us, our previous zoning setup was a little funky and needed to be tightened up a bit, so this was the perfect time.  </p>
<p><b> A Little Knowledge Can Be a Dangerous Thing </b></p>
<p>One of my issues going into this situation was my lack of fibre channel knowledge.  I understood the basic premise behind zoning, but I had never done major switch configuration, and had always relied on the storage vendor in question to help out.  While Compellent was very helpful during the install, I knew I wouldn&#8217;t find any better opportunity to drive full on into Fibre Channel joy and learn everything I could.  And I definitely came away with some interesting tidbits.</p>
<p><b> Zoning Semantics </b></p>
<p>There are many FC related debates, but one stems around Hard vs Soft zones and Port vs WWN zones.  Unfortunately, a lot of the confusion stems around the fact that people mistakenly interchange the zoning phrases hard for port, and soft for WWN.  This is incorrect &#8211; <b>port zoning is not the same thing as hard zoning, and WWN zoning is not the same as soft zoning!</b>  I have seen a few theories on why people have treated them interchangeably over the years: Some older switches matched the two functionalities together (e.g. you could only port zone through hardware, and WWN zone through software), or people just hear the word &#8220;hardware&#8221; and automatically think &#8220;physical port&#8221;, or people just learned it that way, etc.  </p>
<p>In truth, hard zoning simply means that the segmentation is enforced in ASIC hardware, and there is absolutely no way for out-of-zone traffic to occur.  Soft zoning is security performed in software by consulting the name server on the director &#8211; and is not as secure as hard zoning &#8211;  if an initiator knows (or guesses) the target WWN, they can communicate with it, the switch hardware doesn&#8217;t prevent the packet from reaching the destination, even though the initiator doesn&#8217;t share a zone with it.  For example, if Google wanted to hide their website by deleting their domain name &#8220;google.com&#8221;, I could still get there if I knew their IP address.  It&#8217;s not very difficult to brute WWNs &#8211; like MAC addresses, they are assigned by vendor, and are most likely produced sequentially.  <a href="http://wintelguy.com/index.pl">Lookup the vendor prefix</a>, and you&#8217;re already half way there.  For this reason, hard zoning should always be used, regardless if port or WWN zoning are used.</p>
<p><b> Port vs WWN, Round 1, FIGHT </b></p>
<p>Now that we&#8217;re using the correctly terminology, the heart of the debate is whether one should use port or WWN based zoning.  In port based routing, the physical port itself is a zone member.  Any device plugged into it will be in the zone.  Move a device to a different port, and it is no longer in that zone.  In WWN based zoning, the WWN of the device is a zone member.  For this reason, no matter what port you plug the device into, it will be in the zone.</p>
<p>Both have pros and cons:</p>
<p>Port Based: PRO &#8211; security is tighter.  WWNs are easily spoofed, but an intruder would need to physically unplug the current device from the physical port and plug a new one in to jump onto the zone &#8211; which would be noticed for a number of reasons.  CON &#8211; you need to keep track of what physical ports each device is plugged into.  If you ever replace your switches, this means a lot more work.</p>
<p>WWN Based: PRO &#8211; since zone membership is recognized by WWN, it doesn&#8217;t matter what port the device is plugged into, which means less headache trying to keep track of what is plugged into what port (especially during an install/migration).  CON &#8211; less secure, as WWNs can be spoofed, as mentioned above.</p>
<p>Now &#8211; I&#8217;ve read a number of articles that say WWN based zoning is unmanageable because you don&#8217;t know what device is plugged into what port, and the security is bad because WWNs are spoofable, no respecting storage administrator would ever use WWN zoning, it&#8217;s lazy, evil, unpatriotic, etc.  What I say to this: <b>POPPYCOCK!</b></p>
<p><i>Why Did Toni Just Say POPPYCOCK!?  <a href="http://www.toniwestbrook.com/archives/213">Find out in Part 2&#8230;</a></i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toniwestbrook.com/archives/196/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ping Failover Daemon for Linux</title>
		<link>http://www.toniwestbrook.com/archives/184</link>
		<comments>http://www.toniwestbrook.com/archives/184#comments</comments>
		<pubDate>Thu, 25 Feb 2010 04:16:28 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Network Administration]]></category>

		<guid isPermaLink="false">http://www.toniwestbrook.com/archives/184</guid>
		<description><![CDATA[Overview I wanted to make available a GPL daemon I developed for Linux called the &#8220;ping failover daemon&#8221;, or pfailover. It is designed for hosts with two or more network interfaces, with the goal of rerouting traffic over the secondary interface when the primary fails. It achieves this by monitoring a host over the primary [...]]]></description>
			<content:encoded><![CDATA[<p><b> Overview </b></p>
<p>I wanted to make available a GPL daemon I developed for Linux called the &#8220;ping failover daemon&#8221;, or pfailover.  It is designed for hosts with two or more network interfaces, with the goal of rerouting traffic over the secondary interface when the primary fails.  It achieves this by monitoring a host over the primary connection via ping, and changing the route tables when it doesn&#8217;t receive a response.  In this way, it is smart enough to reroute if any hop along the way fails, as opposed to rerouting only under the circumstances of a link-loss.  When it starts receiving responses to the host over the primary interface again, it restores the route tables, thereby activating the primary connection again.</p>
<p>The daemon also runs scripts whenever a connection is changed, so you can insert any functionality you want, such as sending out a warning email to the IT team saying something&#8217;s up.</p>
<p>Additionally, it allows you to setup as many monitors as you&#8217;d like, if you have complex setups with 3 or more network interfaces, or reroute in a different fashion depending on which monitored host goes down.</p>
<p>For programmers and scripters, it also allows full monitoring and control via the command line and shared memory, allowing other programs to integrate its functionality.</p>
<p><b> The Reason for Development </b></p>
<p>A few months back, we ran into an interesting situation at work.  We had only had T1s for an Internet connection for the longest time, but we decided since broadband was so cheap for the bandwidth, we would also get a cable modem &#8211; mainly to be used for staff web traffic.  At the same time, it was a great opportunity to setup a proxy server as the gateway to this new, speedy connection.  Not only would this give us an additional speed boost due to caching, but would also allow us to do some management over web use.  </p>
<p>As anyone with a cable modem knows (well, at least with Comcast) &#8211; connection loss and downtime are not questions of if, but rather when &#8211; and when I say &#8220;when&#8221;, I really mean how many times a week.  Which is fine &#8211; there is a reason why organizations still go with T-carriers and not just broadband connections &#8211; they&#8217;re more expensive, but more reliable as well.  </p>
<p>Anyway, with this in mind, we knew that it was just a matter of time before the proxy server lost its connection to the Internet via the cable modem, and staff would start complaining about Internet loss.  And at the airport, uptime is a big deal, which is especially difficult being a 24&#215;7 operation.  While there are a few strategies on how to handle this, I decided I wanted a simple solution &#8211; the proxy server would simply reroute its web requests back out the internal network connection to the T1s, instead of to the cable modem connection.  Then when the cable modem came back online, it would start routing back out that interface again.</p>
<p>I found some other packages to do this, but they were all very robust, complex, and just too big for what I wanted &#8211; I wanted a lightweight daemon with scripting ability, so I could start out simple, and grow it complex if necessary.  So I decided it would be a fun project to code one up in C++ &#8211; I rarely get to write any C++ code anymore, so I take the opportunity when I can.</p>
<p><b> Installation and Usage </b></p>
<p>You will need the lastest version of the boost libraries to compile pfailover.  The installer includes sample conf and script files to aid in setup &#8211; plus it&#8217;s fairly straightforward and should only take a few minutes to configure.  You can see all the options by typing &#8220;pfailover &#8211;help&#8221;.  Normally, after configuring it, you&#8217;ll want to run it as a daemon with the &#8220;pfailover -d&#8221; command.  Once running, you can check the current status at any time by typing &#8220;pfailover -s=get:0&#8243;.</p>
<p><a href='http://www.toniwestbrook.com/wp-content/uploads/2010/02/pfailover-041.tgz' title='pfailover 0.4.1'>Download pfailover 0.4.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toniwestbrook.com/archives/184/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Move the COS (esxconsole.vmdk) in VMware ESX 4 (vSphere)</title>
		<link>http://www.toniwestbrook.com/archives/168</link>
		<comments>http://www.toniwestbrook.com/archives/168#comments</comments>
		<pubDate>Sun, 21 Feb 2010 05:56:21 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
				<category><![CDATA[Network Administration]]></category>

		<guid isPermaLink="false">http://www.toniwestbrook.com/archives/168</guid>
		<description><![CDATA[We recently upgraded from ESX 3.5 to vSphere at work, and man &#8211; is it awesome. The infrastructure manager (vSphere Client) supports a whole boatload of new options for better monitoring and managing your VMs and clusters &#8211; including a patch management system for keeping your VMs and hosts up to date. If you&#8217;d like [...]]]></description>
			<content:encoded><![CDATA[<p>We recently upgraded from ESX 3.5 to vSphere at work, and man &#8211; is it awesome.  The infrastructure manager (vSphere Client) supports a whole boatload of new options for better monitoring and managing your VMs and clusters &#8211; including a patch management system for keeping your VMs and hosts up to date.  If you&#8217;d like the full details of all the new features, check out the VMware page <a href="http://www.vmware.com/support/vsphere4/doc/vsp_40_new_feat.html">here</a>.</p>
<p><b> The Console OS </b></p>
<p>One new aspect of vSphere is it separates out the hypervisor from the service console to a greater degree, actually creating a VM for the console.  Great from an architectural point of view &#8211; however, one gotcha is where it actually STORES this VM.  During the upgrade (and I&#8217;m assuming new install process), it asks where you&#8217;d like to store this Console OS VM.  It suggests you store it on local storage, but you can just as easily store it in a Datastore on your SAN.  Which is what I (and others judging from the web) chose as an option.  </p>
<p>An issue arises in that there is no easy way (that I know of, after scouring the web for ages) to move the console VM in the future.  We recently needed to redo all the LUNs on our SANs, which meant we needed them empty &#8211; which is when we ran into this issue.  The service console was on the SAN with no good way to move it.  </p>
<p><b> The Solution </b></p>
<p>First off &#8211; proceed at your own risk.  [UPDATE] When asking VMware support about this solution, they said it works, but is not officially supported. [END UPDATE]  So far we&#8217;ve had no issues, but that&#8217;s not to say in 2 months our whole ESX cluster won&#8217;t detonate, showering death and destruction down on us.  That being said, I think we&#8217;re pretty safe.</p>
<p>This question has been asked before, and everyone on the VMware forums said you needed to reinstall your ESX server to move the console VM &#8211; this is the official stance by VMware as well.  I originally decided to do a little digging though, as it just seemed like there must be some way of doing it.  It was just a file that needed to be moved, and the underlying OS is Linux, so I guessed it was all being done through scripts.  I was right.</p>
<p>If you take a look at /etc/vmware/esx.conf on your ESX host in question, you&#8217;ll see all your configuration options.  One of which is </p>
<p>/boot/cosvmdk</p>
<p>This points to the path and filename of the service console.  This value is later used by the initialization script &#8220;/etc/vmware/init/init.d/66.vsd-mount&#8221; to mount the service console.  We can change this value to anything we want, inclung a new location.</p>
<ol>
<li> Identify the correct service console VM for the ESX server in question.  This isn&#8217;t an issue if you&#8217;ve got 1 ESX server, but if you&#8217;ve got a cluster, it&#8217;s not always clear the one in question.  The console VM is stored with the name &#8220;esxconsole-&lt;uuid&gt;&#8221;.  You can find the unique identifier/cos vmdk filename for your server within the /etc/vmware/esx.conf file.</li>
<li> Identify the Datastore where you want to keep the service console.  Take VMware&#8217;s advice and keep it on local storage &#8211; that way, if your SAN dies or you need to do maintenance, you aren&#8217;t in a pickle.  Look in /vmfs/volumes and write down the ID of the storage you want to use.</li>
<li> Put the ESX host in question into service mode &#8211; you&#8217;ll need to reboot it to perform the move, and you&#8217;ll need local access as it won&#8217;t reboot to a point where you have ssh.</li>
<li> Make a backup copy of /etc/vmware/esx.conf in case you make a boo-boo.</li>
<li> Edit /etc/vmware/esx.conf and change the path for the &#8220;/boot/cosvmdk&#8221; option to point to the new Datastore you recorded in #2.  Save the conf file.</li>
<li> Reboot the server.  It will go smoothly until it hits the point where it attempts to mount the COS &#8211; at this point, it will choke as it can&#8217;t find esxconsole in the new place you told it to look.  At this point, you&#8217;ll get a shell prompt.</li>
<li> Do a recursive copy of the esxconsole-&lt;uuid&gt; directory from its old location to the new location.  You should have all your /vmfs/volumes mounted since this takes place in the initialization sequence before the COS is mounted. [UPDATE] Jim points out that while local and FC storage will be available, it looks like iSCSI mounts take place later in the boot process, so they will not.  Just a heads up if you&#8217;re planning on moving your COS to/from iSCSI [END UPDATE]</li>
<li> Reboot.  It should boot back up completely at this point.  Ensure life is good, and then delete the old copy of the esxconsole-&lt;uuid&gt; directory.</li>
<li> Ensure ESX automatically updated any other values to the new path (like /adv/Misc/CosCorefile)</li>
</ol>
<p>Please don&#8217;t hesitate to comment with your experiences or if you know a better way to handle this (or if this solution could cause issues).  Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toniwestbrook.com/archives/168/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>IAS Shared Secrets Aren&#8217;t So Secret</title>
		<link>http://www.toniwestbrook.com/archives/166</link>
		<comments>http://www.toniwestbrook.com/archives/166#comments</comments>
		<pubDate>Mon, 17 Aug 2009 02:36:00 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
				<category><![CDATA[Network Administration]]></category>

		<guid isPermaLink="false">http://www.toniwestbrook.com/archives/166</guid>
		<description><![CDATA[Though by night I practice in the dark arts of computer science and engineering, during the day I play the part of a mild mannered network administrator. Recently I was taking stock of our backups, and as I was looking through some items that needed to be included in the nightly routine, I checked out [...]]]></description>
			<content:encoded><![CDATA[<p>Though by night I practice in the dark arts of computer science and engineering, during the day I play the part of a mild mannered network administrator.  Recently I was taking stock of our backups, and as I was looking through some items that needed to be included in the nightly routine, I checked out our IAS server.  We run IAS as we have a number of RADIUS clients, such as switches and other devices, that we like to have authenticate against our Active Directory.  RADIUS connected to AD via IAS is super sweet, as there are quite a number of devices out there that support RADIUS, and you can get pretty detailed with the authentication rules of what is and isn&#8217;t granted access.</p>
<p>In IAS, to establish trust between the server and the RADIUS client, an administrator sets up a shared secret &#8211;  basically a password that both ends agree to use to prove they are who they say they are during communication.  Normally, you would expect such a password to at least be encrypted, or at least obfuscated in some manner to add a level of protection to snooping eyes.  Microsoft has however, to my surprise, decided not take this route.  </p>
<p><b> Viewing Shared Secrets</b></p>
<p>IAS stores its settings in two files under C:\windows\system32\ias &#8211; ias.mdb and dnary.mdb.  If you&#8217;re a database user, you&#8217;ll notice mdb being the file extension used by Jet/Access databases.  For the heck of it, being a tinkerer, I decided to link to these files with MS Access and see what I could see.  They are indeed standard Jet databases &#8211; which is pretty neat from an integration perspective &#8211; with a simple ODBC connection you can read/write your IAS settings.  There is a table called &#8220;Objects&#8221; that contains an entry for each one of your RADIUS clients.  What was a little surprising, however, is there is a field labeled &#8220;Shared Secret&#8221; that contains, in very clear text, the shared secret password for each RADIUS client.  </p>
<p>Now while users shouldn&#8217;t have access to this file normally, having a big, easy to use database full of passwords always makes me a bit nervous. Understandably hashing might not have been an option due to the need to deduce the original cleartext &#8211; but where authentication is involved, a little encryption would be nice, to at least dissuade the average script kiddie.  </p>
<p>Not the security hole of the century, but certainly something to be aware of.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toniwestbrook.com/archives/166/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

