<?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>AskApache &#187; Search Results  &#187;  mirror</title>
	<atom:link href="http://www.askapache.com/search/mirror/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.askapache.com</link>
	<description>Advanced Web Development</description>
	<lastBuildDate>Thu, 26 Apr 2012 11:29:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Questions I Ask Web Hosting Companies, Before Buying</title>
		<link>http://www.askapache.com/hosting/before-buying-web-hosting.html</link>
		<comments>http://www.askapache.com/hosting/before-buying-web-hosting.html#comments</comments>
		<pubDate>Sun, 25 Apr 2010 10:15:16 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Hosting]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=4419</guid>
		<description><![CDATA[<p>The following is a transcript of a chat I had with a company called tektonic, and at that time I was looking for a cheap linux host to use for some redundancy/failover operations.  I generally contact a new hosting company like this every few months.. I like to have options available in case of some kind of failure or network attack, so it's always a good idea to have a few ace linux servers in your back pocket.</p>
<p>If you've read any other articles on AskApache, you can see a certain obsession towards optimization, speed, and security -- so that is the purpose of the following questions.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/hosting/before-buying-web-hosting.html"></a><a href="http://www.askapache.com/hosting/before-buying-web-hosting.html"><cite>AskApache.com</cite></a></p><p>I'm always on the lookout for cheap hosting and great hosting companies, and being that I have done this for many years, on many platforms, and with many hosts, my only requirement is that the host uses a UNIX/BSD/LINUX operating system.  I'm just not one of those people who likes to do things the hard way, constantly, if its even possible on a non-nix, or one of those people who enjoys getting hacked or my sites defaced by a cracker.  So *nix is definitely a requirement.  This is just a current look at the basic idea I use when looking for a web host.  If you were smart you would do a whole lot more than this.</p>

<h2>Research the People</h2>
<p>Ok, in a web hosting company there are 5 distinct groups of people, at least generally, that you will want to get in contact with or at least do some background research on (like the owners/founders).  Depending on which of these groups you talk to will determine the amount and quality of information you get, the difference is night and day. Because of my past experience with really bad hosts (DreamHost), and really great hosts (<a rel="nofollow" href="http://www.wiredtree.com/298.html">WiredTree</a>), I am very cautious and purposeful in making this decision, so I go to great lengths to contact at least one person from each of these groups.  Most good advice says to also get in touch with customers.. I don't usually need/want to do that though because most customers don't know jack.  But of course I know a few of the customers because I research the hosts network block and test the speed and servers that run on their IP block.</p>

<h3>Who / Why</h3>
<p>Being a curious and inquisitive person by nature, I always do background research on who started the company, how they started it, and what skills they have.  Knowing who the owners are and if they are real unix/network experts or just snake oil salesmen really makes a difference in this world of smoke and mirrors.
<p> Here's my recommendation of which group to contact, in order of best to worst:</p>
<ol>
<li><strong>Owners/Founders</strong> - The Founders have been involved since the start of the company.  Always contact.</li>
<li><strong>System Admins</strong> - Programmers and System Operators who keep things running, fix problems tech support cant.  Always contact.</li>
<li><strong>Sales/Marketing</strong> - Both types have different motivations for what they say, and how they say it.  Always contact both.</li>
<li><strong>Tech Support</strong> - They make the web go round, will always know a lot about problems and issues their customers frequently experience.  Always contact.</li>
<li><strong>Management</strong> - These people are in charge of the day-to-day operations, overseers.  Contact optional.</li>
</ol>



<h2>Questions to Ask</h2>
<p>The following is a transcript of a chat I had with a company called <a href="http://tektonic.net/">tektonic</a>, and at that time I was looking for a cheap linux host to use for some redundancy/failover operations.  I generally contact a new hosting company like this every few months.. I like to have options available in case of some kind of failure or network attack, so it's always a good idea to have a few ace linux servers in your back pocket.</p>
<p>If you've read any other articles on AskApache, you can see a certain obsession towards optimization, speed, and security -- so that is the purpose of the following questions.</p>
<table cellspacing="0" cellpadding="5" border="1" width="100%" dir="ltr">
    <tbody>
        <tr>
            <td colspan="2"><div>General Info</div></td>
        </tr>
        <tr>
            <td><strong>Chat start time</strong></td>
            <td> Apr 7, 2010 7:18:07 AM EST</td>
        </tr>
        <tr>
            <td><strong>Chat end time</strong></td>
            <td> Apr 7, 2010 8:38:52 AM EST</td>
        </tr>
        <tr>
            <td><strong>Duration (actual chatting time)</strong></td>
            <td> 01:20:44</td>
        </tr>
        <tr>
            <td><strong>Operator</strong></td>
            <td> Vish</td>
        </tr>
    </tbody>
</table>
<h2>Chat Transcript</h2>
<div class="zebra3" style="font-size:1.1em;line-height:.9em;">

<blockquote>
    <p style="color:#ccc"><strong>info:</strong> Please wait for a site operator to respond. You are 1 out of 1 in the queue. The average wait time is 0 minutes and 30 seconds.</p>
    <p style="color:#ccc"><strong>info:</strong> You are now chatting with &#39;Vish&#39;</p>
    <p><strong>Vish:</strong> Hello</p>
    <p class="aa21"><strong>AskApache:</strong> Hi vish, i was looking to purchase a planwith you guys but had some questions.. is this the right place to ask?</p>
    <p><strong>Vish:</strong> yeah sure</p>
    <p><strong>Vish:</strong> Let me know how may I assist you with ?</p>
    <p class="aa21"><strong>AskApache:</strong> what is your cheapest plan that includes ssh?</p>
    <p><strong>Vish:</strong> <a href="http://tektonic.net/vps.php">http://tektonic.net/vps.php</a></p>
    <p><strong>Vish:</strong> Linux-360</p>
    <p class="aa21"><strong>AskApache:</strong> im there.. </p>
    <p><strong>Vish:</strong> It is cheapest plan you can have</p>
    <p class="aa21"><strong>AskApache:</strong> what does full root access mean for you guys? </p>
    <p class="aa21"><strong>AskApache:</strong> do you have swap? jailshell?</p>
    <p><strong>Vish:</strong> you have full access of you server .</p>
    <p class="aa21"><strong>AskApache:</strong> including network interface device access? ie.. is it possible to setup virtual nics?</p>
    <p><strong>Vish:</strong> Sorry we do not provide it.</p>
    <p><strong>Vish:</strong> hold on </p>
    <p><strong>Vish:</strong> Let me check</p>
    <p class="aa21"><strong>AskApache:</strong> how can i find out more about the limits of the machine for the Linux-360?</p>
    <p class="aa21"><strong>AskApache:</strong> like how many processes, fd descriptors.. </p>
    <p><strong>Vish:</strong> You can mail us at sales department.</p>
    <p><strong>Vish:</strong> They will get back to you with in few hrs with your answers </p>
    <p><strong>Vish:</strong> You can just drop mail at <a href="mailto:sales@tektonic.net">sales@tektonic.net</a></p>
    <p class="aa21"><strong>AskApache:</strong> no thanks.</p>
    <p class="aa21"><strong>AskApache:</strong> jw if you had that info offhand.</p>
    <p class="aa21"><strong>AskApache:</strong> do you know if cpanel is optinoal?</p>
    <p class="aa21"><strong>AskApache:</strong> could it be uninstalled?</p>
    <p><strong>Vish:</strong> yeah</p>
    <p><strong>Vish:</strong> you can install or uninstall as you wish </p>
    <p class="aa21"><strong>AskApache:</strong> Thanks vish you are being very helpful... a few more.. </p>
    <p><strong>Vish:</strong> sure</p>
    <p class="aa21"><strong>AskApache:</strong> what operating system?</p>
    <p><strong>Vish:</strong> Hold on ..</p>
    <p><strong>Vish:</strong> allow me a moment. </p>
    <p class="aa21"><strong>AskApache:</strong> please take your time</p>
    <p><strong>Vish:</strong> We do provide Ubantu , Centos and Debian</p>
    <p><strong>Vish:</strong> You can reinstall your server any time with one click </p>
    <p class="aa21"><strong>AskApache:</strong> what devices are supported in /dev ?</p>
    <p class="aa21"><strong>AskApache:</strong> do you support loop devices, ramdisk/tmpfs/swap?</p>
    <p><strong>Vish:</strong> One moment please..</p>
    <p class="aa21"><strong>AskApache:</strong> no rush at all, thanks</p>
    <p><strong>Vish:</strong> We do provide tmpfs but ramdisk and swap is not available .</p>
    <p><strong>Vish:</strong> All basic device are available with us optional devices like TUN is also enabled for you automatically. </p>
    <p class="aa21"><strong>AskApache:</strong> sweet</p>
    <p class="aa21"><strong>AskApache:</strong> is ipv6 supported?</p>
    <p><strong>Vish:</strong> It is there but we do support currently .</p>
    <p><strong>Vish:</strong> We are thinking to provide it in near future for our clients ;)</p>
    <p class="aa21"><strong>AskApache:</strong> good idea, people will start using it in 5years or so.. maybe</p>
    <p class="aa21"><strong>AskApache:</strong> how is the internal network segmented? vlans? </p>
    <p class="aa21"><strong>AskApache:</strong> for security..</p>
    <p><strong>Vish:</strong> Yeah, We do have Vlans</p>
    <p class="aa21"><strong>AskApache:</strong> security is very crucial.</p>
    <p><strong>Vish:</strong> You can check  more info in network here <a href="http://tektonic.net/network.php">network</a></p>
    <p class="aa21"><strong>AskApache:</strong> ok thanks brb</p>
    <p class="aa21"><strong>AskApache:</strong> do you allow kernel modules? or reloading the kernel like kexec?</p>
    <p><strong>Vish:</strong> a moment please.</p>
    <p><strong>Vish:</strong> What type kernel module you are looking for exactly ?</p>
    <p><strong>Vish:</strong> kexex is  for fast reboot .</p>
    <p><strong>Vish:</strong> Is there any specific requirement ?</p>
    <p><strong>Vish:</strong> As we do not allow kernel modules on VPS they are not supported by virtuzzo. </p>
    <p class="aa21"><strong>AskApache:</strong> ok.. so far so good. let me think a minute.</p>
    <p class="aa21"><strong>AskApache:</strong> what kind of failovers do you have? </p>
    <p class="aa21"><strong>AskApache:</strong> like if a machine fails to reboot or goes offline</p>
    <p><strong>Vish:</strong> we do not provide failover services for vpses at this time. You  will have power panel in hand using it you can reboot or reinstall your machine in one click. You can reach us 24*7 for live support.</p>
    <p class="aa21"><strong>AskApache:</strong> one problem that I&#39;ve seen on other vps&#39;s is sometimes a vps upon reboot fails to recognize the network interface/fails to connect to the web.. When that happens we are unable to ssh into the box to fix the problem and rely on support.. is this something that would be easy/normal for your support (to have to manually login to the vps locally)</p>
    <p><strong>Vish:</strong> There are the possiblities for the issue so we need to check in server but you can reach us anytime for live chat and ticket system.</p>
    <p><strong>Vish:</strong> as you are on live chat right now ;)</p>
    <p class="aa21"><strong>AskApache:</strong> so your support does have access to the vps locally? </p>
    <p class="aa21"><strong>AskApache:</strong> in case the network is down due to vps errors</p>
    <p><strong>Vish:</strong> Yes, We have the access</p>
    <p class="aa21"><strong>AskApache:</strong> do you run any packet filtering on the network or is this controlled solely with the vps?</p>
    <p class="aa21"><strong>AskApache:</strong> like iptables stuff.. switch/router filtering beyond defaults..</p>
    <p><strong>Vish:</strong> No , we dont have packet filtering the port we block is IRC only.</p>
    <p class="aa21"><strong>AskApache:</strong> great</p>
    <p><strong>Vish:</strong> I&#39;m sorry for the delay. I&#39;ll be right with you.</p>
    <p><strong>Vish:</strong> Is there anything else I may assist you with ?</p>
    <p class="aa21"><strong>AskApache:</strong> no problem, you&#39;ve answered all my questions so far.. trying to think of anything else I&#39;d like to know before buying.. </p>
    <p><strong>Vish:</strong> Sure</p>
    <p><strong>Vish:</strong> Is there anything else I can help you with ?</p>
    <p class="aa21"><strong>AskApache:</strong> Does the Linux-360 support filesystems? what storage devices are included (usually just 1 ext2/3/4 fs for vps).. Is it possible to repartition the drive? </p>
    <p class="aa21"><strong>AskApache:</strong> Oh and the other kernel module I would love to have on a vps is fuse so that I can mount remote filesystems (such as sshfs or nbd)</p>
    <p><strong>Vish:</strong> We do not provide kernel modules on VPS.</p>
    <p class="aa21"><strong>AskApache:</strong> do you allow kernel compilation? (that way i can build the module statically into the kernel) </p>
    <p><strong>Vish:</strong> A moment please.</p>
    <p><strong>Vish:</strong> We do not allow kernel compilation on VPS.</p>
    <p class="aa21"><strong>AskApache:</strong> ok, thats smart security</p>
    <p class="aa21"><strong>AskApache:</strong> what about the linux-360 partitioning question?</p>
    <p><strong>Vish:</strong> Thanks. :)</p>
    <p><strong>Vish:</strong> it is tmpfs on VPS</p>
    <p><strong>Vish:</strong> and we dot allow repartition.</p>
    <p class="aa21"><strong>AskApache:</strong> which is ultimately mounted on.. filesystems? like could I modify an ext3 / to ext4 or reiserfs?</p>
    <p class="aa21"><strong>AskApache:</strong> expected.. ok</p>
    <p><strong>Vish:</strong> No, it is vzfs</p>
    <p class="aa21"><strong>AskApache:</strong> even better.</p>
    <p class="aa21"><strong>AskApache:</strong> thats what i mostly use.</p>
    <p><strong>Vish:</strong> great</p>
    <p class="aa21"><strong>AskApache:</strong> What vps os install images do you use? like where do you get the CentOS/Ubuntu/Debian vps images? And are they modified/customized by you guys in any way?</p>
    <p class="aa21"><strong>AskApache:</strong> Or just all defaults?</p>
    <p><strong>Vish:</strong> they include basic services such as httpd, sendmail</p>
    <p class="aa21"><strong>AskApache:</strong> sorry for all the q&#39;s ... I wasn&#39;t thinking that I&#39;d actually find a good host to purchase, but so far tek is looking really good.. might go ahead within the hour.</p>
    <p><strong>Vish:</strong> otherwise default </p>
    <p><strong>Vish:</strong> We get it from parallels</p>
    <p><strong>Vish:</strong> Okay great.</p>
    <p><strong>Vish:</strong> Is there anything else I can help you with ?</p>
    <p class="aa21"><strong>AskApache:</strong> like: <a href="http://download.openvz.org/template/precreated/">http://download.openvz.org/template/precreated/</a></p>
    <p class="aa21"><strong>AskApache:</strong> do you use templates like that.. </p>
    <p><strong>Vish:</strong> We get it  from parallels</p>
    <p class="aa21"><strong>AskApache:</strong> how many employees do you have? how many customers? </p>
    <p><strong>Vish:</strong> Sorry, We do not disclose this information</p>
    <p class="aa21"><strong>AskApache:</strong> thats fine.. </p>
    <p><strong>Vish:</strong> For more you can contact sales department.</p>
    <p><strong>Vish:</strong> You are on technical department live chat.</p>
    <p class="aa21"><strong>AskApache:</strong> can you give me more info on what type of parallels products you utilize? </p>
    <p class="aa21"><strong>AskApache:</strong> I wouldn&#39;t last long on any other chat.. ;)</p>
    <p class="aa21"><strong>AskApache:</strong> I&#39;m curious so if it&#39;s a template/container I haven&#39;t used before I can test it out on my own machine.</p>
    <p><strong>Vish:</strong> We provide power panel from parallels</p>
    <p class="aa21"><strong>AskApache:</strong> i mean like the templates/container versions you use.. I want to check that you use updated/new versions and are valid licensed.</p>
    <p><strong>Vish:</strong> you mean OS version ?</p>
    <p class="aa21"><strong>AskApache:</strong> basically, do you know if you use the latest available os images from parallels.. </p>
    <p class="aa21"><strong>AskApache:</strong> and I will let you go with that.. </p>
    <p style="color:#ccc"><strong>info:</strong> Your chat transcript will be sent to your email at the end of your chat.</p>
    <p><strong>Vish:</strong> Yes , We do provide latest OS version as per requirement. </p>
    <p class="aa21"><strong>AskApache:</strong> thank you vish, you&#39;ve been most helpful. I am going to do a little more digging online about you guys and will probably be back with a couple questions.. cya around, have an awesome day</p>
</blockquote>
</div>

<h2>Hosts used by AskApache.com</h2>
<p><a rel="nofollow" href="http://www.wiredtree.com/298.html">WiredTree</a> is the main hosting company that I mainly use for this site and my business.  It took me 10+ years of trial and error before I found them, you can believe I will be posting alot more about them on this site, stay tuned.  I also use <a rel="nofollow" href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=askapache">HostGator</a>, and several other dependable nix hosts that are dirt cheap.</p>

<h2>Finding A Host</h2>
<p>I used to spend days and weeks googling for a host that wouldn't end up burning me later, oh that really sucked.  Now I use a site developed by a colleague of mine, <a href="http://www.webhostingsearch.com/">Web Hosting Search</a> as it lets me fairly quickly find a linux host with my bare requirements.  From THERE is when I start my own research.  This includes email and followups on the phone, visiting wiki's, googling owners, sneaking around in customer areas, etc..</p>



