With the Internet becoming more and more popular, the
need to control 
interaction between the Internet and the private network
has become 
a critical issue for system and network administrators.
Policies curently 
in place range from the very restrictive -- no Internet
access 
at all -- to a form of laissez-faire -- total access
for all 
users. Each of these extremes carries a danger within
it. The first 
denies users access to information for which they may
have a legitimate 
need; the second opens a Pandora's box of administrative
nightmares. 
This article looks at how the two approaches can be
bridged together 
to meet legitimate user needs while minimizing security
and other 
risks.
In building architecture, a firewall is a fireproof
wall used to prevent 
a fire from spreading from one part of the structure
to another. The 
concept applies in a similar fashion to computer technology,
except 
that the "fire" usually originates outside
the system itself. 
For computer purposes, a firewall, consists of a machine
or machines 
separated from both the external network (such as the
Internet) and 
the internal network by a collection of filters. It
is the filters 
that provide the protection. Filters can be used for
a wide variety 
of tasks, including packet filtering, service relays,
and more. And 
as with firewalls used in architecture, there are different
types, 
each with different levels of protection.
Even though free firewall software exists and can be
downloaded from 
the Internet, a firewall is not free. In fact, the costs
can be significant. 
These are some of the major costs:
data compromised by a security breach
The cost considerations vary greatly, from the value
of the information 
that could be compromised or lost to the level of expertise
available 
for handling the implementation and maintenance of the
firewall. Each 
organization must assess these questions for itself
before embarking 
upon the firewall journey.
What Do You Need to Protect?
Information is the lifeblood of the computer age, and
organizations 
of all types and sizes use computers for their information
storage. 
The security perimeter to be enforced is the "fence"
that 
surrounds the organization's computing environment.
However, the fence 
must allow guarded gate access to users with a legitimate
need for 
the services offered by the organization. The perimeter
becomes difficult 
to define and manage when the organization's network
connects to other 
networks over which the administrator has no control.
Telecommuting and home office computing further compound
the difficulty 
of defining a security perimeter. Because the user may
be operating 
from a hotel or from his/her home, it becomes necessary
to extend 
the perimeter to that remote location. If you neglect
to do this, 
the opportunity for the perimeter to be breached through
this extension 
of the network is significantly increased.
In the remote computing situation the security perimeter
can consist 
of several extensions. For example, the modems used
to establish the 
link may be encrypting modems, which encrypt packet
information prior 
to transmitting it on the line (though, this technology
is expensive). 
The actual data on the hard disk of the remote computer
could also 
be encrypted. In this case if the computer were stolen,
the data would 
be meaningless, unless the user had left the decryption
key with the 
computer!
The Building Materials: Firewall Architecture
Once you've defined your security perimeter, the next
issue is whether 
and how a firewall can be built to protect it. Different
types of 
firewalls are appropriate to different circumstances:
the type of 
firewall to be used should be matched to the problem,
or to the security 
policies that the organization wishes to enforce. In
this section, 
I examine the major types of firewalls, explaining what
they are and 
how they perform, and describing any pitfalls that are
known about 
them. I won't make recommendations here, since what
works in one situation 
may not work in another.
The Gate and Choke
The gate in a network functions like a gate in a fence.
It exists 
to pass data between the Internet and the private network.
The choke 
is the opposite: it typically blocks all packets from
the Internet 
to the private network unless they are destined for
the gate, and 
blocks all packets going from the private network to
the outside unless 
they are destined for the gate. The choke is like a
fence around a 
queue at an amusement park: there is only one entrance
to the ride, 
and all attepts to go around the queue are blocked by
the fence.
The gate and the choke can exist on separate computers
or on one single 
computer. There can be multiple gates -- one for each
protocol 
that is being supported for example -- or there can
be one single 
gate. Multiple gates provide a small measure of increased
security, 
but this is countered by the extra complexity and administration
involved.
The gate and the choke are built into many different
firewalls. For 
a truly effective firewall both must be present.
The Air Gap
The air gap is probably the best firewall that can be
devised, and 
it is used by many security and law enforcement agencies.
In air gap 
implementation, any computer connected to the Internet
cannot be connected 
to any other computer or network in the organization.
While this may 
sound paranoid, it means that break-ins and viruses
can only affect 
the systems connected to the Internet. Since these machines
are not 
connected to any other host in the organization, the
attacker cannot 
proceed any further. 
An air gap creates a problem with respect to getting
useful information 
to the users in the organization. The problem can be
solved in one 
of two methods: by hand or by disk. The first method,
by hand, involves 
printing the relevant information and then typing it
back in on a 
machine that is connected to the network. The advantage
here is that 
the "seal" is very tight: no air or viruses
being carried 
in the air can escape into the internal network. The
second method 
involves saving the information to a disk, copying it
back onto a 
networked system, and then distributing the information
from that 
system.
While these methods provide very tight security, they
will also frustrate 
and alienate the users in the organization unless there
is a very 
specific need for such heavy security. Users want to
be able to correspond 
with colleagues on the Internet, and the prospect of
having to re-input 
all of their information in order to send it out is
not one they will 
welcome.
The Screening Router
The screening router is a basic component of most firewalls.
It can 
be either a commercial router, or a host-based router
that has some 
form of packet-filtering capability. Many screening
routers are able 
to block traffic between networks, between specific
hosts, or on an 
IP port level. The screening router is situated between
the two networks, 
as shown in Figure 1.
A filter is used to monitor packets and decide which
ones will be 
allowed past the router. The filter is capable of allowing
or denying 
both inbound and outbound packets. Thus, the system
administrator 
can not only deny packets coming from a particular external
host, 
but also prevent connections to specific external systems
from an 
internal machine.
The filter is also able to allow or prevent connections
to a particular 
IP service port. This means that you could block telnet
or 
rlogin services while allowing FTP connections to an
anonymous 
ftp server. Setting up packet filtering can be a frustrating
and even dangerous experience. Developing an effective
packet filtering 
configuration requires intimate knowledge of the TCP
and UDP service 
ports. If the tables are inadvertently misconfigured,
the packet filtering 
implementation may actually make it easier for vandals
to gain access.
Morningstar Technologies has built packet filtering
capabilities into 
its PPP implementation (see Figure 2). These capabilities
allow the 
system administrator to permit or deny certain types
of traffic. A 
glance at this file, makes it clear that, to prevent
or restrict traffic 
flow, you must be able to anticipate what will be coming
in over your 
router. Whatever the mechanism, many firewalls consist
of nothing 
more than a screening router between the internal network
and the 
Internet. The pitfall is that this makes the network
highly vulnerable 
to attack. Since there is direct communication from
the Internet to 
the internal network, the exposure in the event of an
attack is equal 
to the number of hosts in the network. Further, unless
each host is 
being regularly examined for attack, the likelihood
of an attack's 
being discovered is low.
To make matters worse, most commercial routers have
no logging capabilities, 
which makes detection of problems with the firewall
virtually impossible. 
Screened routers are by no means the most secure solution,
but they 
are one of the most popular because they provide virtually
unrestricted 
access to the Internet for internal users. If there
are trade secrets 
or sensitive information on hosts within the private
network, a screening 
router will not provide the level of security needed.
The Bastion Host
A bastion is a defensive strong hold. An electronic
bastion is a strong 
point in a network's security. Typically, a bastion
host has a high 
degree of security, such as C2; undergoes regular system
and security 
audits; and may in fact have modified software. As shown
in Figure 3, 
the bastion host is often situated in a position
similar to the 
screening router.
The bastion host supports a configuration for each network
and allows 
traffic for each network to be passed through. Because
of its exposure, 
the bastion host is often the subject of attacks from
vandals. Despite 
this, the bastion host is frequently used in other firewall
configurations 
to deliver the protection desired.
The Dual-Homed Gateway
The dual-homed gateway is a firewall that is implemented
without a 
screening router; it is probably the most common method
of providing 
a firewall. As Figure 4 shows, a dual-homed gateway
essentially consists 
of a bastion host system that allows no IP forwarding
between two 
networks. 
Under a dual-homed gateway, the only way to access the
internal network 
is to negotiate the connection with the bastion host
and then initiate 
a connection with the internal host. Another way of
looking at this 
is that hosts on the internal network can communicate
wih the gateway, 
as can hosts on the Internet, but direct traffic between
the two networks 
is blocked. From the Internet, the dual-homed gateway
looks like all 
of the machines in the private network, and from the
private network, 
it looks like all of the machines in the Internet. The
dual-homed 
gateway effectively acts as a service gateway, providing
support for 
electronic mail and other services: it is, by definition,
a bastion 
host.
This is a popular firewall configuration, as it is fairly
easy to 
set up and it provides a complete block between the
Internet and the 
private network. The degree of user friendliness depends
on how the 
system administrators set up access between the networks.
Services 
such as SMTP must have the mail delivered to the gateway,
which then 
forwards the message on to the destination machine.
Other services, 
such as telnet and rlogin must be configured to have
accounts on the gateway to which that users log in,
or must provide 
application-level relays to redirect the packets to
the appropriate 
host.
As an example, consider the sample login profile shown
in Figure 5. 
The code in this figure is executed when a user logs
in to the gateway 
using the user name telnet. The idea here is to allow
rlogin 
access to a system in the private network without having
to provide 
an account on the gateway. This is extremely important
as there should 
be no user accounts on the machine that is functioning
as your firewall. 
When users log in, they must provide a user name and
the name of the 
machine they want to connect to. Before the rlogin command
is executed, the session is logged for later reference.
Figure 6 illustrates 
what the caller sees when using this facility.
The sample output in Figure 6 illustrates how a telnet
or, 
more appropriately, an rlogin service could be configured
on a dual-homed gateway. The major advantage to such
a scheme is that 
there are no user login accounts on the gateway. Another
advantage 
is that damage control in the event of an attack is
much easier, because 
if a user other than those permitted on the gateway
is logged in, 
the login becomes a noteworthy security event. 
In fact, the script shown in Figure 5 can be considered
to be a proxy, 
as it accepts packets and sends them on to the recipient
machine. 
Most firewall software offers proxy agents that allow
traffic to be 
passed through the firewall in either direction, so
long as the user 
who initiates the traffic is able to provide some level
of authentication 
of his/her identity.
Another benefit is that, because most dual-homed gateways
will be 
operating on a computer system, the operating system
can be adapted 
to provide system and event logs. Such logs make it
easier to detect 
and track vandals and security breaches after a break-in,
though they 
may not help the administrator determine which other
hosts were breached 
from the gateway.
A dual-homed gateway is not vandal-proof. An attacker
who successfully 
obtains access to the dual-homed gateway has what amounts
to local 
network access on your private network, and at this
point all of the 
standard security holes become available. Misconfigurations
or improper 
permissions on NFS-mounted filesystems, .rhosts files,
automatic 
software distribution systems such as rdist, network
backup 
programs and other administrative shell scripts become
tools to help 
the attacker gain a presence on your gateway. Once that
presence is 
established, it will only be a matter of time before
all of the systems 
in your network are compromised. 
With a dual-homed gateway, if the firewall is destroyed,
the attacker 
may be able to alter the routing and expose the entire
network. Since 
most UNIX-based dual-homed gateways disable TCP/IP forwarding
by modifying 
the kernel parameter IPFORWARDING, the attacker might
want 
simply to defeat the gateway and change this. If root
privileges on 
the gateway can be obtained, then this is most certainly
the first 
choice of attack. Once the new kernel is linked, the
intruder can 
force a reboot during the night and gain access to your
network without 
having to access the gateway first.
The Screened Host Gateway
The screened host gateway is similar to the dual-homed
gateway, but 
is considered very secure while remaining relatively
easy to implement. 
While the dual-homed gateway consists of a single machine,
the screened 
subnet, as shown in Figure 7, is more complicated to
establish, and 
requires additional equipment. In a screened host gateway,
the bastion 
host is part of the private network. The screening router
is configured 
so that incoming packets are blocked unless they are
destined for 
the bastion host. The only connections that are permitted
to the private 
network are those to the bastion host. With the bastion
host being 
part of the private network, the connectivity needs
of local users 
can be met with little inconvenience to them. In addition,
because 
this implementation is not subject to the esoteric problems
created 
by weird routing configurations, the administrator's
job is easier.
The screened host gateway is particularly useful in
a virtual extended 
local network -- that is, a network that has no subnets
or internal 
routing. As long as the private network uses a set of
legitimately 
assigned network addresses, the screened host gateway
will work without 
any changes at all to the private network.
The major trouble spot in the screened host gateway
configuration 
is the bastion host, as this is the only machine that
is accessible 
from the Internet. The security of the bastion host
is determined 
by the security offered by the operating system software.
If the attacker 
is fortunate enough to gain access to the bastion host,
a wide range 
of options become available, because the rest of the
private network 
is exposed to the bastion host. Many of the same problems
and pitfalls 
that exist for the dual-homed gateway also apply to
the screened host 
gateway approach, because they share similar failure
points and design 
considerations.
The Screened Subnet
A screened subnet is a network that is situated between
the private 
network and the Internet. Typically, screening routers
isolate this 
network and prevent direct traffic to the private network.
Often, 
the routers imlement differing levels of filtering.
The screened subnet 
is configured in such a way that the Internet and the
private network 
both can access the screened subnet, but there is no
direct communication 
between the Internet and the private network -- thus
the name, 
screened subnet. As shown in Figure 8, some versions
of screened subnets 
include a bastion host configured to support either
interactive terminal 
sessions or application level gateways.
As Figure 8 also shows, a screened subnet defines a
zone of exposure 
that is fairly small to the attacker. As the attacker
essentially 
sees only the bastion host and a screening router on
the subnet, there 
are few options for attack. In most cases, the only
point of access 
in this configuration is the bastion host. Everything
else is blocked, 
either by the screening router, or through the use of
additional routing 
to enforce the screening. Under this approach, all of
the services 
that are to be shared between the Internet and the private
network 
must be processed through the bastion host. 
This strategy involves the use of application-level
gateways or the 
use of servers on the screened subnet. For example,
if the organization 
wishes to support other services for customers or the
general Internet 
population -- such as anonymous FTP, gopher, or 
World Wide Web -- then a machine or machines can be
added to the 
screened subnet for this purpose. An example is shown
in Figure 9.
To invade a screened subnet with the intent of breaking
into the bastion 
host, an attacker would have to reconfigure the routing
on three networks: 
the Internet, the screened subnet, and the private network.
All this 
would have to be done without setting off any alarms,
and without 
disconnecting from or being locked out of the network.
If the screened 
routers have been configured to accept no network connections,
or 
to accept them only from specific hosts, the attacker
would be forced 
to invade the bastion host, break into a machine on
the private network, 
and then go through the screening router.
There are other advantages to the screened subnet. If
an organization 
didn't apply for a registered IP address but chose its
own, either 
for simplicity's sake or because of the need for a private
TCP/IP 
network, the screened subnet becomes the easiest way
to access the 
Internet. Because the internal private network is entirely
invisible 
to the Internet, it is easy for the system administrator
to slowly 
re-address the IP addresses of the internal machines.
The Application Level or Proxy Gateway
A lot of software in the networking community relies
upon a store-and-forward 
approach: UUCP, electronic mail, USENET news. The application
collects 
the information, examines it, and then forwards it to
the remote destination. 
Application-level gateways are service-specific forwarders
or reflectors 
which operate at a user level rather than a protocol
level. When these 
services are running on a firewall, they become an essential
element 
in the security of the entire private network.
The theory behind the application-level or proxy gateway
is to restrict 
user interaction to a machine that does not itself provide
the service 
the user is accessing. The proxy host provides additional
authentication 
of the user, and keeps an audit trail to improve logging
and allow 
the network administrator to see what the users of the
various services 
are doing. The external user never sees the internal
network, and 
therefore has no means of attacking it.
The advantage of this approach, in combination with
any of the others, 
is that for each type of service you want to allow,
you must add a 
gateway. For example, if you wanted to allow telnet
services, 
then you would need to install a telnet proxy gateway,
and 
similarly for FTP, and so on. In this situation, if
the proxy service 
does not exist, then the application will not be permitted
and access 
to the appropriate service will be denied.
The disadvantage is that the development of these proxy
gateway services 
is not trivial, and can be a serious stalling point.
However, many 
of the software vendors who offer firewalls can provide
application-level 
and proxy gateway services.
The Hybrid Gateway
The hybrid gateway falls into a category other than
those mentioned 
earlier. An example would be a serial connection to
the Internet with 
a terminal server on the private network side. The more
difficult 
the access to the internal network, the less likely
that an attacker 
will spend the time necessary to break in. The hybrid
gateway allows 
for the introduction of some rather esoteric ideas,
such as tunneling 
one protocol over another, or using custom-designed
software to monitor 
and examine the connections that are in place. An example
is a site 
where the firewall consists of a hybrid gateway combined
with a bastion 
host.
Hybrid gateways come in different shapes and sizes,
and tend to be 
somewhat specific to the organization, so it isn't possible
to describe 
exactly what such a gateway would look like. The obvious
advantage 
to a hybrid gateway is that, if the security approach
is nonstandard, 
then it becomes harder for an attacker to figure it
out and more likely 
that the attacker will be discovered.
The trade-off here is security through obscurity versus
the benefits 
of a well-documented and thoroughly understood security
configuration. 
The more esoteric the scheme, the more difficult it
becomes for the 
administrator to remember how it works and how the pieces
fit together. 
The danger increases when the administrator is replaced
by someone 
who was not involved in the process of designing the
obscure gateway. 
It may ultimately be better to take a security approach
that is easy 
to understand, document, and control.
Since hybrids are by definition eclectic, it isn't possible
to generalize 
about their vulnerability to attack or about the risk
involved in 
running this type of firewall. One obvious requirement
is that the 
organization have the internal resources to design,
build, and maintain 
the system without having to rely upon outside resources.
It seems 
likely that with the continued expansion of the Internet,
methods 
for developing hybrid gateways will become better known
and will allow 
more security options for the administrator. 
Firewall Tools
There are vast collections of tools and numerous vendors
who offer 
software and security products and services. Even though
firewalls 
are relatively new, they are fast becoming a major part
of the network 
security business. I recommend that you examine publicly
available 
code very carefully before trusting it to protect your
network. This 
caution is not meant to imply that the code itself may
be questionable, 
but to ensure that what you think you are getting is
actually what 
you want. The sidebar, "Publicly Available Tools,"
lists a 
number of popular tools and explains how to get them.
Conclusions
If you are considering whether or not to use a firewall,
be sure to 
answer these questions: