Firewalls 1 Dan Fleck CS 469: Security Engineering

advertisement
Dan Fleck
CS 469: Security Engineering
Coming up: References
Firewalls
Slides modified with permission from original by Arun Sood
1
1. Mark Stamp, Information Security: Principles and Practice, Wiley
Interscience, 2006.
2. Robert Zalenski, Firewall Technologies, IEEE Potential, 2002, p 24 –
29.
3. Avishai Wool, A Quantitative Study of Firewall Configuration Errors,
IEEE Computer, June 2004, p 62 – 67.
4. Steven Bellovin and William Cheswick, Network Firewalls, IEEE
Communications Magazine, Sept 1994, p 50 – 57.
5. William Arbaugh, Firewalls: An Outdated Defense, IEEE Computer,
June 2003, p 112 – 113.
6. Charles Zhang, Marianne Winslett, Carl Gunter, On the Safety and
Efficiency of Firewall Policy Deployment, IEEE Symposium on
Security and Privacy, 2007.
7. Mohamed Gouda and Alex Liu, A Model of Stateful Firewalls and its
Properties, Proc of the 2005 International Conference on
Dependable Systems and Networks, 2005.
Coming up: Firewall as Network
Access Control
References
2
Firewall as Network Access Control
• Access Control
• Authentication
• Authorization
• Firewall
• Interface between networks
• Usually external (internet) and internal
• Allows traffic flow in both directions
Coming up: Firewall
• Single Sign On
3
Firewall
Internal
– Interface between networks
Coming up: Firewall
Internet
• Usually external (internet) and internal
– Allows traffic flow in both directions
– Controls the traffic
4
Firewall as Secretary
• A firewall is like a secretary
• To meet with an executive
Coming up: Security Strategies
– First contact the secretary
– Secretary decides if meeting is reasonable
– Secretary filters out many requests
• You want to meet chair of CS department?
– Secretary does some filtering
• You want to meet President of US?
– Secretary does lots of filtering!
5
[1]
Security Strategies
• Least privilege
• Objects have the lowest privilege to perform assigned task
Coming up: Security Strategies
-2
• Defense in depth
• Use multiple mechanisms
• Best if each is independent: minimal overlap
• Choke point
• Facilitates monitoring and control
6
[2]
Security Strategies - 2
• Weakest link • Fail-safe
• If firewall fails, it should go to fail-safe that denies access to avoid
intrusions
Coming up: Security Strategies
-3
• Default deny
• Default permit
• Universal participation
• Everyone has to accept the rules
7
[2]
Security Strategies - 3
• Diversity of defense
• Inherent weaknesses
• Multiple technologies to compensate for inherent weakness of
one technology
Coming up: Security Strategies
-4
• Common heritage
• If systems configured by the same person, may have the same
weakness
• Simplicity
• Security through obscurity
8
[2]
Security Strategies - 4
Configuration errors can be devastating
Testing is not perfect
Ongoing trial and error will identify weaknesses
Enforcing a sound policy is critical
Coming up: Types of Firewall
•
•
•
•
9
[2]
Types of Firewall
No Standard Terminology
• Simplest firewall
• Filter packets based on specified criteria
• IP addresses, subnets, TCP or UDP ports
• Does NOT read the packet payload
• Vulnerable to IP spoofing
•Stateful inspection (transport layer)
• In addition to packet inspection
• Validate attributes of multi-packet flows
• Keeps track of connection state (e.g. TCP streams, active connections,
etc…)
[2]
Coming up: Types of Firewall - 2
•Packet Filtering (network layer)
10
Types of Firewall - 2
• Application Based Firewall (application layer)
• Allows data into/out of a process based on that process’ type
• Can act on a single computer or at the network layer
• e.g. allowing only HTTP traffic to a website
Coming up: Types of Firewall - 3
• Log access – attempted access and allowed access
• Personal firewall – single user, home network
11
[2]
Types of Firewall - 3
• Proxy
• Intermediate connection between servers on internet and
internal servers.
• For incoming data
Coming up: Types of Firewall - 4
• Proxy is server to internal network clients
• For outgoing data
• Proxy is client sending out data to the internet
No IP packets pass through firewall. Firewall creates new packets.
• Very secure
• Less efficient versus packet filters
12
[2]
Types of Firewall - 4
• Network Address Translation
Coming up: Packet Filter
• Hides internal network from
external network
• Private IP addresses –
expands the IP address space
• Creates a choke point
• Virtual Private Network
• Employs encryption and integrity protection
• Use internet as part of a private network
• Make remote computer “act like” it is on local network
13
[2]
Packet Filter
• Advantages
• Disadvantages
• Can be compromised by many attacks
• Source spoofing
Coming up: Packet Filter Example
• Simplest firewall architecture
• Works at the Network layer – applies to all systems
• One firewall for the entire network
14
Coming up: Packet Filter Example
Packet Filter - Example
15
[2]
Coming up: Packet Filter Example
Packet Filter - Example
16
[2]
Coming up: Packet Filter Example
Packet Filter - Example
• Attack succeeds because of rules B and D
• More secure to add source ports to rules
17
Coming up: Packet Filter Example
Packet Filter - Example
18
[2]
• These packets would be admitted. To avoid this add an ACK bit to
the rule set
Coming up: Packet Filter Example
Packet Filter - Example
19
[2]
Coming up: TCP Ack for Port
Scanning
Packet Filter - Example
• Attack fails, because the ACK bit is not set. ACK bit is set if the connection
originated from inside.
20
• Incoming TCP packets must have ACK bit set. If this started outside, then
no matching data, and packet will be rejected.
• Note: This rule means we allow no services other than request that we
originate.
TCP Ack for Port Scanning
• Attacker sends packet with ACK set (without prior
handshake) using port p
Coming up: TCP Ack Port Scan
• Violation of TCP/IP protocol
• Packet filter firewall passes packet
• Firewall considers it part of an ongoing connection
• Receiver sends RST
• Indicates to the sender that the connection should be
terminated
• Receiving RST indicates that port p is open!!
21
[1]
• RST confirms that port 1209 is open
• Problem: packet filtering is stateless; the firewall should track the
entire connection exchange
Coming up: Stateful Packet
Filter
TCP Ack Port Scan
22
[1]
Stateful Packet Filter
• Pro: Adds state to packet filter and
keeps track of ongoing connection
• Con: Slower, more overhead. Packet
content info not used
application
transport
network
link
physical
Coming up: Application Proxy
• Remembers packets in the TCP
connections (and flag bits)
• Adds state info to the packet filter
firewalls.
• Operates at the transport layer.
23
[1]
Application Proxy
Coming up: Firewalk – Port
Scanning
• A proxy acts on behalf the system being
protected.
• Application proxy examines incoming app data –
verifies that data is safe before passing it to the
system.
• Pros
• Complete view of the connections and app data
• Filter bad data (viruses, Word macros)
• Incoming packet is terminated and new packet is sent
to internal network
• Con
• Speed
24
[1]
Firewalk – Port Scanning
• Scan ports through firewalls
• Requires knowledge of
Coming up: Firewalk and Proxy
Firewall
• IP address of firewall
• IP address of one system in internal network
• Number of hops to the firewall
• Set TTL (time to live) = Hops to firewall +1
• Set destination port to be p
• If firewall does not pass data for port p, then no
response
• If data passes thru firewall on port p, then time
exceeded error message
Lets try it Applications->Utilities->Network Utility
25
[1]
Firewalk and Proxy Firewall
Trudy
Router
Router
Packet
filter
Router
Coming up: Firewalls and
Defense in Depth
Dest port 12343, TTL=4
Dest port 12344, TTL=4
Dest port 12345, TTL=4
Time exceeded
• Attack would be stopped by proxy firewall
• Incoming packet destroyed (old TTL value also destroyed)
• New outgoing packet will not exceed TTL.
[1]
26
Firewalls and Defense in Depth
• Example security architecture
DMZ
Coming up: Research: Firewall
Policy Verification
WWW server
FTP server
DNS server
Internet
Packet
Filter
Application
Proxy
Intranet with
Personal
Firewalls 27
[1]
Research: Firewall Policy
Verification
• Firewall design: consistency, completeness, and compactness
• Lesson: Practical firewalls have complex rulesets. They
are hard to get right. Research in place to help validate
the configuration for errors
• Lets see some simple ones
Coming up: Lets do some
examples
• Gouda, M.G.; Liu, X.-Y.A., "Firewall design: consistency, completeness, and compactness,"
Distributed Computing Systems, 2004. Proceedings. 24th International Conference on , vol.,
no., pp.320,327, 2004
28
Lets do some examples
Well supported in Linux:
iptables –A INPUT –p tcp –dport 22 –j ACCEPT
-A: append to list of rules
-p:match protocol tcp
--dport 22: match destination port 22 (ssh)
-j ACCEPT: if rule matches, ACCEPT the packet.
1st matching rule wins… order matters!
Final rule typically rejects anything that doesn’t match: security
says deny all, and only allow in who you want.
Coming up: iptables - chains
iptables is a common tool to build firewalls
29
iptables - chains
• iptables –A INPUT –p tcp –dport 22 –j ACCEPT
• # This allows SSH TO THE FIREWALL BOX!
Coming up: iptables – matching
rules
• INPUT – anything with a destination of the firewall box
• OUTPUT – anything with a source of the firewall box
• FORWARD – anything going through the firewall box (neither
source or dest is the firewall box)
30
Jump targets – what to do upon match?
-j ACCEPT – allow it
-j REJECT -- send a rejection message
-j DROP – drop it, don’t send any message
-j logaccept, logdrop, logreject
(there are others)
Protocol matching rules
-p tcp , udp, icmp, all (0 means all)
Port matching rules
--dport destination port
--sport source port
Coming up: iptables – more
rules
iptables – matching rules
31
Physical device interface:
-i vlan0 # Packets coming in on that physical interface
-o eth1 # packets going out on that physical interface
-i only valid for INPUT, FORWARD chain
-o only valid for OUTPUT, FORWARD chain
(Note: Specific interface differs by hardware)
Time-based Limiting
--limit 5/minute (rule matches a maximum of 5 times per
minute (or second or hour, or day, etc…)
Syn-flood protection:
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
Coming up: iptables - examples
iptables – more rules
32
iptables - examples
• Lets stop all http access
• Lets allow www.gmu.edu though (but only GMU!)
• --destination www.gmu.edu
• Lets allow only my IP to get to HTTP
• --source 192.168.3.10
Coming up: iptables – more
rules
• Lets stop ping
33
iptables – more rules
NEW - A packet which creates a new connection.
ESTABLISHED - A packet which belongs to an existing connection (i.e., a
reply packet, or outgoing packet on a connection which has seen
replies).
RELATED - A packet which is related to, but not part of, an existing
connection, such as an ICMP error, or (with the FTP module inserted), a
packet establishing an ftp data connection.
INVALID - A packet which could not be identified for some reason: this
includes running out of memory and ICMP errors which don't
correspond to any known connection. Generally these packets should
be dropped.
Coming up: iptables – more
rules
State matching:
-m state –state ESTABLISHED, RELATED
34
iptables – more rules
TCP bit matching:
--tcp-flags <string 1> <string2>
string 1 = the set of bits to look at
string 2 = the subset of 1 which should be ones
Above command says look at all the bits (‘ALL’ is synonymous with
`SYN,ACK,FIN,RST,URG,PSH’) and verify that only the SYN and ACK bits
are set.
Coming up: Would a GUI help?
iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
35
34
iptables - Tunneling
• In our network we have one outward facing server, so to get in
from home we must travel (tunnel) through that server.
• We really use SSH tunnels:
• ssh -f -L 10024:sr1s4.mesa.gmu.edu:22 dslsrv.gmu.edu -N ; ssh -X -p
10024 localhost
• However if everyone needed to use it we could use a firewall
based tunnel:
• iptables -t nat -A PREROUTING -p tcp -d dslsrv.gmu.edu --dport 10024
-j DNAT --to-destination sr1s4.mesa.gmu.edu:22
Coming up: Lessons
Would a GUI help?
36
• There are many firewall types
• Each provides a different level of security versus performance
• Multiple firewalls can be used to segment networks into
security zones
• iptables is a powerful example of how to create/manage
firewalls
End of presentation
Lessons
37
35
29
Download