<h2>Who do you Use?</h2>
<p>I'd love to hear about anyone's experiences with specific hosts, recommendations especially!</p><p><a href="http://www.askapache.com/hosting/before-buying-web-hosting.html"></a><a href="http://www.askapache.com/hosting/before-buying-web-hosting.html">Questions I Ask Web Hosting Companies, Before Buying</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/hosting/before-buying-web-hosting.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>30x Faster Cache and Site Speed with TMPFS</title>
		<link>http://www.askapache.com/optimize/super-speed-secrets.html</link>
		<comments>http://www.askapache.com/optimize/super-speed-secrets.html#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:43:21 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Optimization]]></category>
		<category><![CDATA[tmpfs]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=3220</guid>
		<description><![CDATA[<p><a href="http://www.askapache.com/optimize/super-speed-secrets.html" id="id0"></a></p>
<p>NOT a typo..  30x is measurable, well-documented, and easily tested.  This is what <strong>open-source</strong> is about.   I haven’t had time to post much the past year, I'm always working!  So I wanted to make up for that by publishing an article on a topic that would blow your mind and be something that you could actually start using and really get some benefit out of it. This is one of those articles that the majority of web hosting companies would love to see in paperback, <strong>so they could burn it.</strong></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/optimize/super-speed-secrets.html"></a><a href="http://www.askapache.com/optimize/super-speed-secrets.html"><cite>AskApache.com</cite></a></p><p><a href="http://www.askapache.com/optimize/super-speed-secrets.html"><img src="http://uploads.askapache.com/2009/09/top.jpg" alt="Top showing swap and memory" title="Top showing swap and memory" width="434" height="52" class="size-full wp-image-3270" /></a></p>
<p>I haven't had time to post much the past year, so I wanted to make up for that by publishing an article on a topic that would blow your mind and be something that you could actually start using and really get some benefit out of it.  This is one of those articles that the majority of web hosting companies would love to see in paperback, <strong>so they could burn it</strong>.  Now ask yourself, if a webhost makes money based on how much memory, bandwidth, and data used by a customer, what would they not want their customers to do?  That's right, they do not want their customers to learn how to minimize and drastically reduce these moneymakers.  They get giddy when you complain about slow-site-speed, or that it takes a long time for your site to load, because they have exactly the right answer- upgrade your memory, bandwidth, and data by purchasing a more expensive plan.</p>


<p class="anote"><strong>WARNING</strong>!!  This article has some seriously advanced stuff in it, pretty far beyond my skill level as well (getting there).  I personally shutdown some of my own servers with various webhosts because of this.. Note I said personally, not intentionally.  Even after spending almost a year (this has been in my drafts folder a long time) using TMPFS on as many machines as I can, I still make mistakes (gotta pay attention!) and lose a tmpfs folder..   Oh and if you go experimenting with this stuff on your web host, you will almost definately, most certainly be on the road to getting your account terminated if you are with one of the cheap hosts.  They hate this stuff because it cuts right into the heart of their profit curves and can seriously disrupt a poorly configured machine.  DO NOT TRY THIS!!  (except and of course on your own development machines).   Of course the whole point of this article is how you can take advantage of this incredible filesystem to get crazy speed improvements..  Those are the follow up articles ;)</p>

<p>For those of you who thought modifying your server httpd.conf and htaccess files is very dangerous, you are right.  But this is not like that, this is dangerous in the sense that if you try to rush through with your super amazing "copy and paste skills" (script kids) you will easily lose entire folders.  That's because TMPFS is stored in RAM/Memory, and upon reboot RAM is cleared.  I personally loathe disclaimers, and if you look around you will see there aren't many even with all my sloppy poorly documented articles...  So be careful if you feel up to going further.</p>

<h2>Introducing tmpfs</h2>
<p>If I had to <strong>explain tmpfs</strong> in one breath, I'd say that tmpfs is like a ramdisk, but different. Like a ramdisk, tmpfs can use your RAM, but it can also use your swap devices for storage. And while a traditional ramdisk is a block device and requires a mkfs command of some kind before you can actually use it, tmpfs is a filesystem, not a block device; you just mount it, and it's there. All in all, this makes tmpfs the niftiest RAM-based filesystem I've had the opportunity to meet.</p>


<h2>Beware of WebHosts</h2>
<p>What is a modern day web hosting company?  What costs do they actually have?  A webhost's only unique ability is their connection to the Internet.  That is why you can see such tremendous link speed.  Other than that they consist of servers that are getting smaller and cheaper for them every month.  The servers they use are generally just like any computer, except much larger and built specifically for multi-tasking.</p>
<blockquote cite="http://content.dell.com/us/en/enterprise/virtualization-what-is-it.aspx">
<p>Virtualization allows you to run multiple applications and operating systems independently on a single server. Additionally, administrators can quickly move workloads from one virtual workspace to another — easily prioritizing business needs while maximizing server resources....</p>
<p>Virtualization removes the limitations of the traditional IT approach, enabling <strong>a single PowerEdge server</strong> to operate <strong>multiple applications simultaneously in "virtual machines"</strong></p>
</blockquote>



<h2>Hosting Company Tricks</h2>
<p>Web hosts like to vaguely describe their products as if you are buying your own powerful machine, but in reality you get placed on the same machine as hundreds or thousands of other customers, and the server basically creates an operating system for each customer using virtualization technology.  Everyone on the machine literally is sharing the same RAM and resources, many times even sharing IP address's, and the virtualization software lets them limit the amount of memory / cpu / disk / and bandwidth for each of these virtual machines.  That is why so often when a web host has an outage they make big public announcements and it appears that hundreds or thousands of their customers have been affected.. One of their server farm machines goes offline and it literally takes down all the customers virtualized machines with it.</p>

<h3>Why it gets Evil</h3>
<p>Don't get me wrong, I absolutely love this technology, both the hardware virtualization and the software side, but what I truly do not appreciate is how these companies take advantage of their customers every day and know it.  Here's what they do, they make justifications about why one plan costs more than another, and these justifications are always about the same thing:  CPU's, how fast the data can crunch..  RAM/Memory: How fast and how much your server can handle in terms of traffic... Disk Usage:  How much storage you have... And finally bandwidth: How fast can people get data off your sites, and how many people can connect.</p>
<p>Now lets think for a second.  The webhost has a BIG computer/server/machine that has MASSIVE amounts of RAM, DISK, PROCESSING power, and NETWORK bandwidth.. but just like anything they all have limits.   So if this machine has 10GB of RAM, and the webhost offered plans that have 1GB of RAM, then on that machine they can only have 10 customers right?  WRONG.  If each customer pays $100/month, then of course they would love to have as many customers on that machine as possible.  This builtin incentive is just the reality and isn't anyone fault.</p>

<h3>Where it gets Evil</h3>
<p>Here's what goes on.. all the host advertises is the 1GB of guaranteed RAM with your machine, but for even if the web server was fairly busy it would never use all of that ram because all the software is careful not to use too much, or has no need for any RAM.  Runtime libraries and internal caches use ram, but it's not directly accessed by the customer, only the software.   What happens is when those 10 customers aren't using 100% of their ram, which never happens, then the virtualization technology can use that RAM elsewhere.  So technically you do have 1GB of RAM available, but if you aren't using it then it is essentially FREE RAM that they can sell to another customer.  The only way this wouldn't work of course is if all 11 customers somehow used 100% of RAM simultaneously, at that point the 11th customer would be ramless.  But that is impossible because the system is a load-balancing system that provides both an upper and a lower limit to how much RAM is allotted to each virtual machine.</p>
<p>It sounds unrealistic but I see server farms all the time that are stuffed full of virtual machines, like situations where there are 100 1GB customers all sharing 10GB of RAM..  no-one uses the whole 1GB allotted to them as the maximum amount they can use, and they don't know because it appears they have a lot of free RAM, but really that is virtual RAM and could be used by anyone else on the machine.</p>

<h3>Where it gets Fun (for me)</h3>
<p><a class="IFL" href="http://www.askapache.com/linux/bash-power-prompt.html"><img src="http://uploads.askapache.com/2010/03/askapache-htop.jpg" alt="The HTOP command in full color to manage mysql" title="The HTOP command in full color to manage mysql" width="404" height="176" class="size-full wp-image-4149" /></a>This is actually even worse for anyone who is using what they call "shared-hosting" which is the budget hosting that is the most common.  With shared-hosting there is actually some skill involved on the hosting companies part, like real linux skills.  In this setup they may or more often may not use any virtualization software.  It's just a vanilla multi-user server machine where each customer gets a restricted unix account that powers their website using the same system as thousands of others on the box.  This is usually dirt cheap because it costs so little to do, but alot of companies charge outrageous amounts for shared-hosting because they make it look really full-featured, which it can be, they just don't mention 1000 other people use the same machine, hard-drive, /tmp directory, network device, IP address, etc..  Alot of the times the cheaper end of the spectrum is where the most gifted system administrators are located, they are so good with linux administration that they could fit 10 customers and 100 websites on an XBOX converted to run linux, and you'd think you got a great deal until you found out! lol.  Anyone alive is able to buy more hardware to expand their capacity to take on more customers,  but it takes a lot of knowhow and real skill to have that many users on 1 machine.  I've seen pretty extreme cases that are analogous to the XBOX example (which is possible by the way).<br class="C" /></p>
<p>I personally love shared-hosting environments, because for those of us who know almost as much or more than the system administrators running the machine we are able to use a disproportionate (legally) amount of the CPU and RAM available on the system.  So for example my sites would  all show up fast and be able to handle more traffic than several other customers combined.  Not because
anything has been circumvented, but because I am able to access and utilize as much of the guaranteed 1GB of RAM that I am paying for every month, which is usually just a few bucks.  The downside is that when you have corporate sites or really high-traffic sites then you are forced to move to a more powerful machine..  </p>
<p>This leads to a familiar situation for some of you..  When your site starts becoming popular and you are getting a lot of traffic, this means that your site could be using 10x the amount of RAM and Bandwidth of any other customer in that server farm.  And what that really means to the webhost is that you are costing them 10x what anyone else is..  And if they removed you, they would have the space for 10 new customers to take your place, and they would make 10x more money.  DreamHost is notorious for terminating accounts because of that..  It happened to me except I was given the option to pay 5x more a month for their "upgrade" to a VPS.  Giant shared-hosts advertise like crazy how they offer unlimited bandwidth, but <strong>when you start using 100x more bandwidth than anyone on your server you are costing them 100x what you are paying them, every month</strong>.  That's why you will never see a webhost offering this kind of unlimited bandwidth that doesn't require you to sign a contract giving them permission to terminate your account <em>for any reason</em>.  Seriously read the fine print at DreamHost or anywhere else, it's included because that is a core part of their business to terminate anyone using too much bandwidth since that is bandwidth they can't sell to dozens of other customers.  That's why I eventually closed my account with them and moved to a legitimate company, it's a great host for spammers though.</p>

<p>Back in the mid-90's I was doing a lot of war-dialing with my modem and discovering all sorts of networks and machines, many of them were Unix and Solaris based public systems, and when I managed to gain access to the system and found myself staring at a unix shell I was very excited but also a total idiot.  In those days of using the phone networks to research unknown systems it was very difficult for anyone to actually get the phone company to trace a call, so instead of what happens today where it is child's play to trace an IP address, back then it was a very real back-and-forth battle between the system admin and whoever was gaining access to their system.  Essentially, I would gain a shell or some kind of terminal, and just go at it trying to figure out what it could do, trying all kinds of commands.  Inevitably this would eventually alert even the laziest admin and they would proceed to attempt to lock me out. It was great sport and extremely addictive.  When my favorite system (a massive sun machine in the basement of a big library) finally locked me out and I couldn't get back in I went to my local library and got some reading material -- one of my favorites was the red hat bible.  I was able to acquire my own computer and the first thing I did was install red hat linux onto it from the discs included with the book.  For the next several years I was essentially offline, all we had at home was a modem and it was becoming difficult to locate any more systems in my area code.. I was into phreaking of course as well, but I never was able to make free long-distance war-dialing a reality.  So I just read the books and learned what I could.  I would also goto the library when I could in order to use their machines which were connected to the internet (before aol it was much different than today's internet) and since my time was short I would download as many documents as I could so that I could read them offline.  The TLDP documentation that we know today was around back then in various forms, and I read every HOWTO in the index, though not understanding half.  The other big resource I found for really intense reading was the <a href="http://www.kernel.org/doc/Documentation/">kernel documentation</a>, which admitedly I still don't comprehend 1/4th of..   I try and peruse all the new documents when a new kernel is released, since the kernel is where all the real action is, hence the military authoritative name, and that is how I discovered one of the coolest features of Linux that I have found.  TMPFS!</p>



<h2>TMPFS kills the RAMDISK</h2>
<p>Ok so we all know what RAM is, it's the memory cards that most people never see that is used by the computer to store and access data that all programs need.  RAM is very expensive compared to most PC components, because it's what makes a computer blazing fast or slow.  So real quick lets look at a few (there are not many) ways that various linux hackers use RAM in non-conventional ways in the past.</p>
<p>Tmpfs is a file system which keeps all files in virtual memory.  Everything is temporary in the sense that no files will be created on your hard drive. If you reboot, everything in tmpfs will be lost.</p>
<p>In contrast to RAM disks, which get allocated a fixed amount of physical RAM, tmpfs grows and shrinks to accommodate the files it contains and is able to swap unneeded pages out to swap space.</p>
<p>Like a ramdisk, tmpfs can use your RAM, but it can also use your swap devices for storage. And while a traditional ramdisk is a block device and requires a mkfs command of some kind before you can actually use it, tmpfs is a filesystem, not a block device; you just mount it, and it's there. All in all, this makes tmpfs the niftiest RAM-based filesystem I've had the opportunity to meet.</p>
<p>If I had to <strong>explain tmpfs</strong> in one breath, I'd say that tmpfs is like a ramdisk, but different. Like a ramdisk, tmpfs can use your RAM, but it can also use your swap devices for storage. And while a traditional ramdisk is a block device and requires a mkfs command of some kind before you can actually use it, tmpfs is a filesystem, not a block device; you just mount it, and it's there. All in all, this makes tmpfs the niftiest RAM-based filesystem I've had the opportunity to meet.</p>
<br class="C" />




<p>What kind of filesystem is used on your server to store all your site files?  EXT4, REISERFS, EXT3, NFS, etc.. are the usual filesystems, Windows users are limited to the NTFS filesystem.   A filesystem is different than a device, a device is a hard-drive disk.  A filesystem is how the device is formatted to allow for file and folder structures.  A hard drive is slow compared to RAM, no question about that.  So what if instead of your server serving files off a hard-drive it served files stored in RAM?  <strong>30x faster thats what happens!</strong></p>
<p class="wnote">I just figured out how to store my cached static files created by WP-Super Cache in my server's RAM, and the difference is unbelievable.  My "AskApache Crazy Cache" plugin basically forces WP-Super Cache, Hyper Cache, etc.. to recreate a static cached file for every page on a blog.  For the AskApache.com site this takes around 3 minutes to complete.  Once I switched to using this new method of storing the files on RAM I am able to re-cache the entire site in about 15 seconds!!!!</p>


<p class="wnote">tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files</p>


<blockquote cite="">
<p>Tmpfs is a file system which keeps all files in virtual memory.</p>
<p>Everything in tmpfs is temporary in the sense that no files will be created on your hard drive. If you unmount a tmpfs instance, everything stored therein is lost.</p>
<p>tmpfs puts everything into the kernel internal caches and grows and shrinks to accommodate the files it contains and is able to swap unneeded pages out to swap space. It has maximum size limits which can be adjusted on the fly via 'mount -o remount ...'</p>
<p>If you compare it to ramfs (which was the template to create tmpfs) you gain swapping and limit checking. Another similar thing is the RAM disk (/dev/ram*), which simulates a fixed size hard disk in physical RAM, where you have to create an ordinary filesystem on top. Ramdisks cannot swap and you do not have the possibility to resize them.</p>
<p>Since tmpfs lives completely in the page cache and on swap, all tmpfs pages currently in memory will show up as cached. It will not show up as shared or something like that. Further on you can check the actual RAM+swap use of a tmpfs instance with df(1) and du(1).</p>
</blockquote>

<p>Both tmpfs and ramfs mount will give you the power of fast reading and writing files from and to the primary memory. When you test this on a small file, you may not see a huge difference. You’ll notice the difference only when you write large amount of data to a file with some other processing overhead such as network.</p>




<h2>TMPFS uses RAM+SWAP</h2>
<p>TMPFS is another filesystem with uniquely cool capabilities.  It stores any files contained within it on RAM and in SWAP which means your server can access any files stored on TMPFS without even having to access the disk, which according to technical stats is around 30 times faster than accessing a file off disk.</p>
<p>Some other cool aspects of TMPFS are that it intelligently and automatically sizes itself to be just alittle bigger then it needs to be.  So when you remove files to a folder stored on a TMPFS filesystem, the TMPFS filesystem shrinks by allocating less RAM and/or SWAP.  Conversely when adding files to TMPFS it grows larger.  You can set the max-size and max-number-of-files as a mount option to make sure your TMPFS never uses all of the available RAM and SWAP, which would halt your server.</p>

<h3>Swap</h3>
<p>Find the swap size.</p>
<pre>
# free -m -t
             total       used       free     shared    buffers     cached
Mem:           458         93        364          0          0          0
-/+ buffers/cache:         93        364
Swap:          900          0        900
Total:        1358         93       1264
</pre>

<pre>
Adding 3004144k swap on /dev/sdb2.  Priority:-1 extents:1 across:3004144k
Adding 2096472k swap on /dev/sda3.  Priority:-2 extents:1 across:2096472k
</pre>

<h2>Using TMPFS for Cache</h2>
<p>The method here will show how to create and use a TMPFS filesystem to hold all the static files created by WP-Super Cache.  These static files are served to visitors instead of loading php for every request, so by moving those static files to TMPFS your server will be able to access and start sending your site to the browser 30x faster!</p>
<p>The WP-Super Cache plugin stores all the static files in the wp-content/cache folder of your WordPress installation, so to enable TMPFS we simply will create a new TMPFS filesystem and mount it to the wp-content/cache folder.  That makes anything in that folder (all the static files) be part of the TMPFS filesystem.</p>


<h2>Boosting Cache with TMPFS</h2>
<p>There are a lot of maybe new concepts surrounding TMPFS and it may seem too complicated, but the process of actually setting up a robust tmpfs to use for wp-super-cache's cache folder is actually very simple.  As long as you have shell access to your server and the permissions required (any sudo or private server should be good to go) you can set this up in a couple minutes and not really have to give it a second thought or debug anything.  Here's the process I've used on several client sites.</p>
<ol>
<li>Create a TMPFS Filesystem and Mount at /wp-content/cache/</li>
<li>Restore TMPFS Cached Files across Reboots</li>
<li>Keep a semi-current mirror of the TMPFS files on Disk</li>
</ol>
<br class="C" />

<h3>Create TMPFS at wp-content/cache</h3>
<p>/etc/fstab</p>
<pre>tmpfs /home/askapache/wp-content/cache tmpfs defaults,size=2g,noexec,nosuid,uid=648,gid=648,mode=1755 0 0</pre>


<h3>Restoring TMPFS across Reboots</h3>
<p>In /etc/rc.local</p>
<pre>
ionice -c3 -n7 nice -n 19 rsync -ahv --stats --delete /_b/tmpfs/cache/ /home/askapache/wp-content/cache/ 1&gt;/dev/null
</pre>

<h3>Mirroring TMPFS to Disk</h3>
<p>Cronjob entry</p>
<pre>
*/5 * * * * /usr/bin/ionice -c3 -n7 /bin/nice -n 19 /usr/bin/rsync -ah --stats --delete /home/askapache/wp-content/cache/ /_b/tmpfs/cache/ 1&gt;/dev/null
</pre>






<span id="more-3220"></span>
<h2>/tmp, /var/run, and /var/lock</h2>
<p>The directories /tmp, /var/run, and /var/lock contain files that are not needed across reboots.  This means they are ideal candidates for tmpfs.  HEre's how to do it.</p>
<pre>tmpfs /var/run tmpfs defaults,rw,nosuid,mode=0755 0 0</pre>
<pre>tmpfs /var/lock tmpfs defaults,rw,noexec,nosuid,nodev,mode=1777 0 0</pre>

<h2>Resize /dev/shm</h2>
<p>You can view your current /dev/shm size with the command <code>df -ha|grep /dev/shm</code> then if you want to resize that use the command:</p>
<pre>mount -t tmpfs -o remount,size-2G,rw,nosuid,nodev tmpfs /dev/shm</pre>

<pre>
Secure /dev/shm:
&nbsp;
Step 1: Edit your /etc/fstab:
&nbsp;
nano -w /etc/fstab
&nbsp;
Locate:
&nbsp;
none /dev/shm tmpfs defaults,rw 0 0
&nbsp;
Change it to:
&nbsp;
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
&nbsp;
Step 2: Remount /dev/shm:
&nbsp;
mount -o remount /dev/shm
&nbsp;
guilt makes extensive use of the &#039;$$&#039; shell variable for temporary
files in /tmp. This is a serious security vulnerability; on multi-user
systems it allows an attacker to clobber files with something like the
following:
&nbsp;
for i in `seq 1 32768`; do
ln -sf /etc/passwd /tmp/guilt.log.$i;
done
&nbsp;
(In this example, if root does e.g. &#039;guilt push&#039;, /etc/passwd will get
clobbered.)
</pre>
<br class="C" />


<h3>Securing and Using /tmp</h3>
<ul>
<li><a href="http://www.sysadmin.md/secure-temporary-folders-on-existing-unix-or-linux-systems.html">Secure temporary folders on existing Unix or Linux systems</a></li>
<li><a href="https://wiki.torproject.org/noreply/TheOnionRouter/OperationalSecurity">Encrypt Storage and Swap Space</a></li>
</ul>










<p><a id="tmpfs-mount"></a></p>
<h2>tmpfs mount parameters</h2>
<p>A good way to find a good tmpfs upper-bound is to use top to monitor your system's swap usage during peak usage periods. Then, make sure that you specify a tmpfs upper-bound that's slightly less than the sum of all free swap and free RAM during these peak usage times. </p>
<p><strong>mode=1777</strong> sets sticky bit on directory. Only file owners can delete files in this directory.</p>
<p>The following parameters accept a suffix k, m or g for Ki, Mi, Gi (binary kilo, mega and giga) and can be changed on remount.</p>
<ul>
<li><strong>size</strong>:  Override default maximum size of the filesystem.  The size is given in bytes, and rounded down to entire pages.  The default is half of the memory.The limit of allocated bytes for this tmpfs instance. The default is half of your physical RAM without swap. If you oversize your tmpfs instances the machine will deadlock since the OOM handler will not be able to free that memory.</li>
<li><strong>nr_inodes</strong>:  Set number of inodes.</li>
<li><strong>nr_blocks</strong>:  Set number of blocks.</li>
<li><strong>mode</strong>: The permissions as an octal number</li>
<li><strong>uid</strong>: The user id</li>
<li><strong>gid</strong>: The group id</li>
</ul>
<pre>mount -t tmpfs -o size=10G,nr_inodes=10k,mode=700 tmpfs /mytmpfs</pre>
<p>Will give you tmpfs instance on /mytmpfs which can allocate 10GB RAM/SWAP in 10240 inodes and it is only accessible by root.</p>









<p><a id="tmp-tmpfs"></a></p>
<h2>Using tmpfs for /tmp storage</h2>
<p>Many users find it very convenient to use tmpfs for /tmp and /var/tmp which does a number of positive things.  Any temporary files are instead created in RAM not your hard-drive, which means that reading/writing/accessing those temporary files by various processes doesn't slow down your hard-drive read/writes/accesses for your other processes.  This also has a side-effect of making your hard-drive have a longer life as it reduces activity by a huge amount.</p>
<p>Remember that tmpfs uses both RAM and swap, so make sure your machine has a large swapfile, like gigabytes.  If your tmpfs consumes all the swap and RAM then you are screwed, so make sure that you correctly set the mount options for the tmpfs so that it doesn't do that.  If your /tmp or /var/tmp gets filled with tmp files that for some reason don't get deleted except at reboot, and your machine has a very high uptime, then you will want to run some cron jobs to periodically clean the /tmp and /var/tmp directories of older files...</p>

<p>Here's an example scenario: let's say that we have an existing filesystem mounted at /tmp. However, we decide that we'd like to start using tmpfs for /tmp storage.</p>
<p>with recent 2.4 kernels, you can mount your new /tmp filesystem without getting the "device is busy" error: </p>
<pre>mount tmpfs /tmp -t tmpfs -o size=64m</pre>
<p>With a single command, your new tmpfs /tmp filesystem is mounted at /tmp, on top of the already-mounted partition, which can no longer be directly accessed. However, while you can't get to the original /tmp, any processes that still have open files on this original filesystem can continue to access them. And, if you umount your tmpfs-based /tmp, your original mounted /tmp filesystem will reappear. In fact, you can mount any number of filesystems to the same mountpoint, and the mountpoint will act like a stack; unmount the current filesystem, and the last-most-recently mounted filesystem will reappear from underneath.</p>







<p><a id="bind-mounts"></a></p>
<h2>Bind Mounts</h2>
<p>Using bind mounts, we can mount all, or even part of an already-mounted filesystem to another location, and have the filesystem accessible from both mountpoints at the same time!</p>
<p>For example, you can use bind mounts to mount your existing /tmp filesystem to /sites/askapache.com/tmp, as follows:</p>
<pre>mount --bind /tmp /sites/askapache.com/tmp</pre>
<p>Now, if you look inside /sites/askapache.com/tmp, you'll see your /tmp filesystem and all its files. And if you modify a file on your /tmp filesystem, you'll see the modifications in /sites/askapache.com/tmp as well. This is because <strong>they are one and the same filesystem; the kernel is simply mapping the filesystem to two different mountpoints for us</strong>. </p>
<p>Note that when you mount a filesystem somewhere else, any filesystems that were mounted to mountpoints inside the bind-mounted filesystem will not be moved along. In other words, if you have /tmp/cache on a separate filesystem, the bind mount we performed above will leave /sites/askapache.com/tmp/cache empty. You'll need an additional bind mount command to allow you to browse the contents of /tmp/cache at /sites/askapache.com/tmp/cache:</p>
<pre>mount --bind /tmp/cache /sites/askapache.com/tmp/cache</pre>

<h3>Bind mounting and /dev/shm</h3>
<p>glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for POSIX shared memory (shm_open, shm_unlink). Adding the following line to /etc/fstab should take care of this:</p>
<pre>tmpfs  /dev/shm  tmpfs  defaults  0 0</pre>

<p>Many systems by default have a tmpfs filesystem mounted at /dev/shm that defaults to a size of half of your physical RAM without swap.  Say you decide that you'd like to start using tmpfs for /tmp, which currently lives on your root filesystem. Rather than mounting a new tmpfs filesystem to /tmp (which is possible), you may decide that you'd like the new /tmp to share the currently mounted /dev/shm filesystem. However, while you could bind mount /dev/shm to /tmp and be done with it, your /dev/shm contains some directories that you don't want to appear in /tmp. So, what do you do? How about this:</p>



<pre>
mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp
</pre>

<p>In this example, we first create a /dev/shm/tmp directory and then give it 1777 perms, the proper permissions for /tmp. Now that our directory is ready, we can mount /dev/shm/tmp, and only /dev/shm/tmp to /tmp. So, while /tmp/foo would map to /dev/shm/tmp/foo, there's no way for you to access the /dev/shm/bar file from /tmp.</p>
<br class="C" />









<p><a id="default-tmpfs-workaround"></a></p>
<h2>/etc/default/tmpfs WorkAround</h2>
<pre>
$ cat /etc/default/tmpfs
# SHM_SIZE sets the maximum size (in bytes) that the /dev/shm tmpfs can use.
# If this is not set then the size defaults to the value of TMPFS_SIZE
# if that is set; otherwise to the kernel&#039;s default.
#
# The size will be rounded down to a multiple of the page size, 4096 bytes.
SHM_SIZE=524288000
# TMPFS_SIZE sets the max size that /dev/shm can use.  By default, the
# kernel sets this upper limit to half of available memory.
TMPFS_SIZE=524288000
</pre>




<p><a id="rsync-vs-cp"></a></p>
<h2>RSYNC vs. CP</h2>
<pre>
rsync [options]  SRC DEST
rsync -av --delete --stats /home/wincom/public_html/wp-content/cache/ /backups/tmp-mnt/cache/
-a, --archive               archive mode; same as -rlptgoD (no -H)
-r, --recursive             recurse into directories
-l, --links                 copy symlinks as symlinks
-p, --perms                 preserve permissions
-t, --times                 preserve times
-g, --group                 preserve group
-o, --owner                 preserve owner (super-user only)
-D                          same as --devices --specials
    --devices               preserve device files (super-user only)
    --specials              preserve special files
 -h, --human-readable        output numbers in a human-readable format
     --progress              show progress during transfer
</pre>




<p><a id="mount-options"></a></p>
<h2>Mount Options</h2>
<p>The following options apply to any file system that is being mounted (but not every file  system  actually honors them)</p>
<ul>
<li><code>async</code> All I/O to the file system should be done asynchronously.</li>
<li><code>atime</code> Update inode access time for each access. This is the default.</li>
<li><code>auto</code> Can be mounted with the -a option.</li>
<li><code>defaults</code> Use default options: rw, suid, dev, exec, auto, nouser, and async.</li>
<li><code>dev</code> Interpret character or block special devices on the file system.</li>
<li><code>exec</code> Permit execution of binaries.</li>
<li><code>group</code> Allow an ordinary (i.e., non-root) user to mount the file system if one of his groups matches the group of the device.  This option implies the options nosuid and nodev (unless overridden by subsequent options, as in the option line group,dev,suid).</li>
<li><code>mand</code> Allow mandatory locks on this filesystem. See fcntl(2).</li>
<li><code>_netdev</code> The filesystem resides on a device that requires network access (used to prevent the system from attempting to mount these filesystems until the network has been enabled on the system).</li>
<li><code>noatime</code> Do not update inode access times on this file system (e.g, for faster access on the news spool to speed up news servers).</li>
<li><code>nodiratime</code> Do not update directory inode access times on this filesystem.</li>
<li><code>noauto</code> Can only be mounted explicitly (i.e., the -a option will not cause the file system to be mounted).</li>
<li><code>nodev</code> Do not interpret character or block special devices on the file system.</li>
<li><code>noexec</code> Do not allow direct execution of any binaries on the mounted file system.  (Until recently it was possible to run binaries anyway using a command like /lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)</li>
<li><code>nomand</code> Do not allow mandatory locks on this filesystem.</li>
<li><code>nosuid</code> Do not allow set-user-identifier or set-group-identifier bits to take effect. (This seems safe, but is in fact rather unsafe if you have suidperl(1) installed.)</li>
<li><code>nouser</code> Forbid an ordinary (i.e., non-root) user to mount the file system.  This is the default.</li>
<li><code>owner</code> Allow an ordinary (i.e., non-root) user to mount the file system if he is the owner of the device.  This option implies the options nosuid and nodev (unless overridden by subsequent options, as in the option line owner,dev,suid).</li>
<li><code>remount</code> Attempt to remount an already-mounted file system.  This is commonly used to change the mount flags for a file system, especially to make a readonly file system writeable. It does not change device or mount point.</li>
<li><code>ro</code> Mount the file system read-only.</li>
<li><code>_rnetdev</code> Like _netdev, except "fsck -a" checks this filesystem during rc.sysinit.</li>
<li><code>rw</code> Mount the file system read-write.</li>
<li><code>suid</code> Allow set-user-identifier or set-group-identifier bits to take effect.</li>
<li><code>sync</code> All I/O to the file system should be done synchronously. In case of media with limited number of write cycles (e.g. some flash drives) "sync" may cause life-cycle shortening.</li>
<li><code>dirsync</code> All directory updates within the file system should be done synchronously.  This affects the following system calls: creat, link, unlink, symlink, mkdir, rmdir, mknod and rename.</li>
<li><code>user</code> Allow  an ordinary user to mount the file system.  The name of the mounting user is written to mtab so that he can unmount the file system again.  This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line user,exec,dev,suid).</li>
<li><code>users</code> Allow every user to mount and unmount the file system.  This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line users,exec,dev,suid).</li>
</ul>



