SE 4C03 Winter 2005 Firewall Design Principles: By: Kirk Crane
SE 4C03 Winter 2005 Firewall Design Principles: By: Kirk Crane
SE 4C03 Winter 2005 Firewall Design Principles: By: Kirk Crane
Introduction
Every network has a security policy that will specify what traffic is allowed to
enter and leave the network. Most home computers have an open policy allowing all
traffic to enter and leave. As more computers become connected to the Internet, the
proliferation of viruses and hackers are a concern of even the casual Internet user. The
generally accepted approach to securing your site is to take the following steps[1]:
1) Identify what you are trying to protect.
2) Determine what you are trying to protect it from.
3) Determine how likely the threats are.
4) Implement measures that will protect your assets in a cost-effective manner.
5) Review the process continuously and make improvements each time a weakness
is found.
The most complex software will not protect your data if you have not identified what you
are trying to protect and from whom. Although these steps are important to securing a
network, only the implementation (step 4) of the security policy will be considered. This
paper will discuss how a firewall can implement your security policy to prevent
unauthorized access.
Architecture
There are generally four types of firewalls: Packet Filtering Firewalls, Circuit
Level Gateways, Application Level Gateways, and Stateful Multilevel Inspection
Firewalls[2]. These firewall designs are in increasing order of complexity and evolution.
Network Design
A network with few hosts, providing no public services is likely going to have
one firewall installed on the router (see Figure 1 in Appendix A). This type of setup is
referred to as a single layer architecture[4]. For such a setup a good policy to employ
would be to deny all incoming connections (since you are not providing any services) and
limit the outgoing connections to the applications you use. This can be accomplished
with a packet filter firewall and be very effective and easy to setup. All other computers
in the private network will then be separated from the outside network by the firewall.
A more complex network setup will likely employ the concept of a demilitarized
zone (DMZ) in a multi-layer architecture[4]. When services such as HTTP or FTP are
required, it is best to keep these machines protected, but still accessible to the outside
network. Since these machines will accept connections from outside networks they
cannot be considered trusted and hence are part of the DMZ network. A firewall should
still be placed between the DMZ and the outside network to reduce the chance for
compromise and only allow incoming connections to pass through for the services being
offered. The other machines in the internal network that do not provide services to the
outside network should be isolated from the DMZ by using another firewall with a more
strict security policy (see Figure 2 in Appendix A). These two firewalls should be
connected in series and use different software implementations to provide additional
security—two firewalls must be penetrated using different techniques in order to obtain
access to the internal network. The second firewall for the private network should not let
any incoming connections come through. In the scenario of a computer in the DMZ
being compromised, all computers in the private network would still be protected by the
second firewall.
A firewall can also be placed on a single computer. The firewall could be setup to
ensure that any malicious software will be blocked from connecting outside of the
computer (unless it tunnels through popular ports such as HTTP). Another added benefit
would be to log activity and also to ensure the host is secure from other hosts that may
have been compromised on the same network.
Most technologies used for networking were designed in a time when security
was not a main concern. As security became a major concern, these unsecured
technologies became the base for implementing secure technologies on top of. New
technology to replace the old has been slow to catch on, but has kept security as a top
concern. When these technologies (IPv6/IPSEC) become required for communication,
technology such as the firewall will be reduced to what its initial intentions were and
additions such as detecting spoofing will be handled at the protocol level instead of by
the firewall.
Conclusion
A firewall is just another piece in the network security puzzle. To secure a
network, a security policy must be devised to outline what you are trying to protect and
from what threats. The policy can then be implemented using any existing technologies.
A firewall is placed between all external networks to separate it from the internal
network, creating a secure boundary around your network. The policy for the internal
network is implemented using rules in the firewall software. The firewall will monitor all
traffic entering and leaving the network by analyzing the header information within the
packets. When a packet fails to pass a specific rule, it will not be permitted to continue to
its destination.
[1] M. Fites, P. Kratz, and A. Brebner, “Control and Security of Computer Information
Systesms”, Computer Science Press, 1998.
[2] Vicomsoft, 2003. Firewall White Paper-What different types of firewalls are there?
http://www.firewall-software.com/firewall_faqs/types_of_firewall.html (March, 24,
2005)
[4] CERT, 2004, “Design the Firewall System”, A practice from the CERT Security
Improvement Modules, (March, 24, 2005)