Identifying vulnerabilities, finding the correct software patches, downloading the code, installing the security update in the right sequence (assuming that you've selected the correct fix for your application version), and validating effective installation is quite a process. Plus, keep in mind that all of this needs to be done before hackers send notice to your firm in their own special ways.
You need to create a system to manage security updates and patches for your software, including operating systems, business applications, Internet access, and even security applications. Although creating a security update system is daunting, after you've got one, your company should be able to keep on top of the security maintenance challenge.
Surprisingly, just a few steps can help you update and protect your systems against common exploits. Because small businesses don't have the myriad software and network configurations that large corporations do, you should be able to keep track of security updates easily if you're systematic and take these precautions:
Identify and list your software. For each, note the:
Every time you make a change on a software product, note the:
Retain your security update downloads in their own directory on a file server or other storage location.
- Create a "readme" file that documents each download's:
Type (such as operating, application, security)
Name of the installer
Name of the update, patch, or fix installed
Functional description (what the code updates, adds, or modifies)
Source of the code (where the code was obtained)
Date the code was downloaded
Date the code was installed
Name of the installer
Date of storage
Don't delude yourself—even if you have no resources for a dedicated security staff person, a security updating and patch documentation system is mandatory. If you outsource security or software updates, you should expect the vendor to send you its patch logs at your request. If the firm resists your request or you experience slow or no delivery, you might want to reconsider your choice of outsourcing companies.
How do you know what patches you need to apply? Between your operating systems and applications, you have numerous points of vulnerability. How do you prioritize security fixes? Which applications should be addressed first? The SANS Institute proposes the 10 most critical Internet security threats at http://www.sans.org/topten.htm. CERT also supplies a host of information to improve your security, as does ZDNet's Security IT Resource Center.
It is very difficult to keep track of all the different vendors and their updates, but almost all of them provide email alerts to tell you when a new patch is available. So, the first thing to do is subscribe to those mailing lists. The second thing is to create a list of all the vendors you use in your organization and generate a plan to look at each security site once a week for updates and announcements.
Don't try to review all sites for possible security alerts that might impact your firm—that would take more time than you can imagine. Instead, pay primary attention to your firm's Internet and network protection needs. Save links to your vendors' sites to identify and download updates and patches meaningful to your configuration. Although this approach is no guarantee of perfection, it is the start of systematic security upgrading on a pre-emptive basis.
Some companies make patches available in groups, such as Microsoft's Service Packs, so that you can fix many problems with a single download. This is great for those getting a late start on the patching process. With just a couple downloads, you should be able to get up-to-date with all your patches, saving you a lot of time from having to download hundreds of patches one by one.
What if you've done everything properly, and you still get hacked? Take consolation in knowing that the only successful hacks into your network were intrusions where patches weren't available. When you can say that, your security system is working.
Although you will be more secure by taking this approach, you might have other vulnerabilities that are not addressed by your current software configuration. Vulnerability analysis, normally completed by outside consultants, can uncover security requirements that your current applications might not be designed to handle.
Vulnerability assessment—the process of "hacking" your network and systems—is a good way to check the configuration of your system. Audits are also a very good way to look at your configuration and architecture.
The next few sections discuss large vendors and how they provide patches/updates to their users.
Microsoft provides several ways to get patches and updates. The Windows Update function is a quick and easy way to see what patches should be installed on your system. Microsoft has a site, shown in Figure 1, that contains a detailed list of all Microsoft security bulletins and their corresponding patches—http://www.microsoft.com/technet/security/current.asp. Information about how to subscribe to the Microsoft mailing list so that you can receive new security bulletins automatically is available at http://www.microsoft.com/technet/security/notify.asp. Additionally, product sites, such as IE and Office, provide patches and updates for their respective applications.
Figure 1 Microsoft provides a central location from which you can download security patches and updates.
Microsoft also is beginning to develop tools to help you identify the patches missing from your system. Currently, it has a tool to help IIS 5.0 users (on Windows 2000) verify their patch installations. This tool, the Windows 2000 IIS 5.0 Hotfix Checking Tool (also called HFCheck tool) can be found at http://www.microsoft.com/Downloads/Release.asp?ReleaseID=24168.
To make this entire process even easier, Windows XP includes automatic update support. The system will download critical updates in the background while the user is connected to the Internet. These downloads are designed to minimize impact on the network and automatically resume if the system is disconnected before an update is fully downloaded. After the update has been downloaded, the user can decide whether to install it.
In April 2001, Microsoft added new search functionality to its security update site through XML. With these changes, you can now search by product and service pack. For example, if you have IIS 5.0 and Service Pack 1 installed, you can quickly check to see what patches you need to install to get your system up-to-date.
With the new XML platform, Microsoft has the capability to add more search features. Microsoft also developed a method to package the XML into a compressed cabinet format (CAB) file. Microsoft updated its HFCheck tool (which scans IIS 5.0 systems to ensure that they have the latest hotfixes installed) to download the CAB file and expand it for use when scanning systems. Each time Microsoft updates the XML file with new information, the CAB file is updated automatically.
Microsoft's implementation of XML for hotfixes is a great step forward. Third-party vendors can now download the XML and use it in their own scanning products. Shavlik Technologies has a tool available called QuickInspector that uses an XML database to scan for security problems in Microsoft Office, Outlook, Win2K, NT, Whistler, Windows Me, and Windows 9x systems. Check it out at http://www.shavlik.com/securityXML.asp.
For more information on other initiatives Microsoft is taking within its patch distribution process, take a look at http://www.microsoft.com/technet/treeview/default.asp?url=/technet/columns/security/thrdwave.asp.
Although I find Sun's site a bit more difficult to navigate than most, you can find a lot of valuable information with a little digging. Sun maintains a Web site that lists security bulletins (see Figure 2) at http://sunsolve.sun.com/pub-cgi/secBulletin.pl. Additionally, it provides a recommended list of updates and security patches by OS at http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access. This is a great starting place to ensure that you have all the appropriate patches installed on your system.
Figure 2 Sun provides a list of security bulletins.
As with the other major OS vendors, Linux vendors provide a support page with information on security alerts and available patches. Look for the page that's appropriate for your Linux distribution:Red Hat: http://www.redhat.com/apps/support/updates.html Caldera: http://support.calderasystems.com/caldera?faq&15-10 Linux-Mandrake: http://www.linux-mandrake.com/en/security/ SuSE Linux: http://www.suse.com/us/support/security/index.html Debian: http://www.debian.org/security/
Red Hat also offers a support service. The Red Hat Network is a subscription system support and management service that provides alerts, software patches, and automatic RPM updates. This is a great way to automate system updates, but you want to be careful because some patches can cause daemons or other third-party applications running on your system to stop functioning correctly.
Caldera provides centralized management for all Linux distributions with its Volution platform (see Figure 3). This Web-based management solution allows administrators to manage overall company profiles and policies instead of individual systems. You can also manage all system patches and updates. Take a look at http://www.caldera.com/products/volution/ for more information.
Figure 3 Caldera's Volution provides centralized management for all Linux distributions.
Security notices for Cisco products can be found at http://www.cisco.com/warp/public/770/. General information on Cisco's security process and how to subscribe to its email bulletin system is available at http://www.cisco.com/warp/public/707/sec_incident_response.shtml.
Distribution and Installation
Now that you know what patches you need to install and have them downloaded and ready to go, you need to run a few tests before installing them on production systems. Although patches and updates fix some problems, they often cause additional problems, either by conflicting with other resources or creating new security holes. So before blindly installing patches on all your systems because the vendor recommended it, you need to thoroughly test the patch on a system to ensure that the system will still function properly and that the vulnerability will be corrected. The last thing you need is to install a patch and suddenly have all your Web servers unavailable.
Here are the steps to distribute and install patches and updates:
Install patches and updates on a test system.
Thoroughly check the test system functionality and security.
When testing is complete and everything is stable, deploy the patches and updates to production systems.