You need a multilayer solution to keep your systems safe
You probably remember the "old days," when setting up security commonly meant using a firewall. But even then, this was a woefully narrow viewpoint.
Establishing perimeter security requires much more than using firewalls and detecting intrusions. A firewall is only one component of perimeter security, and perimeter security is just one component of security. Here are some things to consider when establishing perimeter security and a checklist you can use to plan perimeter security in today's environment of increasing connectedness.
Perimeter security still begins with the venerable firewall. People often (wrongly) assume that a firewall scrutinizes every inbound packet. Firewalls are only a first line of defense, and they prevent only the most elementary attacks. Simply put, firewalls evaluate packets according to the message-access protocol and the state of the connection between the internal and external computer. If the packet matches a protocol allowed for incoming connections, or if the packet is part of an established outbound connection, the firewall allows it to pass. Any malicious content inside an allowed-protocol or outbound-initiated connection will pass through a firewall undetected. For example, if you have a mail server behind your firewall, you'll probably open up port 25 (SMTP) on your firewall for incoming connections and redirect such connections to your mail server. As soon as the firewall identifies that a packet is SMTP, it forwards the packet to the mail server.
Any firewall you buy today will include the two main features of a modern firewall: stateful packet inspection and network address translation (NAT). With stateful packet inspection, the firewall is intelligent about and attentive to connection-oriented protocols such as TCP, preventing attackers from sneaking malicious packets past the firewall by posing as an already-established connection. NAT conceals details about the internal network, such as the internal LAN's addresses and topology, by replacing the internal network address and port with its own Internet address and a new port number.Application Gateways
Every protocol and application is vulnerable to malformed data and irregularities inadvertently introduced by the designers and coders of the associated software. More and more applications are exposed to potentially hostile computers and malicious content or traffic on the Internet that can contain bad data. And the risk increases with the drive toward greater mobility. To provide a more transparent experience for mobile users, common practice is shifting away from virtual private networks (VPNs) to secure remote access at the application level. For example, Microsoft Exchange 2003's support for remote procedure calls (RPC) over HTTP allows users to use Outlook inside or outside the LAN with no difference in the user experience. And more and more companies are integrating processes with their business partners at the transaction level by using Simple Object Access Protocol (SOAP) and related protocols. As a result, organizations are exposing a larger attack surface at the application level, and hackers are taking advantage and delivering application-level attacks.
You can lower the risk of these higher-level application-specific attacks. To do so, you must first keep all applications that communicate with potentially untrusted external systems fully up to date. Proactively installing all patches to OSs and applications is key to ensuring perimeter security. (Keep in mind that patching can be undermined by newly discovered vulnerabilities being made public before a patch is available.)
You can take a more proactive approach to application-level network attacks by using an application-level gateway (also known as a reverse proxy). Application-level gateways can look for specific known attack methods, but that's not their focus. An application-level gateway inserts a system between the Internet and the application server that understands the relevant application protocol that's in use. This application-level gateway's system appears to the outside world as the end-point application server, but in actuality, the gateway interprets each incoming request, reduces the request to the application server's own internal lexicon, then builds a new request from scratch discard or prevent any malicious, malformed content from getting through. The gateway then sends the new request to the actual application server and processes the server's reply in a similar way. For example, an SMTP gateway that carefully deconstructs an incoming SMTP message and then rebuilds it from scratch with strict adherence to the SMTP protocol specification discards any malformations such as invalid character sequences or buffer overflows in the message.
Organizations have differing application gateway needs, but almost all use applications and protocols for Web browsing (via HTTP), email (via SMTP), and instant messaging (IM). These three protocols make applications particularly attractive targets to four types of attacks: direct attacks, malware infection, phishing, and outbound content risks. Direct attacks that use buffer overflow or other vulnerabilities specifically target weaknesses in email clients and servers, Web servers, and IM clients. Because HTTP, SMTP, and IM all support file transfers, all three are particularly vulnerable to malware infection. These same protocols also allow social engineering attacks such as phishing. The risks associated with these protocols aren't limited to inbound content—outbound content (email messages, Web postings, and instant messages) sent from employees can expose organizations to risks that endanger privacy, confidentiality, and regulatory compliance.
Although no product on the market provides application-level gateway support for every protocol and application, Microsoft's ISA Server offers the widest native support (including for SMTP, HTTP, FTP, and RPC). ISA Server also supports a variety of partner-developed plug-ins for other protocols and applications. ISA Server's extensible architecture and Microsoft's successful collaboration with partners help position ISA Server as a type of universal application gateway, but you can also use some of the many best-of-breed solutions for specific applications (e.g., FaceTime's solutions for IM security and antispyware). Web-filtering solutions, such as those from Barracuda Networks, Websense, St. Bernard Software, and SurfControl, help you enforce policies that determine where internal users can go on the Web. By using keyword monitoring, such solutions also help you monitor employees or block them from sharing confidential information or posting or accessing inappropriate content.
Beyond Web, email, and IM vulnerabilities, application-level perimeter risks also come from peer-to-peer (P2P) networks, Web conferencing, and XML. Many developers of application-gateway solutions originally designed for Web filtering and IM security are extending their solutions to support P2P and Web conferencing.
The growing use of XML communications, especially in the form of SOAP, for business transactions poses problems different from those of the more end-user–based technologies I've been discussing. IT uses XML to link mission-critical business systems with business partners' corresponding systems. The text-based nature of XML makes any security solution rely heavily on CPU and memory resources because of the recursive parsing involved. Administrators are understandably loathe to put an added load on application servers, and the number of application servers affected can quickly grow out of control in organizations that use XML. If your organization uses XML, you'll want to add an appliance-based XML firewall to your array of perimeter defenses. (For more information, see Market Watch: "SOAP/XML Firewalls," September 2003, InstantDoc ID 39755.) Solutions are available from DataPower, Xtradyne, Reactivity, and Layer7 Technologies.
One of the worst mistakes you can make with perimeter security is to issue policies that forbid using certain technologies such as IM or Web conferencing. Users will ignore such policies, and service providers and developers will find a way around simple firewall rules designed to block "unauthorized" communications. Don't risk compromising your role and effectiveness as an IT professional by hindering rather than facilitating technology use. As you address security issues, facilitate adoption of new technology.VPNs and SSL VPNs
Despite the trend toward providing remote access at the application level, VPN access is still very important to mobile and remote users. VPNs have become confusing with the advent of so-called Secure Socket Layer (SSL) VPNs. Let's talk about traditional VPNs, then I'll define SSL VPNs and discuss their pros and cons.
Traditionally, using VPNs for remote access simply meant establishing a connection over the Internet to the company LAN by using a tunneling protocol such as PPTP or L2TP. Once connected, remote users were virtual members of the internal LAN and could access IP-accessible resources on that LAN as if they were in the office (although access was much slower due to the latency of the remote connection).
True PPTP- or IPsec-based VPNs have an undeserved reputation as hard to administer and support (the biggest complaint is that you must install proprietary client software on all remote users' PCs). I don't understand why companies have relied so much on third-party VPN solutions rather than on the native Windows PPTP and L2TP support. Installing an RRAS server is easy, and Windows has had a built-in VPN client since Windows NT. Using PPTP is especially easy. If you want two-factor authentication using client certificates, you'll have to use L2TP and deploy client certificates (but that's true with any type of two-factor authentication). Using the Connection Manager Administration Kit (CMAK), you can create a wizard that automatically sets up the VPN connection in the user's Network Connections folder. You can distribute the wizard as an email attachment, on a CD-ROM, or as a Web download.
The biggest problem I've encountered with VPNs is caused by firewalls between the VPN server and the remote user. Most firewalls must be explicitly configured to allow PPTP or IPsec (L2TP rides inside of IPsec) pass-through for outgoing VPN connections, and not all administrators are willing to do this. These occasional connectivity problems are one of the reasons to use SSL VPNs instead.
Not all SSL VPNs are true VPNs—many are simply a reverse HTTP Secure (HTTPS) proxy. With a reverse proxy server, you can take browser-based applications originally deployed for access by internal LAN users and make them available to remote users without changing the internal application server. The proxy server poses as a secure Web server on the Internet; after remote users successfully connect and are authenticated using their normal Web browsers, the proxy server acts as middleman between the user and intranet server. ISA Server has been doing this for many years, but the term "SSL VPN" has come into use as new companies have gotten in on the reverse proxy game. The key advantage to using a reverse proxy is that you can easily make internal Web applications available to remote users without doing any client-side setup or installation and without modifying the internal Web application. And you don't run into the connectivity problems I mentioned earlier caused by firewalls blocking outgoing tunneling protocols.
Use a reverse proxy when you need to provide remote access to an internal Web application. Use SSL VPNs when you need remote network access to the internal network at the transport level (TCP/UDP). True SSL VPNs provide tunneling of IP traffic between the internal LAN and the remote user. OpenVPN is an open-source, true SSL VPN. For more information, read "Putting OpenVPN to Work" (May 2005, InstantDoc ID 45844). Other true SSL VPNs are available from ISVs such as Aventail and Citrix. SSL VPNs make a lot promises as to ease of use and administration and lower cost of ownership, but Windows native VPN options work well if you use the management capabilities of CMAK, Group Policy, and Certificate Services. If you must support non-Windows remote users, SSL VPNs can be a more compelling option. For an informative guide to SSL VPN products, see Buyer's Guide: "SSL VPN Products" (April 2005, InstantDoc ID 45612).Intrusion Detection
Despite your best efforts to deploy an array of perimeter security defenses, there's still the risk that attackers can penetrate your network, so you'll want to think about intrusion detection and prevention. Intrusion detection systems (IDSs) and intrusion prevention systems (IPSs) use one or more of three basic technologies to detect intruders: packet examination, policy configuration, and pattern analysis. Most IDS and IPS solutions examine packets for known attack signatures. The effectiveness of this detection method depends on how many attack signatures the vendor builds into the product and how often it's updated. Most systems also let you configure policies that define expected network traffic patterns, but this method requires a lot of research and work, and you must maintain the policies as new applications are brought on line and traffic patterns change. Some systems employ various algorithms and pattern analysis in an attempt to automatically detect anomalous traffic. These systems hold promise for the future, but right now they suffer from the same limitations and false positives as do heuristics- and Bayesian analysis–based antispam solutions.
IDS and IPS solutions don't vary as much in detection features as they do in the ways they respond when they detect suspicious or unauthorized traffic. IDS solutions focus on logging and alerting. IPS solutions attempt to stop the intrusion by reconfiguring the firewall in real time or by issuing TCP resets. When IDS solutions get it wrong (return false positives), your Inbox fills up and your pager melts down from too many alerts. When IPS solutions get it wrong, important business processes are stopped dead in their tracks. Unless you can dedicate staff to an IDS or IPS, your resources might be better spent on direct perimeter security solutions.
Perimeter security used to be a matter of configuring firewall rules; now, perimeter security is a multifaceted, multi-layered, and much more complicated area of security, and it's much more than the boundary between the Internet and your intranet. Today, many applications straddle these two networks through logical connections that essentially circumvent your firewall. The first step in planning perimeter security is to identify all your connections, both physical and logical, to the outside world. It's important to remember that perimeter security changes constantly and additional perimeter connections crop up as new technologies to leverage the Internet are created. For example, remote-control–based services, such as GotoMyPC, are quickly gaining momentum. Users can easily subscribe to and use GotoMyPC for remote access, but when they do, they open up a worm hole directly into your network through their desktops.
As I mentioned earlier, resisting new kinds of connections to the outside world is futile and can be dangerous to your company. If you try to stop technical advances such as IM and Web conferencing, users will find a way around you, leaving your systems—and your job—less secure. Stay vigilant. Plan ahead. Stay safe.