<p><a id="filesystems"></a></p>
<h2>Filesystems</h2>
<p>You can find out what is filesystems are in place by using one of the following linux commands:</p>
<pre>
cat /etc/fstab
cat /etc/mtab
cat /proc/mounts
df -a
</pre>
<h2>/etc/fstab</h2>
<pre>
       /etc/fstab        file system table
       /etc/mtab         table of mounted file systems
       /etc/mtab~        lock file
       /etc/mtab.tmp     temporary file
       /etc/filesystems  a list of filesystem types to try
</pre>

<p>From /etc/mtab</p>
<pre>none /tmp tmpfs size=128m,mode=1777 0 0</pre>

<p>From /proc/mounts</p>
<pre>none /tmp tmpfs rw,nodev,relatime,size=131072k 0 0</pre>






<br class="C" />
<p><a id="fstab"></a></p>
<h2>/etc/fstab</h2>
<p>It is possible that files /etc/mtab and /proc/mounts don’t match. The first file is based only on the mount command options, but the content of the second file also depends on the kernel and others settings (e.g.  remote NFS server. In particular case  the  mount  command  may reports unreliable information about a NFS mount point and the /proc/mounts file usually contains more reliable information.)</p>
<p>This file is used in three ways:</p>
<ol>
<li>The following command (usually given in a bootscript) causes all file systems mentioned in fstab (of the proper type and/or having or not having the proper options) to be mounted as indicated, except for those whose line contains the noauto keyword. Adding the -F option will  make  mount  fork,  so that the filesystems are mounted simultaneously.<pre>mount -a [-t type] [-O optlist]</pre></li>
<li>When mounting a file system mentioned in fstab, it suffices to give only the device, or only the mount point.</li>
<li>Normally, only the superuser can mount file systems.  However, when fstab contains the user option on a line, anybody can mount the corresponding system.</li>
</ol>
<p>The programs mount and umount maintain a list of currently mounted file systems in the file /etc/mtab.</p>
<p>Only the user that mounted a filesystem can unmount it again.  If any user should be able to unmount, then use users instead of user in the fstab line.  The owner option is similar to the user option, with the restriction that the user must be the owner of the special file.  The group option is similar, with the restriction that the user must be member of the group of the special file.</p>
<p>The order of records in fstab is important because fsck(8), mount(8), and umount(8) sequentially iterate through fstab doing their thing.</p>
<h3>The first field, (fs_spec)</h3>
<p>Describes the block special device or remote filesystem to be mounted.  For ordinary mounts it will hold (a link to) a block special device node (as created by mknod(8)) for the device to be mounted, like ‘/dev/cdrom’ or ‘/dev/sdb7’.  For NFS mounts one will have <code>&lt;host&gt;:&lt;dir&gt;</code>, e.g., ‘knuth.aeb.nl:/’.  For procfs, use ‘proc’.</p>
<p>Instead of giving the device explicitly, one may indicate the (ext2 or xfs) filesystem that is to be mounted by its UUID or volume label (cf.  e2label(8) or xfs_admin(8)), writing LABEL=<label> or UUID=<uuid>, e.g., ‘LABEL=Boot’ or  ‘UUID=3e6be9de-8139-11d1-9106-a43f08d823a6’.  This will make the system more robust: adding or removing a SCSI disk changes the disk device name but not the filesystem volume label.</p>
<h3>The second field, (fs_file)</h3>
<p>Describes the mount point for the filesystem.  For swap partitions, this field should be specified as ‘none’. If the name of the mount point contains spaces these can be escaped as ‘\040’.</p>
<p>The  third  field,  (fs_vfstype),  describes the type of the filesystem.  Linux supports lots of filesystem types, such as adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, and possibly others. For more details, see mount(8).  <strong>For the filesystems currently supported by the running kernel, see /proc/filesystems</strong>.  An entry swap denotes  a  file  or  partition  to  be  used  for  swapping,  cf.  swapon(8).  An entry ignore causes the line to be ignored.  This is useful to show disk partitions which are currently unused.</p>
<h3>The fourth field, (fs_mntops)</h3>
<p>Describes the mount options associated with the filesystem.  It  is formatted as a comma separated list of options.  It contains at least the type of mount plus any additional options appropriate to the filesystem type.  For documentation on the available options for non-nfs file systems, see mount(8).  For documentation on all nfs-specific options have a look at nfs(5).</p>
<p>Common for all types of file system are the options:</p>

<ul>
<li><strong>noauto</strong>: (do not mount when "mount -a" is given, e.g., at boot time)</li>
<li><strong>user</strong>: (allow a user to mount)</li>
<li><strong>owner</strong>: (allow device owner to mount)</li>
<li><strong>pamconsole</strong>: (allow a user at the console to mount)</li>
<li><strong>comment</strong>: (e.g., for use by fstab-maintaining programs).</li>
</ul>
<h3>The fifth field, (fs_freq)</h3>
<p>Used for these filesystems by the dump(8) command to determine which filesystems need to be dumped.  If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be dumped.</p>
<h3>The  sixth  field,  (fs_passno)</h3>
<p>Used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time.  The root filesystem should be specified with a fs_passno of 1, and other filesystems should have a fs_passno of 2.  Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware.  If the sixth field is not present or zero, a value of zero is returned and <strong>fsck will assume that the filesystem does not need to be checked</strong>.








<h3>More Reading</h3>
<ul>
<li><a href="http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/">Overview of RAMFS and TMPFS on Linux</a></li>
<li><a href='http://uploads.askapache.com/2009/09/ramfs-rootfs-initramfs.txt'>ramfs, rootfs and initramfs</a></li>
<li><a href='http://uploads.askapache.com/2009/09/tmpfs.txt'>Tmpfs is a file system which keeps all files in virtual memory</a></li>
<li><a href="http://www.ibm.com/developerworks/library/l-fs3.html">IBM: Advanced filesystem implementor's guide, Part 3</a></li>
<li><a href="http://en.wikipedia.org/wiki/TMPFS">TMPFS Wikipedia Entry</a></li>
<li><a href="http://en.wikipedia.org/wiki/Shared_memory">Shared Memory</a></li>
<li><a href="http://kevin.vanzonneveld.net/techblog/article/create_turbocharged_storage_using_tmpfs/">Create turbocharged storage using tmpfs</a></li>

<li><a href="http://dev.mysql.com/doc/refman/4.1/en/temporary-files.html">Where MySQL Stores Temporary Files</a></li>
<li><a href="http://www.linuxized.com/2009/05/speeding-up-firefox-with-tmpfs-and-automatic-rsync/">speeding up firefox with tmpfs and automatic rsync</a> <a href="http://www.linuxized.com/wp-content/uploads/2009/05/speedfox">(shell-script)</a> <a href="http://autoverse.net/blog/2009/apr/23/speed-firefox/">Original</a></li>
<li><a href="http://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt">kernel documentation for tmpfs</a></li>
<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=386368">initscripts: please don't mount /dev/shm noexec</a></li>
<li><a href="http://forums.debian.net/viewtopic.php?t=16450">HOWTO: Using tmpfs for /tmp, /var/{log,run,lock...}</a></li>
<li><a href="http://forums.gentoo.org/viewtopic-t-371889-highlight-tmpfs.html">Gentoo Forums: Using tmpfs for /var/{log,lock,...}</a></li>
<li><a href="http://forums.gentoo.org/viewtopic-t-717117-highlight-tmpfs.html">[TIP] Firefox and tmpfs: a surprising improvement</a></li>
</ul>

<blockquote cite="http://openquery.com/blog/experiment-mysql-tmpdir-on-tmpfs">
<cite><a href="http://openquery.com/blog/experiment-mysql-tmpdir-on-tmpfs">Experiment: MySQL tmpdir on tmpfs</a></cite>
<p>In MySQL, the tmpdir path is mainly used for disk-based sorts (if the sort_buffer_size is not enough) and disk-based temp tables. The latter cannot always be avoided even if you made tmp_table_size and max_heap_table_size quite large, since MEMORY tables don’t support TEXT/BLOB type columns, and also since you just really don’t want to run the risk of exceeding available memory by setting these things too large.</p></blockquote>
<br class="C" />






<h2>Use tmpfs for MySQL</h2>
<pre>
--tmpdir=path, -t path
</pre>
<blockquote cite="http://dev.mysql.com/doc/refman/4.1/en/server-options.html#option_mysqld_tmpdir">The path of the directory to use for creating temporary files. It might be useful if your default /tmp directory resides on a partition that is too small to hold temporary tables. Starting from MySQL 4.1.0, this option accepts several paths that are used in round-robin fashion. Paths should be separated by colon characters (“:”) on Unix and semicolon characters (“;”) on Windows, NetWare, and OS/2. If the MySQL server is acting as a replication slave, you should not set --tmpdir to point to a directory on a memory-based file system or to a directory that is cleared when the server host restarts. For more information about the storage location of temporary files, see Section A.1.4.4, “Where MySQL Stores Temporary Files”. A replication slave needs some of its temporary files to survive a machine restart so that it can replicate temporary tables or LOAD DATA INFILE operations. If files in the temporary file directory are lost when the server restarts, replication fails. </blockquote>

<blockquote cite="http://dev.mysql.com/doc/refman/4.1/en/temporary-files.html">On Unix, MySQL uses the value of the TMPDIR  environment variable as the path name of the directory in which to store temporary files. If TMPDIR  is not set, MySQL uses the system default, which is usually /tmp, /var/tmp, or /usr/tmp.

 If the file system containing your temporary file directory is too small, you can use the --tmpdir option to mysqld to specify a directory in a file system where you have enough space.

Starting from MySQL 4.1, the --tmpdir option can be set to a list of several paths that are used in round-robin fashion. Paths should be separated by colon characters (“:”) on Unix and semicolon characters (“;”) on Windows, NetWare, and OS/2.
Note

To spread the load effectively, these paths should be located on different physical disks, not different partitions of the same disk.

