|
Internet Firewall Protection |
The TIS Firewall Toolkit can be used to control access to your network from the InternetBy Marcus RanumOver the past year, the Internet has gone from a network used by the developers and techies to the precursor to the much-hyped Information Superhighway that is populated by a million new users each month. Along the way, businesses are looking into whether they can give their customers new and better services with the Internet. But the thread running through many management information-services directors' minds is: How can I connect to the Internet and not get burned? An Internet firewall is the embodiment of a security policy that should implement whatever access controls your organization has deemed necessary and appropriate between your private network and the rest of the world. There are many different types of firewalls and techniques for implementing them. Typically what an organization wants as an Internet access policy is something like: ``let everyone on our network access the Internet, but don't let anyone from the Internet into our network except authorized users.'' This access policy relies on two fundamental components: enforcing the access control and determining what an ``authorized user'' really is. This tutorial examines using software modules to solve some
firewall implementation issues regarding log-in and user
authentication. The approach we'll examine uses some of the
proxies from the Trusted Information Systems Inc. (Glenwood,
Md.) Internet Firewall Toolkit. The TIS Internet Firewall
Toolkit and documentation are available via anonymous FTP
( Firewall RoutersTIS' toolkit was designed with several basic philosophies in mind. First, a conservative stance is taken--only services that are permitted may pass through the firewall. Quite a few firewalls are implemented using only routers. Many firewalls are based on the philosophy of permitting everything that is not known to be a threat to pass through. This approach is is more open, but leaves you vulnerable to new attacks. Security software should be kept simple so it is possible to examine the source code and quickly validate its correctness. Another concept is that organizations would prefer to have a ``crystal box'' implementing their security policy rather than a ``black box'' of precompiled vendor-controlled code. The toolkit consists of the following modules, which may be used in different configurations:
Although establishing a site security policy and setting up
the complete toolkit are beyond the scope of this article, we'll
try to give a flavor of how the toolkit works. We'll build a
hypothetical minimal firewall that shows how you might employ two
components of the toolkit: the Creating an Air GapA good way to conceptualize a firewall built using the toolkit
is as an ``air gap'' between two networks that has a small number
of software-based bridges known as ``proxies.'' A proxy is a
network server that forwards application data through a firewall.
The advantage of this approach is that it limits the number of
points of attack against your network. The firewall
administrator can then focus on making the implementation of each
of those services as secure as possible. A completely bare-bones
firewall might only relay SMTP-based e-mail. Other interactive
services like Proxies have another major advantage: they're neat, simple places to enforce the second part of our access policy, restricting access to authorized users only. The most important part about authorizing users is authenticating them. Recently, there has been a rash of incidents on the Internet where users' passwords have been ``sniffed'' off the network and their accounts broken into. The sad fact of the matter is that ordinary passwords simply aren't a strong enough authentication technology for using across loosely controlled wide-area networks. There are a number of authentication systems that are commercially available and use one-time passwords or challenge- response schemes to verify a user's identity. These systems all illustrate the principle that information disclosed over a network cannot be reused by an attacker who intercepts it. The toolkit's authentication server can incorporate different types of authentication systems and can interact with the toolkit proxies to supply a transparent interface to authentication and authorization. Once users have authenticated to the proxy, it permits their traffic through the firewall. Let's imagine we've set the firewall tool-kit up on a
workstation that sits between the protected network and the
Internet. All traffic between the Internet and our protected
network has to go through the firewall somehow, we've been
careful to disable routing on it, and we've shut off all
nonessential services and daemons that would otherwise run on the
system. Further, let's pretend that the only service we
(initially) want to run through the firewall is
Shutting the services down on the system is Unix-version
dependent, but the procedure is fairly straightforward. Edit the
system start-up files (depending on the Unix version:
Battening down the hatches is an iterative procedure: Make a set
of changes and reboot the system. Checking the process table and
the network tables using While it may seem excessively paranoid to reduce a perfectly useful system to the level of a dedicated processor, it's a conservative approach and reflects an admission that what you don't know can hurt you. Anyone who feels this approach is too extreme should read prior CERT and vendor security advisories; there are too many examples of ``harmless'' network servers that have enabled attackers to gain a foothold into a system. We prefer to shut everything off and turn things on when we know we can trust them (which is sometimes never) than to have to constantly scramble about closing holes. Because we want to enable Authentication RulesAll of the toolkit components read their configuration
information and access policies from a master configuration file
called The
Reading the rules in the example, we see that the first line
permits all hosts in network ``192.33.112'' to connect to the
proxy. The second line permits all other systems to use the
proxy. You'll notice, however, that the rules contain different
parameters on each line. The second line contains an option
For a hypothetical user at a desktop inside our network,
accessing a remote site on the Internet looks like what appears
in Listing 3B. When the proxy
received a connection from the user's workstation, it read
Logging All CallsBefore the proxy permits users to connect to another system, they first have to authenticate to it. While it looks a lot like logging into a system, it's important to realize that users really aren't logging into anything. They don't actually have an account on the firewall system itself, they're just connected to a small application that is forwarding data back and forth. This strategy strengthens the firewall considerably because the administrator doesn't have to permit general command-level user access to the firewall host itself. Another advantage proxies give the administrator is detailed audit information (Listing 3D). The first set of audit records show the outgoing connection, which didn't require authentication. When users authenticate on the incoming connection, the audit records reflect the additional information, including on the summary lines, where it clearly associates the individual users with the amount of traffic they passed through the firewall, their source, and their destination. When the user in the example authenticated to the firewall
proxy, the proxy used a form of challenge-response authentication
based on a handheld calculator. Initially, when the user
responded to the `` In the example, the authentication server determined the user has a challenge-response calculator and generated a challenge, which it relayed to the proxy for presenting to the user. Someplace on the other side of a network, the user read the challenge, pulled out his or her challenge-response calculator, unlocked it with a secret PIN, entered the challenge, and typed the response back to the proxy. The proxy relays the response to the authentication server for validation and accepts the user if the authentication server indicates it should. While all the dialog between the proxy and the authentication server sounds fairly complex, it's transparent to the user and turns out to be extremely convenient because there is only one piece of software that needs to include support for different authentication systems. It also provides the ability to mix and match authentication methods depending on your user base. For example, a network having 500 users might only have 100 who will ever need access from the ``outside'' through the firewall. The administrator only needs to maintain authentication entries for those users. Suppose of the 100 users, 20 of them travel frequently and the remaining 80 only travel once a year. In that case, the administrator can issue challenge-response calculators to the 20 frequent travelers and can issue the remaining 80 users software-based one-time passwords, which are less convenient but very inexpensive. Creating user records in the authentication server is done by
assigning a user name, an authentication system to use, and
initializing the authentication system as necessary by using the
In this example, a new user is created and assigned an authentication system: a challenge-response calculator. The administrator then enters the calculator's shared secret into the database so that the responses can be verified. The newly created user can now log in through the firewall. This brief overview of some toolkit components can only give you an example of the things you can do to implement your security policy with these tools. The security policy appropriate for a site depends on the assets to be protected, the cost of downtime due to a network intrusion, and the types of connectivity to the Internet required. There are no simple guidelines for creating policy-but these are fairly simple tools for enforcing many aspects of policy. The toolkit includes extensive documentation that explains the
concepts behind the toolkit and the design of firewalls. Other
good sources of information for firewall implementors are the Firewalls mailing
list (mail to |
Print This Page Send as e-mail |












