Firewall Design Principles
Firewall Characteristics Types of Firewalls
Special Thanks to our friends at The Blekinge Institute of Technology, Sweden for providing the basis for these slides.
Fall 2008
CS 334: Computer Security
Fall 2008
CS 334: Computer Security
Effective means of protection a local system or network of systems from network-based security threats while affording access to the outside world via WANs or the Internet Information systems undergo a steady evolution (from small LAN`s to Internet connectivity) Strong security features for all workstations and servers not established
Fall 2008 CS 334: Computer Security 3
Systems provide many services by default
Many workstations provide remote access to files and configuration databases (for ease of management and file sharing) Even if configured only for specific users, they can sometimes be tricked into providing services they shouldnt
E.g. missing bounds check in input parsers
Also, users sometimes forget to close temporary holes
E.g. leaving file system remote mountable for file sharing
Fall 2008
CS 334: Computer Security
Firewalls enforce policies that centrally manage access to services in ways that workstations should, but dont Which services?
Finger telnet: requires authentication, but password sent in clear rlogin: similar to telnet, but uses IP address based authentication (Bad!) ftp: Tricky because two connections, control channel from sender, and data connection from receiver. (passive ftp has both sender originated) X Windows ICMP
The firewall is inserted between the premises network and the Internet Aims:
Establish a controlled link Protect the premises network from Internet-based attacks Provide a single choke point
Fall 2008 CS 334: Computer Security 6
Fall 2008
CS 334: Computer Security
Design goals:
All traffic from inside to outside must pass through the firewall (physically blocking all access to the local network except via the firewall) Only authorized traffic (defined by the local security policy) will be allowed to pass The firewall itself is immune to penetration (use of trusted system with a secure operating system)
Four general techniques: Service control
Direction control
Determines the types of Internet services that can be accessed, inbound or outbound Determines the direction in which particular service requests are allowed to flow
CS 334: Computer Security 8
Fall 2008
CS 334: Computer Security
Fall 2008
User control
Controls access to a service according to which user is attempting to access it
Cannot protect against attacks that bypass the firewall Firewall does not protect against internal threats Firewall cannot protect against transfer of virus infected programs
E.g. an internal modem pool
Behavior control
Controls how particular services are used (e.g. filter e-mail)
Too many different apps and operating systems supported to make it practical to scan all incoming files for viruses
CS 334: Computer Security 10
Fall 2008
CS 334: Computer Security
Fall 2008
Three common types of Firewalls:
Packet-filtering routers Application-level gateways Circuit-level gateways (Bastion host)
Packet-filtering Router
Fall 2008
CS 334: Computer Security
11
Fall 2008
CS 334: Computer Security
12
Packet-filtering Router
Advantages:
Simplicity Transparency to users High speed
Applies a set of rules to each incoming IP packet and then forwards or discards the packet Filter packets going in both directions The packet filter is typically set up as a list of rules based on matches to fields in the IP or TCP header Two default policies (discard or forward)
Disadvantages:
Difficulty of setting up packet filter rules Lack of Authentication
Who really sent the packet?
Fall 2008
CS 334: Computer Security
13
Fall 2008
CS 334: Computer Security
14
Can be clever:
Allow connections initiated from inside network to outside, but not initiated from outside.
Traffic flows both way, but if firewall only allows incoming packets with ACK set in TCP header, this manages the issue. Problem: some apps require outside node to initiate connection with inside node (e.g. ftp, Xwindows), even if original request initiated by inside node. Solution (sort of): allow packets from outside if they are connecting to high port number.
Fall 2008
CS 334: Computer Security
15
Fall 2008
CS 334: Computer Security
16
Changes filtering rules dynamically (by remembering what has happened in recent past) Example: Connection initiated from inside node S to outside IP address D. For short time allow incoming connections from D to appropriate ports (I.e. ftp port). In practice, much more caution
Stateful filter notices the incoming port requested by S and only allows connections from D to that port. Requires parsing ftp control packets
CS 334: Computer Security
Possible attacks and appropriate countermeasures
IP address spoofing
Discard packet with inside source address if it arrives on external interface
Source routing attacks
Discard all source routed packets
Fall 2008
17
Fall 2008
CS 334: Computer Security
18
Possible attacks and appropriate countermeasures
Tiny fragment attacks
Intruder uses IP fragment option to create extremely small IP packets that force TCP header information into separate packet fragments Discard all packets where protocol type is TCP and IP fragment offset is small
Application-level Gateway
Fall 2008
CS 334: Computer Security
19
Fall 2008
CS 334: Computer Security
20
Application-level Gateway
Also called proxy server Acts as a relay of application-level traffic Can act as router, but typically placed between two packet filtering firewalls (for total of three boxes)
Two firewalls are routers that refuse to forward anything from the global net that is not to gateway, and anything to global net that is not from gateway.
Advantages:
Higher security than packet filters Only need to scrutinize a few allowable applications Easy to log and audit all incoming traffic
Disadvantages:
Additional processing overhead on each connection (gateway as splice point)
Sometimes called a bastion host (we use the term differently)
Fall 2008 CS 334: Computer Security
21
Fall 2008
CS 334: Computer Security
22
Circuit-level Gateway Circuit-level Gateway
Stand-alone system or Specialized function performed by an Application-level Gateway Sets up two TCP connections The gateway typically relays TCP segments from one connection to the other without examining the contents
Fall 2008
CS 334: Computer Security
23
Fall 2008
CS 334: Computer Security
24
Circuit-level Gateway
The security function consists of determining which connections will be allowed Typically use is a situation in which the system administrator trusts the internal users
Bastion Host
A system identified by the firewall administrator as a critical strong point in the networks security The bastion host serves as a platform for an application-level or circuit-level gateway
Fall 2008
CS 334: Computer Security
25
Fall 2008
CS 334: Computer Security
26
In addition to the use of simple configuration of a single system (single packet filtering router or single gateway), more complex configurations are possible We wont go into these
Assume all bad guys are on outside, and everyone inside can be trusted. Firewalls can be defeated if malicious code can be injected into corporate network
E.g. trick someone into launching an executable from an email message or into downloading something from the net.
Often make it difficult for legitimate users to get their work done.
Misconfiguration, failure to recognize new app
Fall 2008
CS 334: Computer Security
27
Fall 2008
CS 334: Computer Security
28
If firewall allows anything through, people figure out how to do what they need by disguising their traffic as allowed traffic
E.g. file transfer by sending it through email. If size of emails limited, then user breaks them into chunks, etc. Firewall friendly traffic (e.g. using http for other purposes)
Defeats effort of sysadmin to control traffic Less efficient than not using http
Chapman, D., and Zwicky, E. Building Internet Firewalls. OReilly, 1995 Cheswick, W., and Bellovin, S. Firewalls and Internet Security: Repelling the Wily Hacker. Addison-Wesley, 2000
Fall 2008
CS 334: Computer Security
29
Fall 2008
CS 334: Computer Security
30