If the MySQL server is acting as a replication slave, you should not set --tmpdir to point to a directory on a memory-based file system or to a directory that is cleared when the server host restarts. A replication slave needs some of its temporary files to survive a machine restart so that it can replicate temporary tables or LOAD DATA INFILE operations. If files in the temporary file directory are lost when the server restarts, replication fails.

MySQL creates all temporary files as hidden files. This ensures that the temporary files are removed if mysqld is terminated. The disadvantage of using hidden files is that you do not see a big temporary file that fills up the file system in which the temporary file directory is located.
</blockquote>
<br class="C" />








<h2>Shell Script for Firefox tmpfs</h2>
<pre>
#!/bin/bash
### Bind temporary directories to /dev/shm ###
# I do this instead of mounting tmpfs on the #
# directories, so less memory gets wasted.   #
##############################################
mkdir /dev/shm/{tmp,lock}
mount --bind /dev/shm/tmp /tmp
mount --bind /dev/shm/tmp /var/tmp
mount --bind /dev/shm/lock /var/lock
chmod 1777 /dev/shm/{tmp,lock}
</pre>




<hr />

<p><strong>Hey!</strong> You made it!@ at least to the bottom of the page..  I still have to finish this article, so check back in a few months.</p><p><a href="http://www.askapache.com/optimize/super-speed-secrets.html"></a><a href="http://www.askapache.com/optimize/super-speed-secrets.html">30x Faster Cache and Site Speed with TMPFS</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/optimize/super-speed-secrets.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>PortaPutty Auto-Reconnecting SSH Tunnels on an Encrypted TrueCrypt Portable USB Key w GPG</title>
		<link>http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html</link>
		<comments>http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 10:11:11 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://askapache.com/?p=4001</guid>
		<description><![CDATA[<p><a class="IFL" id="id6" href="http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html"></a>Ok I just came back up to write the intro.. I'm trying to keep it short to avoid getting bogged down by the coolness of each step.  Here is what goes on.   When I logon to my XP machine at work, I bring my usb key and plug it in first.  On logging a window pops up first and it's a password prompt to mount my encrypted drive leonardo.  It also checks a keyfile that is located on my usb key, but all I do now is type in my password.  That causes my encrypted folder to be accessible to me like a normal drive, and it autoruns a startup batch file. <br /><br />The batch file causes <strong>Portable</strong> versions of Firefox (<em>all my bookmarks, my settings</em>) to load, and launches <strong>Portable</strong> Mozilla Thunderbird (IMAP makes this work well), which is my favorite program (<em>great GPG features and open-source!</em>).  Also Some Adobe CS4 software is loaded from the hard drive, like DreamWeaver.  In the background, a service we created executes a PortaPuttY plink command to create forwarded tunnels from various remote servers and accounts, all using key-based encryption.  These tunnels are automatically reconnected if they are disconnected, meaning you can use a socks 5 if you want or even better!<br class="C" /></p>
<p><strong>Part 1 of 5</strong></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html"></a><a href="http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html"><cite>AskApache.com</cite></a></p><p><a id="id6" class="IFL" href="http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=4329073&CatId=3786" title="This ones over $400 dollars! 128GB!"></a>Ok I just came back up to write the intro.. I'm trying to keep it short to avoid getting bogged down by the coolness of each step.  Here is what goes on.   When I logon to my XP machine at work, I bring my usb key and plug it in first.  On logging a window pops up first and it's a password prompt to mount my encrypted drive leonardo.  It also checks a keyfile that is located on my usb key, but all I do now is type in my password.  That causes my encrypted folder to be accessible to me like a normal drive, and it autoruns a startup batch file.  The batch file causes <strong>Portable</strong> versions of Firefox (<em>all my bookmarks, my settings</em>) to load, and launches <strong>Portable</strong> Mozilla Thunderbird (IMAP makes this work well), which is my favorite program (<em>great GPG features and open-source!</em>).  Also Some Adobe CS4 software is loaded from the hard drive, like DreamWeaver.<br class="C" /></p>

<p>The batch file also runs PortaPuttY plink to create forwarded tunnels from various remote servers and accounts, all using key-based encryption.  This includes dynamic SOCKS 4/5 tunnels, VPN tun device tunnels, and of course the basic SSH port forwarding tunnels that are so powerful.  These tunnels are automatically reconnected if they are disconnected, using simple windows builtin command-line tools.  And believe me it was not easy to figure out how to make this all work using plink ( essentially the same as putty minus the gui ), I literally had to use almost all of my Windows kung fu to finally end up with this.</p>

<h2>Using MyEnTunnel</h2>
<p>Initially I was using the <a href="http://nemesis2.qx.net">MyEnTunnel</a> program combined with a custom windows batch install script I wrote to handle the tunnels.<br /><br />The tunnels are very important to making things easy while improving security.  It's not easy to understand at first, but basically it means <strong>you can now connect to ANY IP address:port as if you were on that very machine connecting to localhost, like if you pinged yourself!</strong>.  The result is any traffic you want is now encrypted, and you can set up your servers to only accept connections from localhost, which could save you tons of memory, bandwidth, and security attack vectors to think about.   So I configure everything to use these tunnels as proxies, like Mozilla Thunderbird and Chrome, Firefox, Pidgeon, all portable versions and running from my encrypted usb drive.</p>

<p>This means you can walk into my house with that usb key, plug into any computer here, and surf the web/check your emails all across SSH... I know for a fact <strong>I wouldn't be able to snoop that</strong> traffic!  There is a lot of exciting things going on around here, new servers and all.. Its going to take a couple more posts for me to finish this up, enjoy the article and comment.</p>



<h2>Buy a couple USB Mini Drives</h2>
<p>The first thing to do, is purchase a USB thumb drive..   My favorite store, <a href="http://www.tigerdirect.com/applications/category/category_slc.asp?Recs=30&amp;Nav=|c:379|lp:0.01:hp:24.99|&amp;Sort=4" title="Highly recommended, this is not an affiliate link">TigerDirect.com</a>, has over 104 tiny usb drives for under $24.. I've used them since the late 90's.</p>
<p>I bought some 4GB PNY's the size of a fingernail at a gas station and they are amazing, way faster than say a dvd drive.  Just try to do some research of the differences between the 16GB vs the $4 1GB drives.. You want speed because the whole drive will be encrypted.   <em>If you can afford the super excellent and crazy fast ones, hey send me one!</em> Buying cheap means you can buy 3 or 4 so you can always have backups.  This device will make you Internationally mobile, untethered from a box, maybe getting some work done at a cafe in Florenze, or at a beach hotel in Miami.  Keep dreaming, but that is more possible with a better organized system.</p>

<h3>Backup the USB Drive</h3>
<p>You only need to know 1 way that works, there are several.  The way I do backups is to copy the entire disk image of the usb, that way I can always access it in case of usb key failure, which does happen.  Free software like <a href="http://clonezilla.org/">CloneZilla live CD</a> with its crazy cluster computing power, or Self Image, which is free for both linux and Windows.  And you could never go wrong with <a href="http://www.symantec.com/norton/ghost">GHOST</a>, one of the first to make mega bucks in the market.. it's some seriously impressive software <em>but not open-source</em>.  Even easier for some is to just set a cron job for dd to pipe the entire drive image to a remote computer using netcat, or sshfs, or curlftpfs, or just <strong>simple ssh</strong> like below.  Once setup (without stupid, bulky, dangerous software), the files on your encrypted usb don't change often, otherwise I would want to sync a backup to happen automatically every X number of logins or days (<em>test logfile time in bash_profile?</em>)..</p>

<h4>SSH Back-ups To Remote Server</h4>
<p>Files and data on your drives slow it down tremendously, meaning a web server storing backups locally is slower than one storing them externally.</p>
<p>Notice how much safer this command is by optimizing both the <a href="http://www.askapache.com/linux/optimize-nice-ionice.html">CPU and DISK I/O</a>..  Though it's much smarter to create a new separate ssh user, one with no shell and a passwordless safer key-based encryption.  Then in your /etc/security/limits.conf file or your initscript you can cause that user to have <code>nice -19</code> and <code>ionice -c2 -n7</code> priority set all the time automatically, since sshd, compression, and disk writing are this accounts only job.  turboslow is an alias defined in a ssh_config file so you don't have to type the host, port, and settings each time.</p>
<pre>#
# much better ways to do this on google!!!!!!!
#
ionice -c2 -n7 nice -n 19 dd if=/dev/sdb2 bs=1k conv=sync,noerror | gzip -c | ssh turboslow "dd of=sdb2.gz bs=1k"</pre>
<p>Note that you may decide it would be better to configure the ssh connection to a less CPU intensive algorithm, perhaps even <em>protocol 1</em> and <em>DES</em>.  That's perfectly alright, but the tradeoff is that the encryption can be broken much quicker, and so you would have to implement a cron job to create new keys on both ends of the tunnel every few hours.. It's really not a big deal to setup, kind of sweet way to use key-based encryption.  Also, important files ( those containing passwords, any database ) are encrypted before transport using private GPG keys, which don't need to be changed.  The other thing to think about too is only letting your main PC send/write on the backup host, so the backup host is only authorized to rx and can never login back to yours. </p>
<p>Hey! the Internet is a dangerous place you better believe it!  And it's only going to get more interesting with cloud computing's breakthrough's... More people who know they're way around... I can always use an extra server, I'd love to expand my network another node without having to pay for it (free cloud computing?), so make sure your servers are locked up strenuously.  Not super perfect, just a little unique or creative in your defense to avoid any coming super-worm's that may be employing vast arsenals of the deadliest attack-engines like metasploit..  Scarry rumors.</p>

<h4>Compression Speeds: PBZip2, Rzip, Lzop, Gzip</h4>
<p>Probably the fastest is to use rsync over ssh, which is what I'm doing, since the algorithms used by rsync are much faster and safer.  <a href="http://www.askapache.com/security/mirror-using-rsync-ssh.html">Rsync also lets you specify a compression program</a>, so depending on your machine you will want pbzip2 (for multi processors) or rzip which are the 2 fastest I know of, though I have had some reliability issues with rzip for gigabyte transfers.  Pbzip2 is amazing, blew me away the first time being 8x faster (8 CPUs) then <strong>anything</strong>.  You can get it and compile a static binary for your thumb drive if want at <a href="http://compression.ca/pbzip2/">Parallel BZIP2 (PBZIP2)</a>. Heavy code, re: this note by Jeff Gilchrist</p>
<quote><strong>NOTE</strong>: If you are looking for a parallel BZIP2 that works on cluster machines, you should check out <strong>MPIBZIP2</strong> <strong>which was designed for a distributed-memory message-passing architecture</strong>.</quote>
<pre>tar cpf "$G" --use-compress-prog=pbzip2 ./</pre>
<p><a href="http://uploads.askapache.com/2010/02/pbzip2.gif"><img src="http://uploads.askapache.com/2010/02/pbzip2.gif" alt="Parallel BZIP2 (PBZIP2)" title="pbzip2" class="size-medium wp-image-4002" /></a></p>


<h4>Benchmarking for Performance</h4>
<p>Finally a couple tips, you should get an idea what the device can do, format it a few times for linux and test it on windows, and vice versa.. Some drives are too small or too old and can only support fat32 filesystems on winblows, you DO NOT want fat32 because this drive is going to be 100% encrypted and then 100% transparently decrypted as you use it,
<pre># note this is 512MB
dd if=/dev/sda1 of=/dev/null bs=512 count=1000000
512000000 bytes (512 MB) copied, 5.16588 s, 99.1 MB/s</pre>








<h2>Part II:  Encrypted AutoRunning USB Key with TrueCrypt</h2>
<p>Now this section anyone can do, it's so easy on Windows.   What I'm going to show you how to do is get setup the right way super-fast.  There are many ways to use TrueCrypt, it's one of the nicest built software programs's I've ever used... Sadly, it is not licensed open-source, and that is often a deal-breaker for security-conscious folks or anti-pirate anarchists.  From the very helpful TrueCrypt web site:</p>

<blockquote cite="">
<ul type="disc">
            <li>Creates a <strong>virtual encrypted disk</strong> within a file and mounts  it as a real disk. </li>
            <li>Encrypts an<strong> entire partition or storage device</strong> such as USB flash drive or hard drive.</li>
            <li>Encrypts a <strong>partition or drive where Windows is installed</strong> (<a href="http://www.truecrypt.org/docs/?s=system-encryption">pre-boot authentication</a>).</li>
            <li>Encryption is <a href="http://www.truecrypt.org/docs/"><strong>automatic</strong>, <strong>real-time</strong> (on-the-fly) and <strong>transparent</strong></a>.</li>
            <li> <a href="http://www.truecrypt.org/docs/?s=parallelization">Parallelization</a> and <a href="http://www.truecrypt.org/docs/?s=pipelining">pipelining</a> allow data to be read and written as fast as if the drive was not encrypted.</li>
            <li>Provides <strong><a href="http://www.truecrypt.org/docs/?s=plausible-deniability">plausible deniability</a></strong>, in case an adversary  forces you to reveal the password: <strong><a href="http://www.truecrypt.org/hiddenvolume">Hidden volume</a></strong> (steganography) and <strong><a href="http://www.truecrypt.org/docs/?s=hidden-operating-system">hidden operating system</a></strong>.</li>
            <li><a href="http://www.truecrypt.org/docs/?s=encryption-algorithms">Encryption algorithms</a>: <a href="http://www.truecrypt.org/docs/?s=aes">AES-256</a>, <a href="http://www.truecrypt.org/docs/?s=serpent">Serpent</a>, and <a href="http://www.truecrypt.org/docs/?s=twofish">Twofish</a>.  Mode of operation: <a href="http://www.truecrypt.org/docs/?s=modes-of-operation">XTS</a>.</li>
        </ul>

</p>
</blockquote>





<h2>Further Reading</h2>
<ul>
<li><a href="http://ultra.ap.krakow.pl/~bar/DOC/ssh_backup.html">Network File Copy using SSH</a></li>
<li>Check out the trunk version of PuTTY:<code>~ svn co svn://svn.tartarus.org/sgt/putty</code>
</ul>





<hr class="C" />
<p>The real fun doesn't start till all the automation starts, automating all of that from a couple batch files I wrote, one click setup.  Kind of like building your own knoppix for when you have to use Windows.  To begin this tutorial, setup a truecrypt traveller setup on your usb and also install the portaputty package onto the usb.  You do this by creating a 3GB or whatever file on the usb and then mounting that file like you would mount an iso file.   I will show the Windows Batch file I use and the tricks with Windows Volume names and how to consistently make it all work.   Then we will setup MyEnTunnel with a customized batch file that forces all puttys to use portaputty (<code>sweet hack stolen from sysinternals pagedefrag tool</code>).<strong>Stay Tuned!</strong></p><p><a href="http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html"></a><a href="http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html">PortaPutty Auto-Reconnecting SSH Tunnels on an Encrypted TrueCrypt Portable USB Key w GPG</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/hacking/ssh-tunnels-truecrypt-gpg.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>DNS Round Robin Configuration using Rsync over SSH</title>
		<link>http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html</link>
		<comments>http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html#comments</comments>
		<pubDate>Tue, 14 Apr 2009 05:46:20 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=2540</guid>
		<description><![CDATA[<p><a class="IFL" href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html" id="id12"></a><strong>The goal is to add the HostGator server</strong> to be an exact mirror of the static.askapache.com domain, then to add that server as a 2nd A record to my DNS zone.  That way half the visitors to the size will be taking up resources and bandwidth on the <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=AskApache-rrdns">HostGator</a> server instead of mine.<br /><br /><strong>Round Robin A records</strong> in DNS are intended to evenly distribute queries between each host of the same name.  Using some tricks straight out of a hackers toolbox we can verify if the distribution is taking place.  (<a href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html#dns-robin-works">It is.</a>)  <br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html"></a><a href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html"><cite>AskApache.com</cite></a></p><p>My traffic is growing, alot, and I need to plan how I'm going to maintain scalability, high availability, and redundancy.   Scalability is an application's ability to support a growing number of users. High availability can be defined as redundancy or speed.  I decided to setup <a href="#dns-robin-round">Round Robin DNS</a> for <a href="http://static.askapache.com/">static.askapache.com</a>, which is the "static" <a href="http://www.askapache.com/htaccess/apache-speed-subdomains.html">subdomain</a> of <a href="http://www.askapache.com/">AskApache</a> that serves all the static assets like images, javascript, css, etc.. (<em>BTW, the z stands for ZAP</em>)..  All I needed to attempt setting this up was another hosting account on a separate server.  I have hosting accounts with around 10 different companies from working with various clients over the years, like <a href="http://www.powweb.com/join/index.bml?AffID=582654">Powweb</a> and I don't use them because they suck in terms of the unix environment.  Many of these web hosts are actually very fast bandwidth-wise..</p>

<h2><a id="#round-robin-concept" name="#round-robin-concept"></a>Round Robin Concept</h2>
<p><a class="IFL" href="#"><img src="http://uploads.askapache.com/2009/04/round-robin-dns.png" alt="Round Robin DNS" title="Round Robin DNS" width="396" height="335" class="size-full wp-image-2622" /></a><strong>A few months ago</strong> I was given a free hosting account on <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=AskApache-rrdns">HostGator</a> to evaluate and tempt me away from DreamHost to become a Gator.  I get a lot of these types of offers from time to time from the smaller Web companies who read AskApache.. but when I noticed the SSH access was jailed and saw how restrictive the shell was I felt like I was on a windows box..  I want a shell, cpanel sucks.  I compile and run everything from the shell so thats was a deal-breaker and I sorta forgot all about it.<br /><br /><strong>The goal is to add the HostGator server</strong> to be an <a href="http://www.askapache.com/security/mirror-using-rsync-ssh.html">exact mirror</a> of the static.askapache.com domain, then to add that server as a 2nd A record to my DNS zone.  That way half the visitors to the size will be taking up resources and bandwidth on the <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=AskApache-rrdns">HostGator</a> server instead of mine.<br /><br /><strong>Round Robin A records</strong> in DNS are intended to evenly distribute queries between each host of the same name.  Using some tricks straight out of a <a href="http://www.askapache.com/security/computer-security-toolbox-2.html">hackers toolbox</a> we can <a href="#dns-robin-works">verify if the distribution</a> is taking place.  (<a href="#dns-robin-works">It is.</a>)  <br class="C" /></p>


<h2><a id="#dns-robin-dns" name="#dns-robin-dns"></a>DNS - Domain Name System</h2>
<p>The Domain Name System is often analogized as a "phone book" for the Internet because it translates human-friendly computer hostnames into IP addresses. For example, <code>www.askapache.com</code> translates to <code>208.113.134.190</code>.  Every request for a human-friendly hostname first needs to be translated to the IP before the server can be queried.  Normally each hostname corresponds to exactly 1 IP address.  But in a Round Robin setup, the idea is to have the hostname correspond to multiple IP addresses, which are different servers that house the exact same content, resulting in some hosts requesting files from one server, and another host requesting files from the other server, resulting in less CPU resources and bandwidth.</p>
<p>Here is an the zone for <code>static.askapache.com</code> Round Robin records:</p>
<table summary="Round Robin DNS Records" id="ver-zebra"><colgroup><col class="e" /><col class="o" /><col class="e" /><col class="o" /><col class="e" /></colgroup><thead><tr><th scope="col" class="e">QUERY</th><th scope="col" class="o">TTL</th><th scope="col" class="e">CLASS</th><th scope="col" class="o">TYPE</th><th scope="col" class="e">ANSWER</th></tr></thead><tbody><tr><td>static.askapache.com</td><td>13084</td><td>IN</td><td>A</td><td>64.111.114.111</td></tr><tr><td>static.askapache.com</td><td>13084</td><td>IN</td><td>A</td><td>69.56.174.114</td></tr></tbody></table>


<h2><a id="#dns-robin-round" name="#dns-robin-round"></a>Round Robin DNS</h2>
<p>Round robin DNS is a technique of load distribution, load balancing, or fault-tolerance provisioning multiple, redundant Internet Protocol service hosts, e.g., Web servers, FTP servers, by managing the Domain Name System's (DNS) responses to address requests from client computers according to an appropriate statistical model.</p>
<p>In its simplest implementation Round-robin DNS works by responding to DNS requests not only with a single IP address, but a list of IP addresses of several servers that host identical services. The order in which IP addresses from the list are returned is the basis for the term round robin. With each DNS response, the IP address sequence in the list is permuted. Usually, basic IP clients attempt connections with the first address returned from a DNS query so that on different connection attempts clients would receive service from different providers, thus distributing the overall load among servers.</p>
<p>Round robin DNS is often used for balancing the load of geographically-distributed Web servers. For example, a company has one domain name and three identical web sites residing on three servers with three different IP addresses. When one user accesses the home page it will be sent to the first IP address. The second user who accesses the home page will be sent to the next IP address, and the third user will be sent to the third IP address. In each case, once the IP address is given out, it goes to the end of the list. The fourth user, therefore, will be sent to the first IP address, and so forth.</p>

<p>Although easy to implement, round robin DNS has problematic drawbacks, such as those arising from record caching in the DNS hierarchy itself, as well as client-side address caching and reuse, the combination of which can be difficult to manage. Round robin DNS should not solely be relied upon for service availability. If a service at one of the addresses in the list fails, the DNS will continue to hand out that address and clients will still attempt to reach the inoperable service.</p>



<h2><a id="#dns-robin-works" name="#dns-robin-works" title="Efficacy of DNS Load Balancing"></a>Does Round Robin Work</h2>
<p>Definately.  I can look at the access logs for both servers and see that they are splitting the requests nicely.   It is definately not an exact split however, look at these statistics and you'll see what I mean.</p>
<pre>$ dig @ns1.dreamhost.com +authority +all static.askapache.com
&nbsp;
;; ANSWER SECTION:
static.askapache.com.        14400   IN      A       69.56.174.114
static.askapache.com.        14400   IN      A       64.111.114.111
&nbsp;
$ dig @ns1.dreamhost.com +authority +all static.askapache.com
&nbsp;
;; ANSWER SECTION:
static.askapache.com.        14400   IN      A       64.111.114.111
static.askapache.com.        14400   IN      A       69.56.174.114</pre>

<p>The effects of caching will distort the effectiveness of any IP address allocation algorithm unless a 0 TTL is used which has the effect of significantly increasing the load on the DNS (and is not always implemented consistently). In this case the cure may be worse than the disease Good news we have good load balancing on our web servers. Bad news we need 17 more DNS servers!. Intuitively, and without running any experiments to verify, we would suggest that given a normal TTL (12 hours or more) and ANY IP allocation algorithm other than a single static list, loads should be reasonably balanced .</p>
<p><br /><strong>Full root server query</strong></p>
<pre>Tracing to static.askapache.com[a] via A.ROOT-SERVERS.NET, maximum of 3 retries
A.ROOT-SERVERS.NET [.] (198.41.0.4)
 |\___ L.GTLD-SERVERS.NET [com] (192.41.162.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ D.GTLD-SERVERS.NET [com] (192.31.80.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ J.GTLD-SERVERS.NET [com] (192.48.79.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ H.GTLD-SERVERS.NET [com] (192.54.112.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ E.GTLD-SERVERS.NET [com] (192.12.94.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ F.GTLD-SERVERS.NET [com] (192.35.51.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ I.GTLD-SERVERS.NET [com] (192.43.172.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ G.GTLD-SERVERS.NET [com] (192.42.93.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ B.GTLD-SERVERS.NET [com] (2001:0503:231d:0000:0000:0000:0002:0030) Not queried
 |\___ B.GTLD-SERVERS.NET [com] (192.33.14.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ A.GTLD-SERVERS.NET [com] (2001:0503:a83e:0000:0000:0000:0002:0030) Not queried
 |\___ A.GTLD-SERVERS.NET [com] (192.5.6.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ C.GTLD-SERVERS.NET [com] (192.26.92.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
 |\___ M.GTLD-SERVERS.NET [com] (192.55.83.30)
 |     |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
 |     |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
 |      \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
  \___ K.GTLD-SERVERS.NET [com] (192.52.178.30)
       |\___ ns3.dreamhost.com [askapache.com] (66.33.216.216) Got authoritative answer
       |\___ ns2.dreamhost.com [askapache.com] (208.96.10.221)
        \___ ns1.dreamhost.com [askapache.com] (66.33.206.206) Got authoritative answer
&nbsp;
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 64.111.114.111
  ns1.dreamhost.com (66.33.206.206)       static.askapache.com -&gt; 69.56.174.114
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 64.111.114.111
  ns3.dreamhost.com (66.33.216.216)       static.askapache.com -&gt; 69.56.174.114</pre>




<h2><a id="#dns-online-tools" name="#dns-online-tools"></a>Live Online DNS Tools</h2>
<ul>
<li><a href="http://member.dnsstuff.com/amember/go.php?r=323972&i=l0">DNSstuff.com - Your Destination for DNS and Networking Tools</a></li>
<li><a href="http://www.zonecheck.fr/cgi-bin/zc.cgi?zone=askapache.com&amp;ns0=ns1.dreamhost.com&amp;ips0=&amp;ns1=ns2.dreamhost.com&amp;ips1=&amp;ns2=ns3.dreamhost.com&amp;ips2=&amp;ns3=&amp;ips3=&amp;ns4=&amp;ips4=&amp;ns5=&amp;ips5=&amp;ns6=&amp;ips6=&amp;ns7=&amp;ips7=&amp;intro=t&amp;explain=t&amp;details=t&amp;progress=counter&amp;report=byseverity&amp;format=html&amp;lang=en&amp;errorlvl=allwarning&amp;profile=automatic&amp;chkmail=t&amp;chkzone=t&amp;chkrir=t&amp;transp3=ipv4&amp;transp3=ipv6&amp;transp4=std">ZoneCheck</a></li>
<li><a href="http://pingability.com/zoneinfo.jsp?domain=askapache.com">Quick Check - Pingability.com</a></li>
<li><a href="http://www.squish.net/dnscheck/dnscheck.cgi?host=askapache.com&amp;type=ANY&amp;show_rootservers=on&amp;removebroken=on&amp;cnameprocessing=on&amp;show_mainworkings=on&amp;show_resolving=on&amp;show_allservers=on&amp;getbindversions=on&amp;retries=5&amp;querylevel=15">Squishywishywoo: complete dns traversal checking</a></li>
<li><a href="http://www.zonecut.net/dns/?domain=askapache.com&amp;find_subs=on">ZoneCut DNS</a></li>
<li><a href="http://atrey.karlin.mff.cuni.cz/~mj/sleuth/?domain=askapache.com&amp;verbose=ON&amp;server=ns1.dreamhost.com&amp;serverip=&amp;action=Submit&amp;.cgifields=verbose">DNS Sleuth</a></li>
<li><a href="http://www.pweb.cz/en/dns-test/dom.php">DNS test - Domain name DNS test - pweb.cz</a></li>
<li><a href="http://www.opendns.com/support/cache/?d=static.askapache.com">OpenDNS - Support - CacheCheck</a></li>
<li><a href="http://www.dnscolos.com/dnsreport.php">DNSReport</a></li>
<li><a href="http://freedns.afraid.org/domain/dnstrace.php?domain=askapache.com&amp;submit=Trace">DNSTrace</a></li>
<li><a href="http://www.intodns.com/askapache.com">intoDNS</a></li>
<li><a href="http://www.dnsthru.com/">DNSthru.com</a></li>
<li><a href="http://demo.dnsdoctor.org/cgi-bin/diagnose.cgi?zone=askapache.com&amp;ns0=ns1.dreamhost.com&amp;ips0=&amp;ns1=ns2.dreamhost.com&amp;ips1=&amp;ns2=ns3.dreamhost.com&amp;ips2=&amp;ns3=&amp;ips3=&amp;ns4=&amp;ips4=67.19.1.10&amp;ns5=&amp;ips5=67.19.0.10&amp;ns6=&amp;ips6=67.18.150.114&amp;ns7=&amp;ips7=&amp;intro=t&amp;format=html&amp;lang=en&amp;testname=t&amp;explain=t&amp;details=t&amp;progress=testdesc&amp;errorlvl=allwarning&amp;dontstop=nostop&amp;profile=automatic&amp;report=byseverity&amp;chkmail=t&amp;transp3=ipv4&amp;transp3=ipv6&amp;transp4=std">DNS Doctor</a></li>
<li><a href="http://www.checkdns.net/powercheck.aspx">Power Check</a></li>
</ul>












<h2><a id="#dns-links" name="#dns-links"></a>More Reading</h2>
<ul>
<li><a href="http://www.zytrax.com/books/dns/ch9/rr.html">HOWTO - Configure Load Balancing</a></li>
<li><a href="http://ntrg.cs.tcd.ie/undergrad/4ba2.01/group8/DNS.html">Load Sharing with DNS</a></li>
</ul>




<h3><a id="#dns-rfc-list" name="#dns-rfc-list"></a>RFC's related to DNS</h3>
<ul>
  <li><a href="http://rfc.askapache.com/rfc920/rfc920.html" title="protocol,signature,resource,dnssec,records,response,record,dnskey,algorithm,standards,domain,server,resolver,security">RFC 920</a>:  Specified original TLDs: .arpa, .com, .edu, .org, .gov, .mil and two-character country codes</li>
  <li><a href="http://rfc.askapache.com/rfc1032/rfc1032.html">RFC 1032</a>:  Domain administrators guide</li>
  <li><a href="http://rfc.askapache.com/rfc1033/rfc1033.html">RFC 1033</a>:  Domain administrators operations guide</li>
  <li><a href="http://rfc.askapache.com/rfc1034/rfc1034.html">RFC 1034</a>:  Domain Names - Concepts and Facilities.</li>
  <li><a href="http://rfc.askapache.com/rfc1035/rfc1035.html">RFC 1035</a>:  Domain Names - Implementation and Specification</li>
  <li><a href="http://rfc.askapache.com/rfc1101/rfc1101.html">RFC 1101</a>:  DNS Encodings of Network Names and Other Types</li>
  <li><a href="http://rfc.askapache.com/rfc1123/rfc1123.html">RFC 1123</a>:  Requirements for Internet Hosts -- Application and Support</li>
  <li><a href="http://rfc.askapache.com/rfc1912/rfc1912.html">RFC 1912</a>:  Common DNS Operational and Configuration Errors</li>
  <li><a href="http://rfc.askapache.com/rfc1995/rfc1995.html">RFC 1995</a>:  Incremental Zone Transfer in DNS</li>
  <li><a href="http://rfc.askapache.com/rfc1996/rfc1996.html">RFC 1996</a>:  A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)</li>
  <li><a href="http://rfc.askapache.com/rfc2136/rfc2136.html">RFC 2136</a>:  Dynamic Updates in the domain name system (DNS UPDATE)</li>
  <li><a href="http://rfc.askapache.com/rfc2181/rfc2181.html">RFC 2181</a>:  Clarifications to the DNS Specification</li>
  <li><a href="http://rfc.askapache.com/rfc2182/rfc2182.html">RFC 2182</a>:  Selection and Operation of Secondary DNS Servers</li>
  <li><a href="http://rfc.askapache.com/rfc2308/rfc2308.html">RFC 2308</a>:  Negative Caching of DNS Queries (DNS NCACHE)</li>
  <li><a href="http://rfc.askapache.com/rfc2317/rfc2317.html">RFC 2317</a>:  Classless IN-ADDR.ARPA delegation</li>
  <li><a href="http://rfc.askapache.com/rfc2671/rfc2671.html">RFC 2671</a>:  Extension Mechanisms for DNS (EDNS0)</li>
  <li><a href="http://rfc.askapache.com/rfc3597/rfc3597.html">RFC 3597</a>:  Handling of Unknown DNS Resource Record (RR) Types</li>
  <li><a href="http://rfc.askapache.com/rfc3696/rfc3696.html">RFC 3696</a>:  Application Techniques for Checking and Transformation of Names</li>
  <li><a href="http://rfc.askapache.com/rfc4343/rfc4343.html">RFC 4343</a>:  Domain Name System (DNS) Case Insensitivity Clarification</li>
  <li><a href="http://rfc.askapache.com/rfc4592/rfc4592.html">RFC 4592</a>:  The Role of Wildcards in the Domain Name System</li>
  <li><a href="http://rfc.askapache.com/rfc4892/rfc4892.html">RFC 4892</a>:  Requirements for a Mechanism Identifying a Name Server Instance</li>
  <li><a href="http://rfc.askapache.com/rfc5001/rfc5001.html">RFC 5001</a>:  DNS Name Server Identifier Option (NSID)</li>
  <li>RFC 5395:  Domain Name System (DNS) IANA Considerations</li>
</ul>



<p class="wikicop">This page contains content by <a rel="nofollow" href="http://en.wikipedia.org/w/index.php?title=Round_robin_DNS&amp;action=history">Author</a> of <a href="http://en.wikipedia.org/wiki/Round_robin_DNS" rel="nofollow">Article</a> from <a href="http://en.wikipedia.org/wiki/Main_Page" rel="nofollow">Wikipedia</a> and is licensed under the <a href="http://www.askapache.com/gnu-fdl.txt" rel="nofollow">GNU FDL</a>.</p>

<p><br /><strong>Table of Contents</strong></p>
<ul>
<li><a href="#round-robin-concept">Round Robin Concept</a></li>
<li><a href="#dns-robin-dns">DNS - Domain Name System</a></li>
<li><a href="#dns-robin-round">Round Robin DNS</a></li>
<li><a href="#dns-robin-works">Efficacy of DNS Load Balancing</a></li>
<li><a href="#dns-online-tools">Live Online DNS Tools</a></li>
<li><a href="#dns-links">More Reading</a></li>
<li><a href="#dns-rfc-list">RFC's related to DNS</a></li>
</ul><p><a href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html"></a><a href="http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html">DNS Round Robin Configuration using Rsync over SSH</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/linux/dns-round-robin-rsync-over-ssh.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mirroring an Entire Site using Rsync over SSH</title>
		<link>http://www.askapache.com/security/mirror-rsync-ssh.html</link>
		<comments>http://www.askapache.com/security/mirror-rsync-ssh.html#comments</comments>
		<pubDate>Fri, 10 Apr 2009 11:40:44 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=2581</guid>
		<description><![CDATA[<p><a href="http://www.askapache.com/security/mirror-using-rsync-ssh.html" class="IFL" id="id19"></a><strong>Sometimes there is an urgent need</strong> for creating an exact duplicate or "mirror" of a web site on a separate server.  This could be needed for creating Round Robin Setups, Load-Balancing, Failovers, or for just plain vanilla backups.  In the past I have used a lot of different methods to copy data from one server to another, including creating an archive of the whole directory and then using scp to send the file over, creating an archive and then encrypting it and then sending that file over using ftp, <a href="http://curl.askapache.com/">curl</a>, etc., and my <strong>persistence at learning new ways to do things has paid off</strong> because now I use rsync to keep an exact replica of the entire directory on an external server, without having to use all the CPU and resources of other mirroring methods.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/security/mirror-rsync-ssh.html"></a><a href="http://www.askapache.com/security/mirror-rsync-ssh.html"><cite>AskApache.com</cite></a></p><p><a href="http://www.askapache.com/security/mirror-using-rsync-ssh.html" class="IFL" id="id19"></a><strong>Sometimes there is an urgent need</strong> for creating an exact duplicate or "mirror" of a web site on a separate server.  This could be needed for creating Round Robin Setups, Load-Balancing, Failovers, or for just plain vanilla backups.  In the past I have used a lot of different methods to copy data from one server to another, including creating an archive of the whole directory and then using scp to send the file over, creating an archive and then encrypting it and then sending that file over using ftp, <a href="http://curl.askapache.com/">curl</a>, etc., and my <strong>persistence at learning new ways to do things has paid off</strong> because now I use rsync to keep an exact replica of the entire directory on an external server, without having to use all the CPU and resources of other mirroring methods.<br class="C" /></p>

<p>For this article I will show how I setup a web mirror of <var>static.askapache.com</var> from my DreamHost server to my HostGator Server.  For the transfer and synchronization of the directories we will be using rsync over SSH.  We will also be automating this task using a cronjob with no user-interaction, so creating public and private keys for the ssh will be neccessary.  Finally, I provide a simple shell script that prevents anyone from logging into your account with the created keys for any purpose other than to rsync.</p>







<h2>Rsync Synchronization Magic</h2>
<div><a class="IFL" href="http://rsync.samba.org/"><img src="http://uploads.askapache.com/2009/04/200px-newrsynclogo.jpg" alt="Mirroring an Entire Site using Rsync over SSH" title="rsync" width="200" height="125" /></a>
    <dl>
      <dt><strong>rsync</strong></dt>
      <dd><a href="http://rsync.samba.org/">rsync</a> is an <a href="http://www.opensource.org/">open source</a> file transfer program for Unix systems that uses the "rsync algorithm" which provides a very fast method for synchronizing files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar programs/protocols is that the mirroring takes place with only one transmission in each direction.. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. </dd>
    </dl>
<br class="C" /></div>




<h2>Securing Rsync with SSH</h2>
<p>I NEVER transfer any unencrypted data around unless that data is transported encrypted and to a trusted recipient, (<em>I use HTTPS for WordPress administration</em>) and I haven't had time to probe the HostGator system for security issues yet, so right away I decided I needed an automated way to securely transfer static.askapache.com files TO hostgator, while not allowing my hostgator account access back on my main server.  So if the hostgator account were to get hacked somehow, the cracker/spammer wouldn't have access back to my main server.</p>


<h2>Generate Keys with No Password</h2>
<p>First I created a private key, specifically a passwordless host key, meaning to gain access with ssh you only need to supply the key, not a password+key like normal.</p>
<pre>
[local@dreamhost] $ mkdir -p ~/.ssh &amp;&amp; chmod 700 ~/.ssh
&nbsp;
# Create the public and private keys
# public key at: z.askapache-hostgator.id_rsa.pub
# private key at: z.askapache-hostgator.id_rsa
[local@dreamhost] $ ssh-keygen -t rsa -b 2048 -f ~/.ssh/z.askapache-hostgator.id_rsa
&nbsp;
# add the public key to remote hosts ~/.ssh/authorized_keys file
[local@dreamhost] $ ssh-copy-id -i ~/.ssh/z.askapache-hostgator.id_rsa.pub remoteuser@remotehost
&nbsp;
# or use scp + ssh to add the public key
[local@dreamhost] $ scp ~/.ssh/z.askapache-hostgator.id_rsa.pub remoteuser@remotehost:/home/remoteuser/
[local@dreamhost] $ ssh remoteuser@remotehost
[gatoraskapache@gator] $ mkdir -p ~/.ssh &amp;&amp; chmod 700 ~/.ssh
[gatoraskapache@gator] $ cat ~/z.askapache-hostgator.id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys
[gatoraskapache@gator] $ chmod 600 ~/.ssh/authorized_keys
</pre>


<h2>Custom SSH Connection Info</h2>
<p>This helps alot, by adding this to the very top of my ~/.ssh/config file I don't have to add all this stuff to the rsync command-line.  Basically when I reference connecting to the host 'gator' it uses all these options.  Very helpful and you can add as many entries as you want.</p>
<pre>
Host gator
   IdentityFile ~/.ssh/z.askapache-hostgator.id_rsa
   Port 2222
   Protocol 2
   User gatoraskapache
   HostName gator555.hostgator.com
   PasswordAuthentication no
</pre>



<h2>Creating Cronjob for Synchronization</h2>
<p>This cronjob runs every 30 minutes, copying all modified files from my local directory <code>~/static.askapache.com/</code> to the remote directory <code>~/public_html/z/</code>.  First I backup the current crontab, then I edit the crontab and add this.</p>
<p><kbd>crontab -l > .crontab-`date +%F.backup`; crontab -e</kbd></p>
<pre>
*/30 * * * * /usr/bin/rsync -e &#039;ssh&#039; -rt --delete ~/static.askapache.com/ gator:&#039;~/public_html/z/&#039; 1&gt;/dev/null
@midnight /usr/bin/find ~/static.askapache.com/ -type d ! -perm 755 -exec chmod 755 {} \; 1&gt;/dev/null
@midnight /usr/bin/find ~/static.askapache.com/ -type f ! -perm 644 -exec chmod 644 {} \; 1&gt;/dev/null
</pre>
<p>Those 2 find commands scheduled to run at midnight simply fix and permissions on files and directories in my static folder.  They are all static files so there is no reason they need to have any other permission.</p>




<h2>Only Allow rsync</h2>
<p>This is SWEET!  If you like candy that is..  It's called each time anything logs into your machine using the password less key we created above, and it simple checks what command the login process is attempting to issue.  To set this up you need to edit the ~/.ssh/authorized_keys file on the remote host and prefix your public key that you added with a command directive to execute a script:</p>
<pre>
command="/home/remoteuser/validate-rsync.sh" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwBhj6UCS7JbJ08C8pWJqCh2iXZMN7tXpYZh47f4gZZBwrNHZQ== localuser@dreamhost
</pre>

<h3>validate-rsync.sh</h3>
<p>For rsync requests it will always be <code>rsync --server</code> at the start of the command, so if the command is anything else then this script:</p>
<ol>
<li>Sends you an email notifying you somethings up..</li>
<li>Moves the <code>~/.ssh</code> folder to <code>~/.locked-ssh</code></li>
<li>Adds cronjob to move the folder back in about an hour.</li>
</ol>

<pre>
#!/bin/bash
# Author: http://www.askapache.com
# Version: 1.2
# Date: 04-08-2009
&nbsp;
# If the command used to login to ssh correctly starts with &#039;rsync --server&#039;
# then exit this script and dont process the rest of the script
case "$SSH_ORIGINAL_COMMAND" in &#039;rsync --server&#039;*) exit 0; ;; esac;
&nbsp;
# the home directory where the .ssh folder is located
H=/home/remoteuser
&nbsp;
# if there is a locked ssh folder, kill the rsync and die
[[ -d $H/.lssh ]] &amp;&amp; echo "REJECTED" &amp;&amp; exit 1
&nbsp;
EMAIL=webmaster@askapache.com # notified about locked status
OC=$H/old-crontab.txt # the original crontab
NC=$H/new-crontab.txt #the new crontab
&nbsp;
# When to unlock the rsync
UNLOCK_AT=$(( date +%M\ %k --date=&#039;30 minute 1 hour&#039; ))
&nbsp;
# move the .ssh to .lssh which locks all key-logins
mv $H/.ssh $H/.lssh
&nbsp;
# mail a notice to the boss
echo $SSH_CONNECTION | mail -s &#039;RSYNC LOCKED!!!&#039; "$EMAIL"
&nbsp;
# subshell backs-up crontab then deletes active cron
(
&nbsp;
 crontab -l &gt; $OC &amp;&gt;/dev/null || echo -n #backup current crontab
 crontab -r &gt;/dev/null 2&gt;&amp;1 || echo -n # delete current crontab
)
&nbsp;
# subshell creates new crontab combined with old crontab
(
 # create new crontab
 echo -en "MAILTO=&#039;${EMAIL}&#039;\n${UNLOCK_AT} * * * mv $H/.lssh $H/.ssh" &gt;&gt; $NC
 echo -n " &amp;&amp; date|mail -s &#039;UNLOCKED!!!&#039; &#039;${EMAIL}&#039; &amp;&amp; crontab $OC || rm $OC &amp;&amp; rm $OC" &gt;&gt; $NC
&nbsp;
 # add old crontab to new crontab minus any MAILTO lines
 cat $OC | sed &#039;/^MAILTO/d&#039; &gt;&gt; $NC
&nbsp;
 # load the new crontab and if it doesnt work notify boss
 crontab $NC || echo "manually mv .lssh to .ssh" mail -s &#039;CRONTAB PROBLEM!!!&#039; "$EMAIL"
&nbsp;
 # remove new crontab
 rm $NC
)
&nbsp;
exit $?
</pre>

<p><strong>Here is the cronjob entry</strong> it creates... This will enable the rsync again by moving the folder back, then it mails you to alert you that its back up, and finally the original crontab is restored.</p>
<pre>
MAILTO="askapache@gmail.com"
03 9 * * * mv ~/.locked-ssh ~/.ssh &amp;&amp; date|mail -s &#039;RUNLOCKED!!!&#039; "webmaster@askapache.com" &amp;&amp; crontab ~/old-crontab.txt
</pre>


<h2>Rsync/SSH Debugging and Stats</h2>
<p>Adding the option -v to the ssh command, ie <kbd>rsync -e 'ssh -vv'</kbd> will give you a lot of debugging info.</p>
<p>By adding --stats to your rsync command you can get a detailed look at its efficacy.</p>
<pre>
Number of files: 14900
Number of files transferred: 0
Total file size: 1456832331 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 320551
File list generation time: 17.393 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 320571
Total bytes received: 20
&nbsp;
sent 320571 bytes  received 20 bytes  17329.24 bytes/sec
total size is 1456832331  speedup is 4544.21
</pre>








<h2>Rsync Algorithm</h2>
<p>The rsync utility uses an algorithm (invented by the Australian computer programmer Andrew Tridgell) for efficiently transmitting a structure (such as a file) across a communications link when the receiving computer already has a different version of the same structure.</p>
<p>The recipient splits its copy of the file into fixed-size non-overlapping chunks, of size S, and computes two checksums for each chunk: the MD4 hash, and a weaker 'rolling checksum'. It sends these checksums to the sender. Version 30 of the protocol (released with rsync version 3.0.0) now uses MD5 hashes rather than MD4.</p>
<p>The sender computes the rolling checksum for every chunk of size S in its own version of the file, even overlapping chunks. This can be calculated efficiently because of a special property of the rolling checksum: if the rolling checksum of bytes n through n + S − 1 is R, the rolling checksum of bytes n + 1 through n + S can be computed from R, byte n, and byte n + S without having to examine the intervening bytes. Thus, if one had already calculated the rolling checksum of bytes 1–25, one could calculate the rolling checksum of bytes 2–26 solely from the previous checksum, and from bytes 1 and 26.</p>
<p>The rolling checksum used in rsync is based on Mark Adler's adler-32 checksum, which is used in zlib, and which itself is based on Fletcher's checksum.  The sender then compares its rolling checksums with the set sent by the recipient to determine if any matches exist. If they do, it verifies the match by computing the MD4 checksum for the matching block and by comparing it with the MD4 checksum sent by the recipient.</p>
<p>The sender then sends the recipient those parts of its file that did not match any of the recipient's blocks, along with assembly instructions on how to merge these blocks into the recipient's version. In practice, this creates a file identical to the sender's copy. However, it is in principle possible that the recipient's copy differs at this point from the sender's: this can happen when the two files have different chunks that nonetheless possess the same MD4 hash and rolling checksum; the chances for this to happen are in practice extremely remote.</p>
<p>If the sender's and recipient's versions of the file have many sections in common, the utility needs to transfer relatively little data to synchronize the files.</p>
<p>While the rsync algorithm forms the heart of the rsync application that essentially optimizes transfers between two computers over TCP/IP, the rsync application supports other key features that aid significantly in data transfers or backup. They include compression and decompression of data block by block using zlib at sending and receiving ends, respectively, and support for protocols such as ssh that enables encrypted transmission of compressed and efficient differential data using rsync algorithm. Instead of ssh, stunnel can also be used to create an encrypted tunnel to secure the data transmitted.</p>
<p>Finally, rsync is capable of limiting the bandwidth consumed during a transfer, a useful feature that few other standard file transfer protocol offer.</p>

<p class="wikicop">This page contains content by <a rel="nofollow" href="http://en.wikipedia.org/w/index.php?title=Rsync&amp;action=history">Author</a> of <a href="http://en.wikipedia.org/wiki/Rsync" rel="nofollow">Article</a> from <a href="http://en.wikipedia.org/wiki/Main_Page" rel="nofollow">Wikipedia</a> and is licensed under the <a href="http://www.askapache.com/gnu-fdl.txt" rel="nofollow">GNU FDL</a>.</p><p><a href="http://www.askapache.com/security/mirror-rsync-ssh.html"></a><a href="http://www.askapache.com/security/mirror-rsync-ssh.html">Mirroring an Entire Site using Rsync over SSH</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/security/mirror-rsync-ssh.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>COMPUTER SECURITY TOOLBOX</title>
		<link>http://www.askapache.com/security/computer-security-toolbox-2.html</link>
		<comments>http://www.askapache.com/security/computer-security-toolbox-2.html#comments</comments>
		<pubDate>Sat, 27 Sep 2008 00:29:52 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.askapache.com.com/webmaster/computer-security-toolbox-2.html</guid>
		<description><![CDATA[List of mainly obscure security software geared more for the master pentester. These are mostly for unix, bsd, and mac and many are difficult to install and setup (require custom servers, inside access points, obscure libraries). Only programs that output data are included, so no actual exploits or anything.  Most of these output extremely useful albeit extremely technical information.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"></a><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"><cite>AskApache.com</cite></a></p><p>List of mainly obscure security software geared more for the master pentester. These are mostly for unix, bsd, and mac and many are difficult to install and setup <em>(require custom servers, inside access points, obscure libraries)</em>.  Only programs that output data are included, so no actual exploits or anything.  Most of these output extremely useful albeit extremely technical information.</p>

<p class="anote">You may be looking for the article: <a href="http://www.askapache.com/security/vulnerability-scanners-review.html">Vulnerability Scanners Review</a>, or <a href="http://www.askapache.com/security/top-5-best-vulnerability-port-scanners.html">Top 5 Vulnerability Port Scanners</a></p>

<h2>Obscure/Rare Security Software</h2>
<dl>
<dt>rwhois</dt>
<dd>really great addition to using whois. Get additional info not on whois, query rwhois servers.</dd>
<dt>lft</dt>
<dd>useful alternative method of tracerouteing. oppleman</dd>
<dt>packit</dt>
<dd>define (spoof) nearly all TCP, UDP, ICMP, IP, ARP, RARP, and Ethernet header options</dd>
<dt>etherape</dt>
<dd>really cool graphical program that displays connections and protocols similar to cheops.</dd>
<dt>amap</dt>
<dd>fingerprinting</dd>
<dt>xprobe2</dt>
<dd>fingerprinting</dd>
<dt>p0f2</dt>
<dd>really exceptional fingerprinting. can be passively run in the BG.</dd>
<dt>firewalk</dt>
<dd>good packetfiltering enumerator</dd>
<dt>BGPview</dt>
<dd>bgp anyone?</dd>
<dt>icmpenum</dt>
<dd>icmp fingerprinting</dd>
<dt>dnstracer</dt>
<dd>awesome and creative graphical output of dns</dd>
<dt>ssldump</dt>
<dd>not really that useful but impressive in a report</dd>
<dt>ftester</dt>
<dd>for master pentesters only &mdash; get the lowdown on your packetfiltering</dd>
<dt>mtr</dt>
<dd>alternative traceroute</dd>
<dt>MRTG</dt>
<dd>favorite tool of ISPs, many uses here</dd>
<dt>host</dt>
<dd>don't forget this one</dd>
<dt>ike-scan</dt>
<dd>scan for vpns</dd>
<dt>upnpscan</dt>
<dd>scan for upnp devices</dd>
<dt>ftp-spider</dt>
<dd>get info on ftp server</dd>
<dt>traceproto</dt>
<dd>very nice alternative to traceroute/firewalk</dd>
<dt>sing</dt>
<dd>packet crafting</dd>
<dt>nmbscan</dt>
<dd>NBM Scanner</dd>
<dt>nbtscan</dt>
<dd>NBT Scanner</dd>
<dt>admsmb</dt>
<dd>ADMsmb</dd>
<dt>netleak</dt>
<dd>Netleak</dd>
<dt>dmitry</dt>
<dd>&nbsp;</dd>
<dt>sara</dt>
<dd>Original security auditing software</dd>
<dt>isic</dt>
<dd>ISIC</dd>
<dt>dnsa</dt>
<dd>DNS</dd>
<dt>nemesis</dt>
<dd>Packet Crafting</dd>
<dt>zodiacdns</dt>
<dd>DNS Hacking</dd>
<dt>fragroute</dt>
<dd>Fragmented Packet Crafter/Scanner</dd>
<dt>sentry 2.0</dt>
<dd>&nbsp;</dd>
<dt>Caecus</dt>
<dd>&nbsp;</dd>
<dt>C-Parse</dt>
<dd>&nbsp;</dd>
<dt>ftester</dt>
<dd>Master Pentesting Tool, Map out the filtering of your firewall with internal and external nodes</dd>
<dt>pchar</dt>
</dl>


<h2>More common security programs</h2>
<dl>
<dt><a href="http://www.nessus.org">Nessus</a></dt>
<dd>Premier UNIX vulnerability assessment tool - Nessus is the best free network vulnerability scanner available, and the best to run on UNIX at any price.  It is constantly updated, with more than 11,000 plugins for the free (but registration and EULA-acceptance required) feed.  Key features include remote and local (authenticated) security checks, a client/server architecture with a GTK graphical interface, and an embedded scripting language for writing your own plugins or understanding the existing ones.</dd>
<dt><a href="http://www.wireshark.org/">Wireshark</a></dt>
<dd>Sniffing the glue that holds the Internet together - Wireshark (known as <a href="http://www.ethereal.com">Ethereal</a> until a trademark dispute in Summer 2006) is a fantastic open source network protocol analyzer for Unix and Windows.  It allows you to examine data from a live network or from a capture file on disk. You can interactively browse the capture data, delving down into just the level of packet detail you need.  Wireshark has several powerful features, including a rich display filter language and the ability to view the reconstructed stream of a TCP session. It also supports hundreds of protocols and media types.  A tcpdump-like console version named tethereal is included.  One word of caution is that Ethereal has suffered from dozens of remotely exploi security holes, so stay up-to-date and be wary of running it on unusted or hostile networks (such as security conferences).</dd>
<dt><a href="http://www.snort.org/">Snort</a></dt>
<dd>A Everyone's favorite open source IDS - This lightweight network inusion detection and prevention system excels at traffic analysis and packet logging on IP networks.  Through protocol analysis, content searching, and various pre-processors, Snort detects thousands of worms, vulnerability exploit attempts, port scans, and other suspicious behavior.  Snort uses a flexible rule-based language to describe traffic that it should collect or pass, and a modular detection engine.  Also check out the free <a href="http://secureideas.sourceforge.net/">Basic Analysis and Security Engine (BASE)</a>, a web interface for analyzing Snort alerts. Open source Snort works fine for many individuals, small businesses, and departments.  Parent company <a href="http://www.sourcefire.com">SourceFire</a> offers a complimentary product line with more enterprise-level features and real-time rule updates.  They offer a free (with registration) 5-day-delayed rules feed, and you can also find many great free rules at <a href="http://www.bleedingsnort.com">Bleeding Edge Snort</a>.</dd>
<dt><a href="http://www.vulnwatch.org/netcat/">Netcat</a></dt>
<dd>The network Swiss army knife - This simple utility reads and writes data across TCP or UDP network connections.  It is designed to be a reliable back-end tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need, including port binding to accept incoming connections. The original Netcat was <a href="http://seclists.org/bugaq/1995/Oct/0028.html">released</a> by Hobbit in 1995, but it hasn't been maintained despite its immense popularity.  It can sometimes even be hard to find nc110.tgz.  The flexibility and usefulness of this tool have prompted people to write numerous other Netcat implementations - often with modern features not found in the original.  One of the most interesting is Socat, which extends Netcat to support many other socket types, SSL encryption, SOCKS proxies, and more.  It even made this list on its own merits.  There is also <a href="http://sourceforge.net/projects/nmap-ncat/">Chris Gibson's Ncat</a>, which offers even more features while remaining por and compact.  Other takes on Netcat include <a href="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/">OpenBSD's nc</a>, <a href="http://farm9.org/Cryptcat/">Cryptcat</a>, <a href="http://www.deepspace6.net/projects/netcat6.html">Netcat6</a>, <a href="http://dcs.nac.uci.edu/%7Esombrg/pnetcat.html">PNetcat</a>, <a href="http://tigerteam.se/dl/sbd/">SBD</a>, and so-called <a href="http://netcat.sourceforge.net/">GNU Netcat</a>.</dd>
<dt><a href="http://www.metasploit.com/">Metasploit Framework</a></dt>
<dd>Hack the Planet - Metasploit took the security world by storm when it was released in 2004.  No other new tool even broke into the top 15 of this list, yet Metasploit comes in at #5, ahead of many well-loved tools that have been developed for more than a decade.  It is an advanced open-source platform for developing, testing, and using exploit code.  The extensible model through which payloads, encoders, no-op generators, and exploits can be integrated has made it possible to use the Metasploit Framework as an outlet for cutting-edge exploitation research.  It ships with hundreds of exploits, as you can see in their <a href="http://metasploit.com:55555">online exploit building demo</a>.  This makes writing your own exploits easier, and it certainly beats scouring the darkest corners of the Internet for illicit shellcode of dubious quality.  Similar professional exploitation tools, such as Core Impact and Canvas already existed for wealthy users on all sides of the ethical specum.  Metasploit simply brought this capability to the masses.</dd>
<dt><a href="http://www.hping.org/">Hping2</a></dt>
<dd>A network probing utility like ping on steroids - This handy little utility assembles and sends custom ICMP, UDP, or TCP packets and then displays any replies. It was inspired by the ping command, but offers far more conol over the probes sent. It also has a handy aceroute mode and supports IP fragmentation. This tool is particularly useful when ying to aceroute/ping/probe hosts behind a firewall that blocks attempts using the standard utilities.  This often allows you to map out firewall rulesets. It is also great for learning more about TCP/IP and experimenting with IP protocols.</dd>
<dt><a href="http://www.kismetwireless.net/">Kismet</a></dt>
<dd>A powerful wireless sniffer - Kismet is an console (ncurses) based 802.11 layer2 wireless network detector, sniffer, and inusion detection system.  It identifies networks by passively sniffing (as opposed to more active tools such as NetStumbler), and can even decloak hidden (non-beaconing) networks if they are in use.  It can automatically detect network IP blocks by sniffing TCP, UDP, ARP, and DHCP packets, log traffic in Wireshark/TCPDump compatible format, and even plot detected networks and estimated ranges on downloaded maps.  As you might expect, this tool is commonly used for <a href="http://en.wikipedia.org/wiki/Wardriving">wardriving</a>.  Oh, and also <a href="http://en.wikipedia.org/wiki/Warwalking">warwalking</a>, <a href="http://www.tgdaily.com/2004/04/30/thg_takes_to_the_air_for_wi/print.html">warflying</a>, and <a href="http://www.oldskoolphreak.com/tfiles/wifi/warskating/warskating.html">warskating</a></dd>
<dt><a href="http://www.tcpdump.org">Tcpdump</a></dt>
<dd>The classic sniffer for network monitoring and data acquisition - Tcpdump is the IP sniffer we all used before Ethereal (Wireshark) came on the scene, and many of us continue to use it frequently.  It may not have the bells and whistles (such as a pretty GUI or parsing logic for hundreds of application protocols) that Wireshark has, but it does the job well and with fewer security holes.  It also requires fewer system resources.  While it doesn't receive new features often, it is actively maintained to fix bugs and portability problems.  It is great for acking down network problems or monitoring activity. There is a separate Windows port named <a href="http://windump.polito.it/">WinDump</a>.  TCPDump is the source of the <a href="http://www.tcpdump.org">Libpcap</a>/<a href="http://winpcap.polito.it/">WinPcap</a> packet capture library, which is used by <a href="http://insecure.org/nmap/">Nmap</a> among many other tools.</dd>
<dt><a href="http://www.oxid.it/cain.html">Cain and Abel</a></dt>
<dd>The top password recovery tool for Windows - UNIX users often smugly assert that the best free security tools support their platform first, and Windows ports are often an afterthought. They are usually right, but Cain &amp; Abel is a glaring exception.  This Windows-only password recovery tool handles an enormous variety of tasks. It can recover passwords by sniffing the network, cracking encrypted passwords using Dictionary, Brute-Force and Cryptanalysis attacks, recording VoIP conversations, decoding scrambled passwords, revealing password boxes, uncovering cached passwords and analyzing routing protocols. It is also <a href="http://www.oxid.it/ca_um/">well documented</a>.</dd>
<dt><a href="http://www.openwall.com/john/">John the Ripper</a></dt>
<dd>A powerful, flexible, and <i>fast</i> multi-platform password hash cracker - John the Ripper is a fast password cracker, currently available for many flavors of Unix (11 are officially supported, not counting different architectures), DOS, Win32, BeOS, and OpenVMS. Its primary purpose is to detect weak Unix passwords. It supports several crypt(3) password hash types which are most commonly found on various Unix flavors, as well as Kerberos AFS and Windows NT/2000/XP LM hashes. Several other hash types are added with conibuted patches. You will want to start with some wordlists, which you can find <a href="ftp://ftp.mirrorgeek.com/openwall/wordlists">here</a>, <a href="ftp://ftp.ox.ac.uk/pub/wordlists/">here</a>, or <a href="http://www.outpost9.com/files/WordLists.html">here</a>.</dd>
<dt><a href="http://ettercap.sourceforge.net/">Ettercap</a></dt>
<dd>In case you still thought switched LANs provide much exa security - Ettercap is a terminal-based network sniffer/interceptor/logger for ethernet LANs. It supports active and passive dissection of many protocols (even ciphered ones, like ssh and https).  Data injection in an established connection and filtering on the fly is also possible, keeping the connection synchronized. Many sniffing modes were implemented to give you a powerful and complete sniffing suite. Plugins are supported. It has the ability to check whether you are in a switched LAN or not, and to use OS fingerprints (active or passive) to let you know the geomey of the LAN.</dd>
<dt><a href="http://www.cirt.net/code/nikto.shtml">Nikto</a></dt>
<dd>A more comprehensive web scanner - Nikto is an open source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 3200 potentially dangerous files/CGIs, versions on over 625 servers, and version specific problems on over 230 servers. Scan items and plugins are frequently updated and can be automatically updated (if desired). It uses Whisker/libwhisker for much of its underlying functionality.  It is a great tool, but the value is limited by its infrequent updates.  The newest and most critical vulnerabilities are often not detected.</dd>
<dt> Ping/telnet/dig/aceroute/whois/netsta</dt>
<dd>The basics - While there are many whiz-bang high-tech tools out there to assist in security auditing, don't forget about the basics!  Everyone should be very familiar with these tools as they come with most operating systems (except that Windows omits whois and uses the name acert). They can be very handy in a pinch, although for more advanced usage you may be better off with Hping2 and Netcat.</dd>
<dt><a href="http://www.openssh.com/">OpenSSH</a> / <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/">PuTTY</a> / <a href="http://www.ssh.com/commerce/index.html">SSH</a></dt>
<dd>A secure way to access remote computers - SSH (Secure Shell) is the now ubiquitous program for logging into or executing commands on a remote machine. It provides secure encrypted communications between two unusted hosts over an insecure network, replacing the hideously insecure telnet/rlogin/rsh alternatives.  Most UNIX users run the open source <a href="http://www.openssh.com/">OpenSSH</a> server and client.  Windows users often prefer the free <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/">PuTTY</a> client, which is also available for many mobile devices.  Other Windows users prefer the nice terminal-based port of OpenSSH that comes with <a href="http://www.cygwin.com/">Cygwin</a>.  Dozens of other free and proprietary clients exist.  You can explore them <a href="http://freessh.org/">here</a> or <a href="http://linuxmafia.com/ssh/">here</a>.</dd>
<dt><a href="http://www.thc.org/thc-hydra/">THC Hydra</a></dt>
<dd>A Fast network authentication cracker which support many different services - When you need to brute force crack a remote authentication service, Hydra is often the tool of choice.  It can perform rapid dictionary attacks against more then 30 protocols, including telnet, ftp, http, https, smb, several databases, and much more.  Like THC Amap this release is from the fine folks at <a href="http://www.thc.org">THC</a>.</dd>
<dt><a href="http://www.parosproxy.org">Paros proxy</a></dt>
<dd>A web application vulnerability assessment proxy - A Java based web proxy for assessing web application vulnerability. It supports editing/viewing HTTP/HTTPS messages on-the-fly to change items such as cookies and form fields. It includes a web traffic recorder, web spider, hash calculator, and a scanner for testing common web application attacks such as SQL injection and cross-site scripting.</dd>
<dt><a href="http://www.monkey.org/%7Edugsong/dsniff/">Dsniff</a></dt>
<dd>A suite of powerful network auditing and peneation-testing tools - This popular and well-engineered suite by Dug Song includes many tools. dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm implement active monkey-in-the-middle attacks against redirected ssh and https sessions by exploiting weak bindings in ad-hoc PKI.  A separately maintained partial Windows port is available <a href="http://www.datanerds.net/%7Emike/dsniff.html">here</a>.  Overall, this is a great toolset.  It handles pretty much all of your password sniffing needs.</dd>
<dt><a href="http://www.stumbler.net">NetStumbler</a></dt>
<dd>Free Windows 802.11 Sniffer - Netstumbler is the best known Windows tool for finding open wireless access points ("wardriving").  They also disibute a WinCE version for PDAs and such named <a href="http://www.stumbler.net/">Ministumbler</a>. The tool is currently free but Windows-only and no source code is provided. It uses a more active approach to finding WAPs than passive sniffers such as Kismet or KisMAC.</dd>
<dt><a href="http://www.thc.org/thc-amap/">THC Amap</a></dt>
<dd>An application fingerprinting scanner - Amap is a great tool for determining what application is listening on a given port.  Their database isn't as large as what <a href="http://insecure.org/nmap/">Nmap</a> uses for its <a href="http://insecure.org/nmap/vscan/">version detection</a> feature, but it is definitely worth ying for a 2nd opinion or if Nmap fails to detect a service.  Amap even knows how to parse Nmap output files.  This is yet another valuable tool from the great guys at <a href="http://www.thc.org">THC</a>.</dd>
<dt><a href="http://www.gfi.com/lannetscan/">GFI LANguard</a></dt>
<dd>A commercial network security scanner for Windows - GFI LANguard scans IP networks to detect what machines are running. Then it ies to discern the host OS and what applications are running.  I also ies to collect Windows machine's service pack level, missing security patches, wireless access points, USB devices, open shares, open ports, services/applications active on the computer, key registry enies, weak passwords, users and groups, and more. Scan results are saved to an HTML report, which can be customized/queried. It also includes a patch manager which detects and installs missing patches.  A free ial version is available, though it only works for up to 30 days.</dd>
<dt><a href="http://www.aircrack-ng.org">Aircrack</a></dt>
<dd>The fastest available WEP/WPA cracking tool - Aircrack is a suite of tools for 802.11a/b/g WEP and WPA cracking. It can recover a 40 through 512-bit WEP key once enough encrypted packets have been gathered. It can also attack WPA 1 or 2 networks using advanced cryptographic methods or by brute force.  The suite includes airodump (an 802.11 packet capture program), aireplay (an 802.11 packet injection program), aircrack (static WEP and WPA-PSK cracking), and airdecap (decrypts WEP/WPA capture files).</dd>
<dt>Superscan</dt>
<dd>A Windows-only port scanner, pinger, and resolver - SuperScan is a free Windows-only closed-source TCP/UDP port scanner by Foundstone.  It includes a variety of additional networking tools such as ping, aceroute, http head, and whois.</dd>
<dt><a href="http://www.netfilter.org/">Netfilter</a></dt>
<dd>The current Linux kernel packet filter/firewall - Netfilter is a powerful packet filter implemented in the standard Linux kernel.  The userspace ips tool is used for configuration. It now supports packet filtering (stateless or stateful), all kinds of network address and port anslation (NAT/NAPT), and multiple API layers for 3rd party extensions.  It includes many different modules for handling unruly protocols such as FTP.  For other UNIX platforms, see Openbsd PF (OpenBSD specific), or IP Filter.  Many <a href="http://en.wikipedia.org/wiki/Personal_firewall">personal firewalls</a> are available for Windows (<a href="http://www.tinysoftware.com/">Tiny</a>,<a href="http://www.zonelabs.com/">Zone Alarm</a>, <a href="">Norton</a>, <a href="http://www.kerio.com/">Kerio</a>, ...), though none made this list.  Microsoft included a very basic firewall in Windows XP SP2, and will nag you incessantly until you install it.</dd>
<dt><a href="http://www.eeye.com/html/Products/Retina/index.html">Retina</a></dt>
<dd>Commercial vulnerability assessment scanner by eEye - Like Nessus, Retina's function is to scan all the hosts on a network and report on any vulnerabilities found.  It was written by <a href="http://www.eeye.com">eEye</a>, who are well known for their <a href="http://www.eeye.com/html/research/index.html">security research</a>.</dd>
<dt><a href="http://www.angryziber.com/ipscan/">Angry IP Scanner</a></dt>
<dd>A fast windows IP scanner and port scanner - Angry IP Scanner can perform basic host discovery and port scans on Windows. Its binary file size is very small compared to other scanners and other pieces of information about the target hosts can be extended with <a href="http://www.angryziber.com/ipscan/plugins/">a few plugins</a>.</dd>
<dt><a href="http://www.rootkit.nl/projects/rootkit_hunter.html">RKHunter</a></dt>
<dd>An Unix Rootkit Detector - RKHunter is scanning tool that checks for signs of various pieces of nasty software on your system like rootkits, backdoors and local exploits. It runs many tests, including MD5 hash comparisons, default filenames used by rootkits, wrong file permissions for binaries, and suspicious sings in LKM and KLD modules.</dd>
<dt><a href="http://www.nta-monitor.com/tools/ike-scan/">Ike-scan</a></dt>
<dd>VPN detector/scanner - Ike-scan exploits ansport characteristics in the Internet Key Exchange (IKE) service, the mechanism used by VPNs to establish a connection between a server and a remote client. It scans IP addresses for VPN servers by sending a specially crafted IKE packet to each host within a network. Most hosts running IKE will respond, identifying their presence. The tool then remains silent and monitors reansmission packets. These reansmission responses are recorded, displayed and matched against a known set of VPN product fingerprints. Ike-scan can VPNs from manufacturers including Checkpoint, Cisco, Microsoft, Nortel, and Watchguard.</dd>
<dt><a href="http://www-nrg.ee.lbl.gov">Arpwatch</a></dt>
<dd>Keeps ack of ethernet/IP address pairings and can detect certain monkey business Arpwatch is the classic ARP man-in-the-middle attack detector from LBNL's Network Research Group. It syslogs activity and reports certain changes via email. Arpwatch uses LibPcap to listen for ARP packets on a local ethernet interface.</dd>
<dt><a href="http://kismac.de/">KisMAC</a></dt>
<dd>A A GUI passive wireless stumbler for Mac OS X - This popular stumbler for Mac OS X offers many of the features of its namesake Kismet, though the codebase is entirely different. Unlike console-based Kismet, KisMAC offers a pretty GUI and was around before Kismet was ported to OS X.  It also offers mapping, Pcap-format import and logging, and even some decryption and deauthentication attacks.</dd>
<dt><a href="http://www.ossec.net/">OSSEC HIDS</a></dt>
<dd>An Open Source Host-based Inusion Detection System - OSSEC HIDS performs log analysis, integrity checking, rootkit detection, time-based alerting and active response. In addition to its IDS functionality, it is commonly used as a SEM/SIM solution. Because of its powerful log analysis engine, ISPs, universities and data centers are running OSSEC HIDS to monitor and analyze their firewalls, IDSs, web servers and authentication logs.</dd>
<dt><a href="http://www.benzedrine.cx/pf.html">Openbsd PF</a></dt>
<dd>The OpenBSD Packet Filter - Like Netfilter and IP Filter on other platforms, OpenBSD users love PF, their firewall tool. It handles network address anslation, normalizing TCP/IP traffic, providing bandwidth conol, and packet prioritization.  It also offers some eccenic features, such as passive OS detection.  Coming from the same guys who created OpenBSD, you can ust that it has been well audited and coded to avoid the sort of security holes we have seen in <a href="http://www3.ca.com/securityadvisor/vulninfo/Vuln.aspx?ID=28350">other</a> <a href="http://netfilter.org/security/">packet</a> <a href="http://www.osvdb.org/displayvuln.php?osvdb_id=4745">filters</a>.</dd>
<dt>Nemesis</dt>
<dd>Packet injection simplified - The Nemesis Project is designed to be a commandline-based, por human IP stack for UNIX/Linux (and now Windows!). The suite is broken down by protocol, and should allow for useful scripting of injected packet streams from simple shell scripts. If you enjoy Nemesis, you might also want to look at Hping2 as they complement each other well.</dd>
<dt><a href="http://tor.eff.org/">Tor</a></dt>
<dd>An anonymous Internet communication system - Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, irc, ssh, and other applications that use the TCP protocol. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features. For a free cross-platform GUI, users recommend <a href="http://www.vidalia-project.net/">Vidalia</a></dd>
<dt><a href="http://www.knoppix.org/">Knoppix</a></dt>
<dd>A general-purpose boo live system on CD or DVD - Knoppix consists of a representative collection of GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI and USB devices and other peripherals. KNOPPIX can be used as a productive Linux system for the desktop, educational CD, rescue system, or as many nmap survey takers attest, a por security tool. For a security-specific Linux disibution see Backack.</dd>
<dt><a href="http://www.iss.net/products_services/enterprise_protection/vulnerability_assessment/scanner_internet.php">ISS Internet Scanner</a></dt>
<dd>Application-level vulnerability assessment - Internet Scanner started off in '92 as a tiny open source scanner by Christopher Klaus.  Now he has grown ISS into a billion-dollar company with a myriad of security products.</dd>
<dt><a href="http://www.foundstone.com/knowledge/proddesc/fport.html">Fport</a></dt>
<dd>Foundstone's enhanced netstat - Fport reports all open TCP/IP and UDP ports on the machine you run it on and shows what application opened each port.  So it can be used to quickly identify unknown open ports and their associated applications. It only runs on Windows, but many UNIX systems now provided this information via netstat (y 'netstat -pan' on Linux).  Here is a PDF-Format <a href="http://www.giac.org/practical/gsec/Teena_Henson_GSEC.pdf">SANS article</a> on using Fport and analyzing the results.</dd>
<dt><a href="http://www.chkrootkit.org/">chkrootkit</a></dt>
<dd>Locally checks for signs of a rootkit - chkrootkit is a flexible, por tool that can check for many signs of rootkit inusion on Unix-based systems. Its features include detecting binary modification, utmp/wtmp/lastlog modifications, promiscuous interfaces, and malicious kernel modules.</dd>
<dt><a href="http://www.immunitysec.com/resources-freesoftware.shtml">SPIKE Proxy</a></dt>
<dd>HTTP Hacking - Spike Proxy is an open source HTTP proxy for finding security flaws in web sites.  It is part of the <a href="http://www.immunitysec.com/resources-freesoftware.shtml">Spike Application Testing Suite</a> and supports automated SQL injection detection, web site crawling, login form brute forcing, overflow detection, and directory aversal detection.</dd>
<dt><a href="http://www.openbsd.org">OpenBSD</a></dt>
<dd>The Proactively Secure Operating System - OpenBSD is one of the only operating systems to eat security as their very highest priority.  Even higher than usability in some cases. But their enviable security record speaks for itself.  They also focus on stability and fight to obtain documentation for the hardware they wish to support.  Perhaps their greatest achievement was creating <a href="http://www.openssh.org">OpenSSH</a>.  OpenBSD users also love [pf], their firewall tool.</dd>
<dt><a href="http://www.yersinia.net">Yersinia</a></dt>
<dd>A multi-protocol low-level attack tool - Yersinia is a low-level protocol attack tool useful for peneation testing.  It is capable of many diverse attacks over multiple protocols, such as becoming the root role in the Spanning ee (Spanning ee Protocol), creating virtual CDP (Cisco Discovery Protocol) neighbors, becoming the active router in a HSRP (Hot Standby Router Protocol) scenario, faking DHCP replies, and other low-level attacks.</dd>
<dt><a href="http://www.nagios.org">Nagios</a></dt>
<dd>An open source host, service and network monitoring program - Nagios is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Some of its many features include monitoring of network services (smtp, pop3, http, nntp, ping, etc.), monitoring of host resources (processor load, disk usage, etc.), and contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method).</dd>
<dt><a href="http://www.monkey.org/%7Edugsong/fragroute/">Fragroute</a> / <a href="http://www.packetstormsecurity.nl/UNIX/IDS/nidsbench/fragrouter.html">Fragrouter</a></dt>
<dd>A network inusion detection evasion toolkit - Fragrouter is a one-way fragmenting router - IP packets get sent from the attacker to the Fragrouter, which ansforms them into a fragmented data stream to forward to the victim. Many network IDS are unable or simply don't bother to reconsuct a coherent view of the network data (via IP fragmentation and TCP stream reassembly), as discussed in <a href="http://insecure.org/stf/secnet_ids/secnet_ids.html">this classic paper</a>. Fragrouter helps an attacker launch IP-based attacks while avoiding detection.  It is part of the <a href="http://www.packetstormsecurity.nl/UNIX/IDS/nidsbench/nidsbench.html">NIDSbench</a> suite of tools by Dug Song.  Fragroute is a similar tool which is also by Dug Song.</dd>
<dt><a href="http://www.xfocus.org/programs/200209/10.html">X-scan</a></dt>
<dd>A general scanner for scanning network vulnerabilities - A multi-threaded, plug-in-supported vulnerability scanner. X-Scan includes many features, including full NASL support, detecting service types, remote OS type/version detection, weak user/password pairs, and more.  You may be able to find newer versions available here if you can deal with most of the page being written in Chinese.</dd>
<dt>Whisker/libwhisker</dt>
<dd>Rain.Forest.Puppy's CGI vulnerability scanner and library - Libwhisker is a Perl module geared geared towards HTTP testing. It provides functions for testing HTTP servers for many known security holes, particularly the presence of dangerous CGIs. Whisker is a scanner that used libwhisker but is now deprecated in favor of Nikto which also uses libwhisker.</dd>
<dt><a href="http://www.dest-unreach.org/socat/">Socat</a></dt>
<dd>A relay for bidirectional data ansfer - A utility similar to the venerable Netcat that works over a number of protocols and through a files, pipes, devices (terminal or modem, etc.), sockets (Unix, IP4, IP6 - raw, UDP, TCP), a client for SOCKS4, proxy CONNECT, or SSL, etc. It provides forking, logging, and dumping, different modes for interprocess communication, and many more options. It can be used, for example, as a TCP relay (one-shot or daemon), as a daemon-based socksifier, as a shell interface to Unix sockets, as an IP6 relay, for redirecting TCP-oriented programs to a serial line, or to establish a relatively secure environment (su and chroot) for running client or server shell scripts with network connections.</dd>
<dt><a href="http://www-arc.com/sara/">Sara</a></dt>
<dd>Security Auditor's Research Assistant - SARA is a vulnerability assessment tool that was derived from the infamous SATAN scanner.  They y to release updates twice a month and y to leverage other software created by the open source community (such as <a href="http://insecure.org/nmap/">Nmap</a> and <a href="http://samba.org">Samba</a>).</dd>
<dt><a href="http://www.qualys.com/">QualysGuard</a></dt>
<dd>A web-based vulnerability scanner - Delivered as a service over the Web, QualysGuard eliminates the burden of deploying, maintaining, and updating vulnerability management software or implementing ad-hoc security applications. Clients securely access QualysGuard through an easy-to-use Web interface. QualysGuard features 5,000+ unique vulnerability checks, an Inference-based scanning engine, and automated daily updates to the QualysGuard vulnerability KnowledgeBase.</dd>
<dt><a href="http://www.clamav.net/">ClamAV</a></dt>
<dd>A GPL anti-virus toolkit for UNIX - ClamAV is a powerful AntiVirus scanner focused towards integration with mail servers for attachment scanning. It provides a flexible and scalable multi-threaded daemon, a command line scanner, and a tool for automatic updating via the Internet. Clam AntiVirus is based on a shared library disibuted with the Clam AntiVirus package, which you can use with your own software. Most importantly, the virus database is kept up to date.</dd>
<dt><a href="http://portswigger.net/suite/">Burpsuite</a></dt>
<dd>An integrated platform for attacking web applications - Burp suite allows an attacker to combine manual and automated techniques to enumerate, analyze, attack and exploit web applications. The various burp tools work together effectively to share information and allow findings identified within one tool to form the basis of an attack using another.</dd>
<dt><a href="http://www.hoobie.net/brutus/">Brutus</a></dt>
<dd>A network brute-force authentication cracker - This Windows-only cracker bangs against network services of remote systems ying to guess passwords by using a dictionary and permutations thereof.  It supports HTTP, POP3, FTP, SMB, TELNET, IMAP, NTP, and more.  No source code is available.  UNIX users should take a look at THC Hydra.</dd>
<dt><a href="http://www.unicornscan.org/">Unicornscan</a></dt>
<dd>Not your mother's port scanner - Unicornscan is an attempt at a User-land Disibuted TCP/IP stack for information gathering and correlation. It is intended to provide a researcher a superior interface for inoducing a stimulus into and measuring a response from a TCP/IP enabled device or network. Some of its features include asynchronous stateless TCP scanning with all variations of TCP flags, asynchronous stateless TCP banner grabbing, and active/passive remote OS, application, and component identification by analyzing responses.  Like Scanrand, it isn't for the faint of heart.</dd>
<dt><a href="http://www.stunnel.org/">Stunnel</a></dt>
<dd>A general-purpose SSL cryptographic wrapper - The stunnel program is designed to work as an SSL encryption wrapper between remote client and local (ine-star) or remote server. It can be used to add SSL functionality to commonly used ine daemons like POP2, POP3, and IMAP servers without any changes in the programs' code. It will negotiate an SSL connection using the OpenSSL or SSLeay libraries.</dd>
<dt><a href="http://www.citi.umich.edu/u/provos/honeyd/">Honeyd</a></dt>
<dd>Your own personal <a href="http://www.honeynet.org">honeynet</a> Honeyd is a small daemon that creates virtual hosts on a network. The hosts can be configured to run arbiary services, and their TCP personality can be adapted so that they appear to be running certain versions of operating systems. Honeyd enables a single host to claim multiple addresses on a LAN for network simulation. It is possible to ping the virtual machines, or to aceroute them. Any type of service on the virtual machine can be simulated according to a simple configuration file. It is also possible to proxy services to another machine rather than simulating them.  It has many library dependencies, which can make compiling/installing Honeyd difficult.</dd>
<dt><a href="http://www.fping.com/">Fping</a></dt>
<dd>A parallel ping scanning program - fping is a ping(1) like program which uses the Internet Conol Message Protocol (ICMP) echo request to determine if a host is up. fping is different from ping in that you can specify any number of hosts on the command line, or specify a file containing the lists of hosts to ping.  Instead of ying one host until it timeouts or replies, fping will send out a ping packet and move on to the next host in a round-robin fashion. If a host replies, it is noted and removed from the list of hosts to check. If a host does not respond within a certain time limit and/or rey limit it will be considered unreachable.</dd>
<dt><a href="http://sourceforge.net/projects/secureideas/">BASE</a></dt>
<dd>The Basic Analysis and Security Engine - BASE is a PHP-based analysis engine to search and process a database of security events generated by various IDSs, firewalls, and network monitoring tools. Its features include a query-builder and search interface for finding alerts matching different patterns, a packet viewer/decoder, and charts and statistics based on time, sensor, signature, protocol, IP address, etc.</dd>
<dt><a href="http://www.qosient.com/argus/">Argus</a></dt>
<dd>A generic IP network ansaction auditing tool - Argus is a fixed-model Real Time Flow Monitor designed to ack and report on the status and performance of all network ansactions seen in a data network traffic stream. Argus provides a common data format for reporting flow meics such as connectivity, capacity, demand, loss, delay, and jitter on a per ansaction basis. The record format that Argus uses is flexible and extensible, supporting generic flow identifiers and meics, as well as application/protocol specific information.</dd>
<dt><a href="http://www.sensepost.com/research/wikto/">Wikto</a></dt>
<dd>Web Server Assessment Tool - Wikto is a tool that checks for flaws in webservers. It provides much the same functionality as Nikto but adds various interesting pieces of functionality, such as a Back-End miner and close Google integration. Wikto is written for the MS .NET environment and registration is required to download the binary and/or source code.</dd>
<dt><a href="http://sguil.sourceforge.net/">Sguil</a></dt>
<dd>The Analyst Console for Network Security Monitoring - Sguil (pronounced sgweel) is built by network security analysts for network security analysts. Sguil's main component is an intuitive GUI that provides realtime events from Snort/barnyard. It also includes other components which facilitate the practice of Network Security Monitoring and event driven analysis of IDS alerts.</dd>
<dt>Scanrand</dt>
<dd>An unusually fast stateless network service and topology discovery system - Scanrand is a stateless host-discovery and port-scanner similar in design to Unicornscan. It ades off reliability for amazingly fast speeds and uses cryptographic techniques to prevent attackers from manipulating scan results.  This utility is a part of a software package called Paketto Keiretsu which was written by Dan Kaminsky.</dd>
<dt><a href="http://coombs.anu.edu.au/%7Eavalon/">IP Filter</a></dt>
<dd>Por UNIX Packet Filter - IP Filter is a software package that can be used to provide network address anslation (NAT) or firewall services. It can either be used as a loadable kernel module or incorporated into your UNIX kernel; use as a loadable kernel module where possible is highly recommended. Scripts are provided to install and patch system files, as required. IP Filter is disibuted with FreeBSD, NetBSD, and Solaris. OpenBSD users should see Openbsd PF and Linux users Netfilter.</dd>
<dt><a href="http://www.immunitysec.com/products-canvas.shtml">Canvas</a></dt>
<dd>A Comprehensive Exploitation Framework - Canvas is a commercial vulnerability exploitation tool from Dave Aitel's <a href="http://www.immunitysec.com">ImmunitySec</a>.  It includes more than 150 exploits and is less expensive than Core Impact, though it still costs thousands of dollars.  You can also buy the optional <a href="http://www.immunitysec.com/products-visualsploit.shtml">VisualSploit Plugin</a> for drag and drop GUI exploit creation.  Zero-day exploits can occasionally be found within Canvas.</dd>
<dt><a href="http://www.vmware.com/">VMware</a></dt>
<dd>Multi-platform Virtualization Software - VMware virtualization software lets you run one operating system within another.  This is quite useful for security researchers who commonly need to test code, exploits, etc on multiple platforms.  It only runs on Windows and Linux as the host OS, but pretty much any x86 OS will run inside the virtualized environment.  It is also useful for setting up sandboxes.  You can browse from within a VMware window so the even if you are infected with malware, it cannot reach your host OS.  And recovering the guest OS is as simple as loading a "snapshot" from prior to the infection. <a href="http://www.vmware.com/products/player/">VMware player</a> (executes, but can't create OS images) and <a href="http://www.vmware.com/products/server/">VMWare Server</a> (partitions a physical server machine into multiple virtual machines) were recently released for free.  Another interesting virtualization system (Linux focused) is <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/">Xen</a>.</dd>
<dt>Tcpaceroute</dt>
<dd>A aceroute implementation using TCP packets - The problem is that with the widespread use of firewalls on the modern Internet, many of the packets that the conventional aceroute(8) sends out (ICMP echo or UDP) end up being filtered, making it impossible to completely ace the path to the destination. However, in many cases, these firewalls will permit inbound TCP packets to specific ports that hosts sitting behind the firewall are listening for connections on. By sending out TCP SYN packets instead of UDP or ICMP ECHO packets, tcpaceroute is able to bypass the most common firewall filters.</dd>
<dt><a href="http://www.saintcorporation.com/saint/">SAINT</a></dt>
<dd>Security Adminisator's Integrated Network Tool - SAINT is another commercial vulnerability assessment tool (like Nessus, ISS Internet Scanner, or Retina).  It runs on UNIX and used to be free and open source, but is now a commercial product.</dd>
<dt><a href="http://openvpn.net/">OpenVPN</a></dt>
<dd>A full-featured SSL VPN solution - OpenVPN is an open-source SSL VPN package which can accommodate a wide range of configurations, including remote access, site-to-site VPNs, WiFi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-conols. OpenVPN implements OSI layer 2 or 3 secure network extension using the indusy standard SSL/TLS protocol, supports flexible client authentication methods based on certificates, smart cards, and/or 2-factor authentication, and allows user or group-specific access conol policies using firewall rules applied to the VPN virtual interface. OpenVPN uses OpenSSL as its primary cryptographic library.</dd>
<dt><a href="http://www.ollydbg.de/">OllyDbg</a></dt>
<dd>An assembly level Windows debugger - OllyDbg is a 32-bit assembler level analyzing debugger for Microsoft Windows. Emphasis on binary code analysis makes it particularly useful in cases where source is unavailable. OllyDbg features an intuitive user interface, advanced code analysis capable of recognizing procedures, loops, API calls, switches, s, constants and sings, an ability to attach to a running program, and good multi-thread support. OllyDbg is free to download and use but no source code is provided.</dd>
<dt><a href="http://www.e-fense.com/helix/">Helix</a></dt>
<dd>A Linux Disibution with Computer Forensics in Mind - Helix is a customized disibution of the Knoppix Live Linux CD. Helix is more than just a boo live CD. You can still boot into a customized Linux environment that includes customized Linux kernels, excellent hardware detection and many applications dedicated to Incident Response and Forensics.  Helix has been designed very carefully to NOT touch the host computer in any way and it is forensically sound. Helix will not auto mount swap space, or auto mount any attached devices. Helix also has a special Windows autorun side for Incident Response and Forensics.</dd>
<dt><a href="http://www.bastille-linux.org/">Bastille</a></dt>
<dd>Security hardening script for Linux, Mac OS X, and HP-UX - The Bastille Hardening program "locks down" an operating system, proactively configuring the system for increased security and decreasing its susceptibility to compromise. Bastille can also assess a system's current state of hardening, granularly reporting on each of the security settings with which it works.  Bastille currently supports the Red Hat (Fedora Core, Enterprise, and Numbered/Classic), SUSE, Debian, Gentoo, and Mandrake disibutions, along with HP-UX and Mac OS X. Bastille's focuses on letting the system's user/adminisator choose exactly how to harden the operating system. In its default hardening mode, it interactively asks the user questions, explains the topics of those questions, and builds a policy based on the user's answers. It then applies the policy to the system. In its assessment mode, it builds a report intended to teach the user about available security settings as well as inform the user as to which settings have been tightened.</dd>
<dt><a href="http://www.acunetix.com/">Acunetix Web Vulnerability Scanner</a></dt>
<dd>Commercial Web Vulnerability Scanner - Acunetix WVS automatically checks your web applications for vulnerabilities such as SQL Injection, cross site scripting, and weak password sength on authentication pages. Acunetix WVS boasts a comfor GUI and an ability to create professional website security audit reports.</dd>
<dt><a href="http://www.trueCrypt.org/">trueCrypt</a></dt>
<dd>Open-Source Disk Encryption Software for Windows and Linux - trueCrypt is an excellent open source disk encryption system.  Users can encrypt entire filesystems, which are then on-the-fly encrypted/decrypted as needed without user intervention beyond entering their passphrase intially.  A clever <a href="http://www.trueCrypt.org/user-guide/hidden-volume.php">hidden volume</a> feature allows you to hide a 2nd layer of particularly sensitive content with plausible deniability about whether it exists. Then if you are forced to give up your passphrase, you give them the first-level secret.  Even with that, attackers cannot prove that a second level key even exists.</dd>
<dt><a href="http://www.watchfire.com/products/appscan/default.aspx">Watchfire AppScan</a></dt>
<dd>Commercial Web Vulnerability Scanner - AppScan provides security testing throughout the application development lifecycle, easing unit testing and security assurance early in the development phase. Appscan scans for many common vulnerabilities, such as cross site scripting, HTTP response splitting, parameter tampering, hidden field manipulation, backdoors/debug options, buffer overflows and more.</dd>
<dt><a href="http://www.nstalker.com/nstealth/">N-Stealth</a></dt>
<dd>Web server scanner - N-Stealth is a commercial web server security scanner. It is generally updated more frequently than free web scanners such as Whisker/libwhisker and Nikto, but do take their web site with a grain of salt. The claims of "30,000 vulnerabilities and exploits" and "Dozens of vulnerability checks are added every day" are highly questionable. Also note that essentially all general VA tools such as Nessus, ISS Internet Scanner, Retina, SAINT, and Sara include web scanning components.  They may not all be as up-to-date or flexible though. N-Stealth is Windows only and no source code is provided.</dd>
<dt><a href="http://www.microsoft.com/technet/security/tools/mbsahome.mspx">MBSA</a></dt>
<dd>Microsoft Baseline Security Analyzer - Microsoft Baseline Security Analyzer (MBSA) is an easy-to-use tool designed for the IT professional that helps small and medium-sized businesses determine their security state in accordance with Microsoft security recommendations and offers specific remediation guidance. Built on the Windows Update Agent and Microsoft Update infrasucture, MBSA ensures consistency with other Microsoft management products including Microsoft Update (MU), Windows Server Update Services (WSUS), Systems Management Server (SMS) and Microsoft Operations Manager (MOM). Apparently MBSA on average scans over 3 million computers each week.</dd>
</dl><p><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"></a><a href="http://www.askapache.com/security/computer-security-toolbox-2.html">COMPUTER SECURITY TOOLBOX</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/security/computer-security-toolbox-2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>About AskApache</title>
		<link>http://www.askapache.com/about</link>
		<comments>http://www.askapache.com/about#comments</comments>
		<pubDate>Mon, 15 Sep 2008 12:26:49 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
		
		<guid isPermaLink="false">http://www.askapache.com/about/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about"><cite>AskApache.com</cite></a></p><p>The goal of AskApache.com is simple - To provide free access to knowledge and data with the goal of empowering people.. or more melodramatically:  <strong>"Power to the People!"</strong></p>
<p><strong>Why the name AskApache?</strong>  AskApache was chosen to show and pay <strong>respect</strong> to the contributors of the <a href="http://httpd.apache.org">Apache Web Server</a>.  Literally it means to ask Apache when facing a problem, by searching the <strong>Open-Source</strong>, contacting a board/list, or browsing the documentation.</p>



<h3>Technology Interests</h3>
<ol>
    <li><strong>CSS</strong></li>
    <li><strong>XHTML</strong> (<em>strict!</em>)</li>
    <li><strong>Javascript</strong> (<em>unobtrusive, strict!</em>)</li>
    <li><strong>NetSec</strong> (<em>network security, hack the planet</em>)    </li>
    <li><strong>PHP, Python, Ruby, Perl, Ocaml, Shell-Scripting</strong> (<em>strict mostly!</em>)</li>
    <li><strong>AJAX</strong> (<em>strict,crossbrowser,degrades gracefully!</em>)</li>
    <li><strong>Linux</strong> <em>{Arch-Linux, Slackware, Gentoo, Red Hat, Fedora}</em></li>
    <li><strong>BSD/Unix</strong> <em>{OpenBSD, FreeBSD, NetBSD}</em></li>
    <li><strong>Software</strong> <em>{Photoshop, Dreamweaver, Sorenson, Flash, QuickTime, ffmpeg, nirsoft, sysinternals, Adobe Creative Suite, etc.}</em></li>
    <li><strong>Windows</strong> <em>{for Workgroups, 3.1, 95, 98, me, 2000, NT Workstation&amp;Server,  XP Pro&amp;Home SP1&amp;SP2}</em></li>
    <li>And of course, if not especially, the <strong><a href="http://www.askapache.com/htaccess/htaccess.html">Apache Web Server, .htaccess, and mod_rewrite</a>!</strong></li>
</ol>



<h3>AskApache.com Info</h3>
<ol>
    <li><a href="https://plus.google.com/101616558702207714980" rel="me">Google +</a></li>
    <li>Popular Web Design and Development Blogs on Google</li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Top Weblogs on Alexa</a></li>
    <li><a href="http://www.technorati.com/people/technorati/askapache">Technorati</a></li>
    <li><a href="http://twitter.com/AskApache">AskApache Twitter</a></li>
    <li><a href="http://profile.typekey.com/AskApache/">Typekey</a></li>
    <li><a href="http://askapache.stumbleupon.com/">Stumbleupon</a></li>
    <li><a href="http://www.last.fm/user/AskApache">Last.fm</a></li>
    <li><a href="http://www.seomoz.org/users/view/25352">seomoz</a></li>
    <li><a href="http://www.livejournal.com/userinfo.bml?userid=15825935&amp;t=I">LiveJournal</a></li>
    <li><a href="http://digg.com/users/apachehtaccess">Digg</a></li>
    <li><a href="http://flickr.com/people/htaccess/">Flickr</a></li>
    <li><a href=" http://www.mybloglog.com/buzz/members/AskApache">MyBlogLog</a></li>
    <li><a href="http://wordpress.org/extend/plugins/profile/askapache">WordPress Plugins</a>, <a href="http://wordpress.org/support/profile/407510">Support Forum</a>, <a href="http://codex.wordpress.org/User:AskApache">Codex Wiki</a></li>
    <li><a href="http://www.blogcatalog.com/user/askapache">BlogCatalog</a></li>
</ol>


<h2>More AskApache</h2>
<ol>
    <li><a rel="nofollow" href="http://www.blogcatalog.com/blogs/askapache-web-fire.html">BlogCatalog</a></li>
    <li><a rel="nofollow" href="http://www.statsaholic.com/askapache.com">StatsAholic</a></li>
    <li><a rel="nofollow" href="http://www.alexa.com/data/details/main?url=askapache.com">Alexa</a></li>
    <li><a rel="nofollow" href="http://www.technorati.com/search/askapache.com">Technorati</a></li>
    <li><a rel="nofollow" href="http://siteanalytics.compete.com/askapache.com/">Compete</a></li>
    <li><a rel="nofollow" href="http://www.quantcast.com/askapache.com">Quantcast</a></li>
    <li><a rel="nofollow" href="http://whois.domaintools.com/askapache.com">DomainTools</a></li>
    <li><a rel="nofollow" href="http://search.live.com/results.aspx?q=%2Bsite%3Awww.askapache.com">Live</a></li>
    <li><a rel="nofollow" href="http://www.google.com/search?q=site%3Aaskapache.com">Google</a></li>
    <li><a rel="nofollow" href="http://www.findforward.com/?q=askapache&amp;t=world">FindForward</a></li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Alexa Directory</a><a href="http://www.alexa.com/search?q=askapache.com">Alexa Info</a></li>
    <li><a rel="nofollow" href="http://www.mybloglog.com/buzz/community/apache-htaccess/">MyBlogLog htaccess Group</a></li>
</ol>


<h2>AskApache mirrors</h2>
<p>Every once in awhile I come across a project that is so indescribably great that I decide to help out by mirroring and contributing to the content.</p>
<ul>
    <li><a href="http://curl.askapache.com/" title="curl, libcurl">cURL / libcurl</a></li>
    <li><a href="http://nongnu.askapache.com/" title="Savannah Non-gnu free software">Savannah - nongnu</a></li>
    <li><a href="http://wireshark.askapache.com/" title="WireShark">WireShark Network God</a></li>
</ul>
<p><em>Google if you are reading this, I'm willing to relocate. ;)  Microsoft, no thanks.</em></p><p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about">About AskApache</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/about/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

