I think this is a really cool picture. It is one from a set at http://www.smashingmagazine.com/2008/08/24/45-beautiful-motion-blur-photos/
I’d like to start this off by saying if you want better security…
…switch to a good BSD or Linux distribution!
What follows is an email that I typed up to someone who was being aggressively sold anti virus software by a PC security vendor. It was not intended to be 100% technically complete, but rather just an overview and recommendations for that specific person.
Your mileage may vary.
There are only a couple ways of getting a virus:
- Your computer has a security hole, and you visit a malicious web site.
- Your computer has a security hole, and another computer “pushes” a virus into your computer (other computers in the same office).
- Your email client has a security hole and you read a malicious email.
- You open a malicious attachment
- You download stuff or install stuff that other people gave you.
The last two are bold, because they are the most common. And the most easy to avoid.
Here is how to not get viruses:
- I DO NOT open attachments from people unless I know WHAT THEY ARE and WHY IT WAS SENT to me.
- I DO NOT download stuff from the internet, except from the most reputable sites (Microsoft, Google, Sun, etc…)
- I KEEP my computers up to date all the time by running windows update.
- I DO NOT browse the internet using Internet Explorer. I only use it for specific sites that require it.
What if you get one anyway, through something that is beyond your control?
The thing to remember here is that computers can DIE AT ANY TIME WITHOUT NOTICE. They are fragile machines that have 1,000,000 things that can go wrong. If you are keeping data on your PC and planning on it being there tomorrow, you will eventually be in for a nasty surprise.
Your computer will stop working at some point due to (a) malfunction, (b) virus, (c) hardware failure, (d) software failure.
So what is the answer? Backup, backup, backup…
To illustrate… I could lose any of my computers right now, and not be much more than inconvenienced. In fact, I just erased my whole PC at home and had 100% confidence that I could put everything back.
That is the attitude that NEEDS to be taken — PC’s are totally unreliable. Keep anything of any value always backed up.
How do you keep it backed up?
I did a good bit of research on that. Here is what my circumstance looks like:
At work, we keep everything on the server. And we backup the server every day. However, this is impractical for some users who just naturally use “My Documents” and forget to use the server drive.
At home, I use http://sugarsync.com. That is a great service that ALWAYS keeps your computers backed up ALL the time. You just tell it what to keep track of, and it notices any time there is a change and backs it up. I think this is an excellent solution (it starts at $5.00 / month for 30 GB or $10.00 / month for 60 GB).
I recommend that you guys take a look at sugar sync. It’s a snap to use, and gives you the confidence that your PC’s are unreliable, but you are covered. It also keeps the latest 5 versions of each file, incase you need to look back at a previous version. I did a lot of research before picking one that I was confident in.
Actually, my laptop just died. Really — it won’t turn on. I cannot get into it to do anything at all. But everything I had on it is at my fingertips. I can pull it down to my PC and keep moving.
But what about viruses, etc…?
Well, users are not always the most thoughtful about what files they download, or install, or interact with. So it is an advisable idea to run a good UP TO DATE anti virus solution.
I use Norton on some computers (notably, not on any of my PC’s for years, and never had a virus on any of those computers). But I do prefer to have it on most computers just because it does scan incoming files, and tells you if you were infected.
However, the anti virus software MUST be kept up to date.
Anti virus won’t do any good if Windows has a security hole. Windows update is not optional, it is a MUST.
Lastly, DO NOT use internet explorer for browsing the internet. Use Fire Fox. Sometimes you need to use IE for a conference call, or to check compatibility, but it has far fewer and less severe security holes than IE.
- Keep your computer updated via windows update (automatic).
- Keep your computer backed up (via sugar sync (automatic).
- Keep your browser secure and updated (firefox, automatic)
- Don’t download anything except the most reputable software
- Don’t install anything from anyone — directly download it if you need it
- Don’t open attachments unless you know WHAT they are and WHY you have them.
- Run a good up to date anti virus package (norton, automatic updates)
Did I mention keep your computer backed up? https://www.sugarsync.com/
Having recently moved some of our hosting infrastructure to the excellent Rackspace Platform group, we inherited the management of the Cisco 11500 Series Content Services Switches (CSS), which we use for general load balancing + ssl termination.
As a side note, it’s really powerful, fast, and well, plain nice. Not having to manage SSL certs on each apache instance is really nice, and all the LAN communication is done over plain old HTTP.
This blog post is a regurgitation of some notes I took internally. Perhaps someone who finds themselves managing this device will benefit…
The task at hand was re-issuing and updating one of our primary wildcard certificates that powers a lot of subdomains.
The first step is to generate the key, csr, and crt…
All these files should be:
- Named the same as the domain that SSL is being generated for.
- use WILD for a wildcard subdomain
- Use this format “www.domain.com-0810.key”, where 08 is the from year and 10 is the to year
- (the short version is because of name length limits on the CSS)
Start by generating the key and csr
This should be done in the ciscoftp role under the ~/load directory
# openssl genrsa -out WILD.vosecure.com-0810.key 1024 # openssl req -new -key WILD.vosecure.com-0810.key -out WILD.vosecure.com-0810.csr
Then get the certificate issued by (global sign)
Put the certificate into the the ~/load directory. When done, it should look like:
-rw-rw-r-- 1 ciscoftp ciscoftp 3139 Apr 6 15:59 WILD.vosecure.com-0810.crt -rw-rw-r-- 1 ciscoftp ciscoftp 773 Apr 6 15:49 WILD.vosecure.com-0810.csr -rw-rw-r-- 1 ciscoftp ciscoftp 883 Apr 6 15:47 WILD.vosecure.com-0810.key
Put the crt and key onto the load balancer
To do this, use the “copy command” on the load balancer
20132-201292# copy ssl ftp base import WILD.vosecure.com-0810.crt PEM "rack" 20132-201292# copy ssl ftp base import WILD.vosecure.com-0810.key PEM "rack" Then make the associations... 20132-201292# config 20132-201292(config)# ssl associate cert WILD.vosecure.com-0810.crt WILD.vosecure.com-0810.crt 20132-201292(config)# ssl associate cert WILD.vosecure.com-0810.key WILD.vosecure.com-0810.key
Now, it’s time to install it. Requires SSL downtime!
- Suspend the SSL content rule
- Suspend the SSL service
- Suspend the SSL proxy list
- Run the updates
- Activate the SSL proxy list
- Activate the SSL service
- Activate the SSL content rule
Here are the exact commands:
20132-201292# config 20132-201292(config)# owner vosecure.com 20132-201292(config-owner[vosecure.com])# content 184.108.40.206-ssl 20132-201292(config-owner-content[vosecure.com-220.127.116.11-ssl])# suspend 20132-201292# config 20132-201292(config)# service ssl-service 20132-201292(config-service[ssl-service])# suspend 20132-201292# config 20132-201292(config)# ssl-proxy-list ssl-proxy
In the following commands, we remove the whole ssl-server so that it shows up at the bottom in one concise unit. Otherwise, the startup-config and running-config become fragmented.
20132-201292(config-ssl-proxy-list[ssl-proxy])# suspend 20132-201292(config-ssl-proxy-list[ssl-proxy])# no ssl-server 6 20132-201292(config-ssl-proxy-list[ssl-proxy])# ssl-server 6 20132-201292(config-ssl-proxy-list[ssl-proxy])# ssl-server 6 rsakey WILD.vosecure.com-0810.key 20132-201292(config-ssl-proxy-list[ssl-proxy])# ssl-server 6 rsacert WILD.vosecure.com-0810.crt 20132-201292(config-ssl-proxy-list[ssl-proxy])# ssl-server 6 vip address 192.168.1.161 20132-201292(config-ssl-proxy-list[ssl-proxy])# ssl-server 6 cipher rsa-with-rc4-128-sha 192.168.1.161 81 20132-201292(config-ssl-proxy-list[ssl-proxy])# active 20132-201292# config 20132-201292(config)# service ssl-service 20132-201292(config-service[ssl-service])# active 20132-201292# config 20132-201292(config)# owner vosecure.com 20132-201292(config-owner[vosecure.com])# content 18.104.22.168-ssl 20132-201292(config-owner-content[vosecure.com-22.214.171.124-ssl])# active Test test test. Firefox, IE, Chrome... 20132-201292# copy running-config ftp base running-config Review changes with git diff 20132-201292# write memory 20132-201292# copy startup-config ftp base startup-config
And… Here is the git diff
diff --git a/load/startup-config b/load/startup-config index 7042490..36fbbaa 100644 --- a/load/startup-config +++ b/load/startup-config @@ -1,4 +1,4 @@ -!Generated on 04/06/2009 16:05:48 +!Generated on 04/06/2009 21:51:02 !Active version: sg0810205 @@ -64,6 +64,8 @@ configure + ssl associate rsakey WILD.vosecure.com-0810.key WILD.vosecure.com-0810.key + ssl associate cert WILD.vosecure.com-0810.crt WILD.vosecure.com-0810.crt !*********************** SSL PROXY LIST *********************** ssl-proxy-list ssl-proxy - ssl-server 6 - ssl-server 6 rsakey vosecure.com(080421-04300)-key - ssl-server 6 rsacert vosecure.com(080421-04300)-cert - ssl-server 6 vip address 192.168.1.161 - ssl-server 6 cipher rsa-with-rc4-128-sha 192.168.1.161 81 @@ -146,6 +141,11 @@ ssl-proxy-list ssl-proxy + ssl-server 6 + ssl-server 6 rsakey WILD.vosecure.com-0810.key + ssl-server 6 rsacert WILD.vosecure.com-0810.crt + ssl-server 6 vip address 192.168.1.161 + ssl-server 6 cipher rsa-with-rc4-128-sha 192.168.1.161 81 active