I think it is well known by security experts that the old perimeter defense model just does not work any more. A firewall does give some protection, but users are constantly asking that ports be opened so that they can access services outside of the corporate network. Not only that, but there is not much to prevent malicious traffic to go through your ports that are already opened. Should we ditch the firewall? No, but you should add more layers to your defense. In this post, I will list of the defenses you should have in your environment.
Whenever such a user requests to have yet another port to be opened, you should make sure that you restrict as much as possible the end-points that can make use of that port you are opening up. For example, John asks that a port be opened so he can establish a VNP connection from the corporate LAN to a business partner, you should make sure that only John’s IP address is allowed to use that port and that there is only one outside IP address that John can reach on that port.
Firewall management is not what keeps me up at night though. What keeps my up at night is the fact that it is so easy to create tunnels from inside my network to the outside over well known ports, such as port 80 or 443 in order to access anything that you would normally block at the firewall. That plus the fact that now you cannot browse most web sites with first installing such things as Flash player and Adobe PDF reader.
A recently vulnerability in Adobe Reader for which there is no patch as of now (Adobe said they will release one on March 11th) is a rather scary one. This type of vulnerability can be exploited without the user even opening the malicious PDF! How can you defend yourself against that?! You should have as many layers as possible in order to prevent that malicious PDF from succesfully penetrate your network. The Verison Business Security Blog has a very good list of steps that can be taken to protect yourself against that threat. of course, you could always drop Abode Reader altogether.
In general though, that approach can be applied against any threats. Here are the different layers you should have in place in order of priority:
- A firewall. I would venture to guess that everyone out there has that one in place. Make sure that a regular review of what rules you have in place is done.
- Intrusion Detection (IDS) or better yet, Intrusion Prevention (IPS). If you can affort it, TippingPoint is probably a leader in that field and works great. At the very least, you should have Snort in your network.
- Don’t allow your users to be local administrators. Most of the people that get infected with malware and virus are logged on with local administrator rights. That’s a very bad idea. Lock down those users!
- Anti-Virus on every machines. AV is not perfect as it is a reactive technology, but it will catch a lot of what is out there. Anti-Virus products now can do more than just detecting and cleaning virus. The can block use of certain ports on your hosts (such as port 25 for e-mails or ports typically used for IRC).
- Host-based Intrusion Detection System (HIDS). This technology is starting to catch on in corporate environments. This is basically the equivalent of having ZoneAlarm on each desktop, but centrally managed by the corporate IT.
- Last but not least, patching! Make sure that you are current in your OS patches and your application patches. That is not always easy in corporate environment since it sometimes requires careful testing and planning.
In my experience, the mobile users are the weak links. Once they take their laptops outside of the corporate LAN, many of those defensive layers, such as IPS and the firewall, are no longer there to protect them. That’s why you need to have strong defenses on the workstations, such as disk encryption and HIDS.
Can anyone think of other layers that should be in place?