I'm a bit of a paranoid when it comes to network security. The Windows installations in our home network, for example, is anything but a default installation—fine grained settings like local security and user permissions have been tweaked and tuned, and both operating system and router firewalls have been enabled. Additionally, an anti-malware software roam the premises to guard against viruses and trojan horses, while another guards against adware, spyware, keyloggers and such. On top of that, my Firefox browser have it's own anti-malware extensions like Adblock and NoScript. In a way, I built my system like a tank.
My concern for security started sometime in 1995 when I began learning about networks (particularly TCP/IP) and operating systems (Unix). In addition to all those alphabet soup, which would be sufficient to call the attention of the AAAAAAAA (American And Austral-Asian Association Against Acronym Abuse), I learned that the moment you are connected to the Internet, you are already a big, fat target. Specially if you are using a default installation of Windows in which you are running as a member of the Administrators group. And more specially if you are running Internet Explorer. (But I should say that the new IE8 has become a lot better) It is not a question of whether your system can be compromised or not but of when. Once you register as a blip in the network intruder's radar and she has set her sights on you, all you can do is pray.
But that's not the only reason for my online fears. There was a time when one of our computers got infected by a very nasty virus. You wouldn't know it was there. I just noticed it when the modem activity lights showed some kind of network activity even when I was not browsing. Then, the memory taken up by all declared running processes plus the available memory does not add up to the total memory; hence, some processes are running in the background undeclared. My anti-virus failed to clean my system and I ended up having to manually search and delete all infected files in safe mode by inspecting each alleged system file and checking its signature and file version. A tedious task. It is a very time consuming process that I do not wish to repeat again.
Building my system like a tank, however, is not enough. I also have to secure all my online accounts with strong passwords. That's not a problem though, because I have a program which could generate a password of any length with a random string of letters, numbers, punctuations and symbols. I prefer 14 characters—something like: 8%{tG7,dz;$F_4. Now, it would seem that remembering that string would be a problem specially because there are about a dozen more of them for all the email and online accounts I have. (I use different email accounts for blogging, friends, family, clients, throw aways, etc.) But my password generator can also store all of them encrypted with a master password. It even auto-fills the form in most login pages. So far, so good.
So I'm good, right? Wrong.
About three weeks ago, something came up which even my well thought of (at least that was what I thought it is) security precautions were not prepared to handle. Windows was doing its routinary downloading of updates while another software was indexing files in my hard disk. After the download and the automatic installation of updates, I turned off my computer and readied for bed. What I did not know was that my file system just failed at that moment. I do not know the cause either. It could be a clash between the system update and the indexing which had not been resolved since I had turned off my machine immediately, or maybe it's just the alignment of the stars that night.
What I do know, however, is that the next time I tried to boot up my system, it won't. It won't go past the NT boot loader because it cannot find a system file it needs—courtesy of a broken file system.
I used another machine to connect to the internet and consult Google. It has always been my friend. I'm sure it can help me out now. Most of the solutions I found recommend running Chkdsk with the F switch thrown in. I already know that but how can I run Chkdsk when I cannot even login to the system?
Unfortunately, I can't do all my troubleshooting in one sitting. There are other things on my list. But after some days and more Google search result pages later, I found another trick. It seems that one could boot up using the Windows Installation disc and do a repair from there. No need to do a reinstall; once the problematic Windows file system is detected, a new option to repair that partition would be added to the option of doing a fresh install.
That was just what I did. I booted the system up using my Windows Installation disc. But when the prompts came, there was not any option about repairing the broken file system. It looks like the file system was not only broken but was broken badly enough that it can't even be detected, much less repaired. At this point, I started thinking about my blog and all the comments I have not replied to yet. I started to panic and miss my friends in Twitter.
Then I had an idea. I thought about installing Linux in a separate partition of my hard disk. With Linux installed, I said to myself, I can run Firefox and hence tweet and manage my blog and my inbox from there. I would have liked a dedicated email client or a dedicated Twitter client but a browser would do for the meantime. For word-processing, I could use Google Docs also in Firefox. I could then repair my Windows file system when time permits. Or so, I thought.
The next evening, I had Linux installed (Jaunty Jackalope). Another evening after that, I had it updated, configured, massaged and ready to go. (I can't do everything in one sitting, remember? I do have a wife whose whims I need to take care of.) Wow, this is it, I said. First stop, Twitter. Uh, oh. It asked me for a password. I have not even thought of it since everything had been automatic in my previous environment. I didn't have to enter any passwords. And if you remembered the sort of password I described above, you now know that I have a problem, right? What about my email accounts or my JS-Kit? It looks like all of the things I did were useless. I still needed that Windows partition so that I can recover the passwords file.
Fast forward to a few days ago, I finally recovered everything; thanks to the advanced tools provided by Linux and the fact that the Windows file system, NTFS, is a journalized file system. I'll spare you the gruesome details of how I went through recovering it, like how I used a flame torch, a chainsaw and a sledgehammer on my system; (Just kidding. Kids, don't try this at home.) but suffice it to say that it took me almost as long as manually extracting the virus that infected our system in the past. Running Chkdsk alone almost took a total of 48 hours. (I also did it about three or four times though succeeding checks became a little faster as there were already fewer errors.)
Looking back, I spent a lot of time making sure that my system is almost impervious to external threats but failed to consider threats from within the system like a hard disk crash or failure, or a file system corruption. Those extra secure, incomprehensible passwords even made it more difficult for me after the system failed. In addition to locking out external threats, I should have considered a sound backup strategy in case of problems within the system. With a proper backup system in place, it would have been easier and much faster to do a reinstall and then to restore all the data.
Despite being a dull narrative of my misadventure with the Windows file system, I do hope you'll learn from this because it can happen to you too. And if it does, you might not be as lucky to recover any important files you may have. Anyway, a thumb drive or a dual-layer DVD, which are both portable and spacious, does not cost much nowadays.
My Windows system is now up but I'll still be sticking with Linux for a while until I'm totally sure that the Windows file system is healthy and won't thrash after an innocent write. So if your Google Analytics would show a couple of Jaunty Jackalopes, one of those might just be mine.