, we introduced Internet firewalls and summarized what they can
and cannot do to improve network security. In this chapter, we
present major firewalls concepts. What are the terms you will hear in
discussions of Internet firewalls? What are the components that can
be put together to build these common firewall architectures? How do
you evaluate a firewall design? In the remaining chapters of this
book, we'll describe these components and architectures in
detail.
5.1. Some Firewall Definitions
You may be familiar with some of the following firewall terms, and
some may be new to you. Some may seem familiar, but they may be used
in a way that is slightly different from what you're accustomed
to (though we try to use terms that are as standard as possible).
Unfortunately, there is no completely consistent terminology for
firewall architectures and components. Different people use terms in
different -- or, worse still, conflicting -- ways. Also,
these same terms sometimes have other meanings in other networking
fields; the following definitions are for a firewalls context.
Here are some very basic definitions; we describe these terms in
greater detail elsewhere:
- Firewall
- A component or set of components that restricts access between a
protected network and the Internet, or between other sets of
networks.
- Host
- A computer system attached to a network.
- Bastion host
- A computer system that must be highly secured
because it is vulnerable to attack, usually because it is exposed to
the Internet and is a main point of contact for users of internal
networks. It gets its name from the highly fortified projections on
the outer walls of medieval castles.[12]
- Dual-homed host
-
A general-purpose computer system that has at
least two network interfaces (or homes).
- Network address translation (NAT)
-
A procedure by which a router
changes data in packets to modify the network addresses. This allows
a router to conceal the addresses of network hosts on one side of it.
This technique can enable a large number of hosts to connect to the
Internet using a small number of allocated addresses or can allow a
network that's configured with illegal or unroutable addresses
to connect to the Internet using valid addresses. It is not actually
a security technique, although it can provide a small amount of
additional security. However, it generally runs on the same routers
that make up part of the firewall.
- Packet
- The fundamental unit
of communication on the Internet.
- Packet filtering
- The action a
device takes to selectively control the flow of data to and from a
network. Packet filters allow or block packets, usually while routing
them from one network to another (most often from the Internet to an
internal network, and vice versa). To accomplish packet filtering,
you set up a set of rules that specify what types of packets (e.g.,
those to or from a particular IP address or port) are to be allowed
and what types are to be blocked. Packet filtering may occur in a
router, in a bridge, or on an individual host. It is sometimes known
as screening.[13]
- Perimeter network
- A network added between a protected
network and an external network, in order to provide an additional
layer of security. A perimeter network is sometimes called a
DMZ, which stands for De-Militarized
Zone (named after the zone separating North and South
Korea).
- Proxy
- A program
that deals with external servers on behalf of internal clients. Proxy
clients talk to proxy servers, which relay approved client requests
on to real servers, and relay answers back to clients.
- Virtual private network (VPN)
-
A network where packets
that are internal to a private network pass across a public network,
without this being obvious to hosts on the private network. In
general, VPNs use encryption to protect the packets as they pass
across the public network. VPN solutions are popular because it is
often cheaper to connect two networks via public networks (for
instance, getting them both Internet connections) than via private
networks (like traditional leased-line connections between the
sites).
The next few sections briefly describe the major technologies
associated with firewalls: packet filtering, proxy services, network
address translation, and virtual private networks.
There are legitimate questions about how to distinguish between
packet filtering and proxying, particularly when dealing with complex
packet filtering systems and simple proxies. Many people believe that
systems that pay attention to individual protocols and/or modify
packets should not be considered packet filters, and may even refer
to these systems as transparent proxies. In
fact, these systems don't behave much like older, simpler
packet filtering systems, and it's a good idea not to apply
generalizations about packet filtering to them blindly. On the other
hand, they don't behave much like proxying systems, either.
Similarly, a number of proxying systems provide generic
proxies, which essentially function like packet filters,
accepting all traffic to a given port without analyzing it.
It's advisable to pay close attention to the individual
technology a product uses, without making assumptions based on
whether it claims to be a packet filter or a proxy. However, many
systems still are clearly packet filters or clearly proxies, so it is
worth understanding what these technologies are and how they work.