- Integration Factors to Consider
- The Linux Solution
- File Services
- Print Services
- Edge Services
- DNS/DHCP Servers and Routing
- Web Servers
- Workgroup Databases
- Light Application Servers
- Computation Clusters
- Data Center Infrastructure
- Enterprise Applications
- Messaging and Collaboration
- Internal Development
- Power Workstations
The definition of edge services has expanded to include multiple technologies that monitor, protect, and enhance "inflow" informationdata that is in transit between a client and a server and includes all layers of communication. Edge services have evolved from being predominantly firewalls to include proxy cache, VPNs, intrusion detection, antispam, antivirus, web filtering, and other quality-of-service (QOS) solutions. Moving forward, these services are increasingly being combined to create a class of solutions referred to as security gateways.
Open source played a large role in the early evolution of inflow solutions with several technologies that provide specific security and edge services. Linux continues to play a key role in the growth of security gateways and is the leading operating system platform for many of the existing hardware-based security gateways on the market today. In addition, Linux is well suited as a platform for software-based security gateways, and is integral to the family of security gateway services that are emerging from Novell.
As a note of interest, the common path for adoption of Linux in many organizations typically begins with edge services. At the edge of a data center or as a periphery service for branch or remote offices, the only noticeable effect of Linux implementation is to make things better. There is no inconvenience, slowdown, or new training required at the user end; there is no disruption of service or alteration at the data center. Linux at the edge typically speeds up data delivery or makes resources more secure. There is no need to rip and replace, and existing services can often be significantly enhanced. If your organization is in the early stages of testing and adopting Linux, edge service solutions provide an ideal place to start.
So what's available for establishing edge services with Linux and open source? You have several options. First, multiple Linux/open source technologies can be configured to provide elements of a security gateway, including proxy/cache, content filtering, firewall, and VPN. Or, you can select one of the commercially available solutions from Novell or any of the other vendors that provide security gateways. Again, it's about complements and substituteswhat makes the best sense for you to build or buy.
Build Your Own
This section examines the individual technologies from the open source community and the functionality that each provides:
Caching/proxyCaching is a fundamental element of fast web access. Information pulled from a source is temporarily stored at a location closer to the end user. If you request an HTML page with a few graphics, the first time the request is made, the content is transmitted the entire route from source to end user. If a cache is involved, this information is stored closer to the client (maybe in the browser cache or maybe on a proxy cache within the local area network) so that with the next request for content, the data is much closer and the request time shortened. Caches provide better perceived performance and reduce the demand for bandwidth. A "proxy" cache performs caching services for a number of different clients (see Figure 3.9).
FirewallsThe most common form of content protection from outside access is a firewall. A basic firewall can be constructed using Network Address Translation (NAT), which comes with every standard Linux distribution. A firewall is simply a server with two network adapter cardsone connected to the internal network and the other connected to the external network or the Internet; all traffic from inside to outside passes through this server. Using a technique known as masquerading, IP headers from internal packets going out are rewritten making them appear to all come from one addressthe firewall. Reply packets from the outside are translated back and forwarded to the internal machine that sent the request. This makes it difficult for probing outside machines to ever find, let alone access, internal machines for destructive purposes. NAT also provides port forwarding, making it possible for IP packets written to a specific port (such as CGI or Java applets) to be forwarded to the internal server providing the service.
VPNInternet Protocol Security (IPsec), a standard for encrypting and authenticating IP packets for portal-to-portal or end-to-end secure packet transmission, can also ensure a secure communication. The Openswan (successor to FreeS/WAN) project is an open source solution that uses strong encryption to ensure that packets are secure from end to end. Openswan allows you to create VPNs using IPsec to build secure tunnels through untrusted networks such as the Internet. IPsec can work in conjunction with a router or firewall, or on a separate machine. It works for all kinds of Internet traffic, including HTTP, FTP, email, Telnet, and more. For more information on the Openswan project, see http://www.openswan.org.
FilteringThe area of filtering is extremely important and encompasses both address filtering and content analysis and filtering. Address filtering can be accomplished using routing in which access to or content from a particular website can be blocked at the router, or at a point where filtering occurs, such as during NAT. Specific IP addresses can be blocked, a range of addresses can be blocked, or addresses can be filtered based on a dynamic block and allow list. For example, a blacklist service provider tracks IP addresses that are known to generate spam and provides this list to your router, where you can automatically block spam traffic from ever entering your network.
Figure 3.9 Proxy cache stores content closer to clients for faster access.
The Internet Cache Protocol (ICP) is a standard that was developed to allow communication between caching servers for the purpose of creating multiple-level caches that can accommodate complex caching requirements. A caching solution can include firewalls for protection of clients and data. Caching hierarchies can be architected to pull content from multiple sources (external and internal), providing high-speed access to popular objects or pages with a minimum of latency. Cache mechanisms exist that check to make sure that content is current or fresh and that new requests are initiated if content is dated or stale.
The most popular open source caching solution is Squid. Squid is an open source, proxy-cache server that runs on Linux and supports proxying and caching of HTTP, FTP, and other URLs, proxying for Secure Sockets Layer (SSL) for encrypted sessions, ICP, and cache hierarchies, and a cache management interface with logging. You can find more information on Squid at http://www.squid-cache.org/.
Content filtering encompasses the analysis and filtering of data for virus detection and eradication for both Web and email. Because solutions in this particular area often require continuous updating to keep abreast of evolving security threats, they are usually best available from independent software vendors.
In addition to the services mentioned previously, the category of edge services is sometimes defined to include load balancingthe performance smoothing of content delivery using virtual servers and mirroring.
Two common load balancing problems exist that Linux and open source can easily remedy. The first is simple web server overload, in which there are far too many requests for content or objects than can be handled by a single web server. In this case, multiple web servers (for example, Linux running Apache) can be mirrored with identical information (in the same or different locations). An incoming request for information is intercepted by the load balancing or virtual server running NAT software, which rewrites the request header, directing the request to the mirrored server that is least busy, closest, or meets a predetermined algorithm criteria. The mirrored server delivers the request without the user knowing the request has been redirected (see Figure 3.10).
Figure 3.10 A load balancing or virtual server redirects requests to the least busy web server.
This same method of NAT using virtual servers can also be used to solve problems due to lack of public IP addresses. Only the virtual server has a valid external IP addressonly one is neededwhile the internal servers can use nonpublic addresses. NAT directs the outside request to one of several internal servers and then returns the reply as if it were from a single source.
Another method of load balancing is possible using DNS load sharing. In this case, multiple IP addresses are associated with the same web server name (http://www.mycompany.com). Each different IP address is associated with a different physical server that houses the same content. With each new request to the web server, the DNS server sequentially cycles to the next IP address (that is, the next server) on the list in a round-robin fashion. If there were four physical web servers with different IP addresses, each server would service every fourth request. Load balancing using these or other methods makes it possible to significantly scale web-based solutions on Linux and open source with very little extra effort.
Several open source technologies address advanced load balancing issues. Check out the Eddie Project (http://eddie.sourceforge.net/), which disperses URL requests to different web servers based on a number of different load balancing algorithms.
A second type of load balancing problem is relevant when using databases in which the number of queries is large enough to overwhelm the database server. To solve this problem, multiple database servers are configured as read-only mirrors or replicas and one database is configured as a writable master. As a request for queries comes in, the query is redirected to the least busy database server for processing. If the request is for a database write (update database content), the request is directed to the single database instance that can be written to. Because most database applications have far more reads than writes, this simple method of load balancing is sufficient for the majority of cases. Database redirection can be accomplished using NAT and scripting technology, such as PHP, CGI, or Perl.
If building your own security gateway isn't what you had in mind, plenty of options are available from Novell or other providers. It's worth noting that the leading commercial security gateway vendors have standardized on Linux as the operating system platform. Check Point Software Technologies, Symantec, Stonesoft, StillSecure, and CyberGuard all provide hardware, software, or combination security gateway solutions based on Linux. IBM's WebSphere Edge Server platform enables companies to develop their own solutions for the edge of the data center and the enterprise, as well as geographically distributed content points of presenceall with gateways and proxies where end-user traffic is generated.
Emerging security gateway technologies available from commercial vendors accommodate endpoint solutions for wireless, thin clients, and digital assistants, as well as inflow monitoring and management services for Extensible Markup Language (XML) security with schema validation and encryption and XML routing and processing.
The Novell Security Manager, powered by Astaro, combines open source technologies with advanced proprietary engineering to provide a comprehensive Linux-based security gateway. The Novell Security Manager edge services include firewall, VPN, forward-reverse proxy-cache, virus filtering, instant message filtering, web filtering, intrusion detection, antispam, DNS, DHCP, and more. Integrating these services with web- and directory-based management provides powerful security, as well as granular control for providing quality of service solutions and secure networks.