/* Void Main's About Uptime */

{ main(); }
» About Uptime
If you had clicked on the uptime link you would have been taken to a Netcraft page which would indicate what Netcraft believes to be the uptime of this server along with what it believes to be the operating system and web server software running on this server. You may have noticed that it shows Solaris 8 and some bogus web server string. All three of these are spoofed and I can tell you that spoofing Netcraft is not the easiest thing to do.

Spoofing your operating system does not increase your security but it does slightly obfuscate, which could confuse certain script kiddie programs. I however just did it to see if I could, so I might as well tell you what I am really running. It's Red Hat 9 with Apache 2.0.40 (at least at the time of this writing). Making Apache report something other than Apache is as trivial as downloading the SRPM, hacking the "AP_SERVER_BASEPRODUCT" definition in "ap_release.h" and rebuilding/installing the resulting RPM. And setting "ServerTokens Prod" in the httpd.conf.

Spoofing the actual operating system is a little more difficult. It requires the ippersonality patches be applied to the kernel, and to iptables, then running iptables with a configuration file of the operating system you wish to masquerade as. This also spoofs nmap. I originally set it up to masquerade as a Sega Dreamcast. nmap recognized the server as a Sega Dreamcast but Netcraft just showed "unknown" for operating system. Netcraft did understand Solaris 8 however so that's what I set it to for quite some time. Now I have it set to linux-2.2.x.

As far as the uptime itself... well... as I mentioned I am really running Red Hat 9 on this server and Red Hat hasn't even been out for 400+ days so you know I spoofed the uptime. As far as the server is concerned, locally it really thinks it's been up that long, even if you do an "uptime" command (which is what I grab the numbers from on the front page). This took a little bit of kernel hacking and is extremely sensitive to bumping up the uptime. I have figured out a way to do this automatically at boot time (although I haven't rebooted this machine since installing Red Hat and getting the uptime hack in place).

I have contemplated writing a small HOWTO on this but I just think it would be wrong. I have created a patch for the kernel that is only two lines long (thanks to a page I found with a careful google search for an older version of the kernel). I'll give you a hint, it has to do with exposing the jiffies variable under /proc so you can fiddle with it. That variable is the base time counter for the kernel. Making radical changes all at once to this variable may cause applications to go haywire or cause your system to freeze up. As I mentioned I figured out a way to incrementally bump up the uptime to over 400 days in a boot script that seems to work without a glitch but I have probably told you more than I should have already. If everyone did this Netcraft would be rendered totally useless.

NOTE: For some reason Netcraft shuts down the uptime pages periodically. If uptime is currently not available on Netcraft you can still check my uptime with the following command:

# nmap   -p  80  -P0  -O  voidmain.is-a-geek.net

Valid HTML 4.01!