Firewalls

advertisement
Firewalls
CS461/ECE422
Spring 2012
Reading Material
• Text chapter 9
• “Firewalls and Internet Security: Repelling the
Wily Hacker”, Cheswick, Bellovin, and Rubin.
Firewall Goal
• Insert after the fact security by wrapping or
interposing a filter on network traffic
Inside
Outside
Firewall Requirements
• All traffic between network section A and
network section B (and visa versa) must pass
through the firewall (or a consistently
controlled set of firewalls)
• Only authorized traffic (as specified by the
security policy) is allowed to pass
• The firewall itself is immune to penetration
“Typical” corporate network
Firewall
Intranet
Mail forwarding
File Server
Web Server
Mail server
DNS (internal)
Demilitarized
Zone (DMZ)
DNS (DMZ)
Web Server
Firewall
User
machines
User
Usermachines
machines
Internet
Packet Filter Firewall
• Operates at Layer 3 in router or HW firewall
• Has access to the Layer 3 header and Layer 4 header
• Can block traffic based on source and destination
address, ports, and protocol
• Does not reconstruct Layer 4 payload, so cannot do
reliable analysis of layer 4 or higher content
Rule Scenario
Example Packet Filter Rules
• Rules attached to outside interface
Action Source
Addr
Src
port
Dest Addr Dest
Port
Protocol Comment
Block
Outside host *
*
*
*
Don’t trust
Allow
*
Our Mail
Server
25
Tcp
Allow mail traffic
*
• Rules attached to inside interface
Action Source
Addr
Source
Port
Dest Addr
Dest Port Protocol
Comment
Block
*
*
Outside
host
*
*
Don’t trust
Allow
Our Mail
Server
25
*
*
Tcp
Allow Mail traffic
Same Rules in iptables
• Rules in the filter table
• -A FORWARD –p ip -s outside_host –j REJECT
-A FORWARD –p ip –d outside_host –j REJECT
-A FORWARD –i outside –p tcp –d our_mail_server –m
tcp --dport 25 –j ACCEPT
-A FORWARD –i inside –p tcp –s our_mail_server –m
tcp --sport 25 –j ACCEPT
-A FORWARD –j REJECT
More Example Pack Filter Rules
• Rules attached to inside interface
Action
Source
Addr
Source
Port
Dest
Addr
Dest
Port
Proto
Comment
Allow
*
*
*
25
TCP
Allow traffic to all mail
servers
• Rules attached to outside interface
Action
Source
Addr
Source
Port
Dest
Addr
Dest
Port
Proto
Comment
Allow
*
25
*
*
TCP
Allow return traffic from all
mail servers
A Better Example
• Rules attached to inside interface
Action
Source
Addr
Source
Port
Dest
Addr
Dest
Port
Proto
Comment
Allow
Inside
networks
*
*
25
TCP
Allow traffic to all mail
servers
• Rules attached to outside interface
Action Source Source Dest
Addr
Port
Addr
Allow
*
25
Dest
Port
Inside
*
networks
Proto
Flags
Comment
TCP
ACK
Allow return traffic from
all mail servers
FTP Example
• Rules attached to inside interface
Action Source
Addr
Source
Port
Dest
Addr
Dest
Port
Proto
Allow
Inside
*
networks
*
21
TCP
Allow
Inside
> 1024
networks
*
*
TCP
Flags
Comment
Allow Control channel
traffic out
ACK
Allow data traffic back
• Rules attached to outside interface
Action Source Source Dest
Addr
Port
Addr
Dest
Port
Proto
Flags
Comment
TCP
ACK
Allow return traffic for
FTP control channel
Allow
*
21
Inside
*
networks
Allow
*
*
Inside
>1024 TCP
networks
Initiate data traffic
Stateful Inspection Firewall
• Evolved as packet filters aimed for proxy functionality
• In addition to Layer 3 reassembly, it can reconstruct layer 4 traffic
• Some application layer analysis exists, e.g., for HTTP, FTP, H.323
– Called context-based access control (CBAC) on IOS
– Configured by fixup command on PIX
• Some of this analysis is necessary to enable address translation and
dynamic access for negotiated data channels
• Reconstruction and analysis can be expensive.
– Must be configured on specified traffic streams
– At a minimum the user must tell the Firewall what kind of traffic to
expect on a port
– Degree of reconstruction varies per platform, e.g. IOS does not do IP
reassembly
Circuit Firewall
• Actually creates two separate TCP connections
– Completely reconstructs TCP connections
– SOCKS is an example implementation
Example Stateful Rules
• Rules attached to outside interface
Action Source
Addr
Src
port
Dest Addr Dest
Port
Protocol Comment
Block
Outside host *
*
*
*
Don’t trust
Allow
*
Our Mail
Server
25
Tcp
Allow mail traffic
*
• Rules attached to inside interface
Action Source
Addr
Source
Port
Dest Addr
Dest Port Protocol
Comment
Block
*
Outside
host
*
Don’t trust
*
*
Same Rules in iptables
• Rules in the filter table
• -A FORWARD –p ip -s outside_host –j REJECT
-A FORWARD –p ip –d outside_host –j REJECT
-A FORWARD –m state --state ESTABLISHED, RELATED –
j ACCEPT
-A FORWARD –i outside –m state –state NEW –p tcp –
d our_mail_server –m tcp --dport 25 –j ACCEPT
-A FORWARD –j REJECT
Application Proxy Firewall
• Firewall software runs in application space on the
firewall
• The traffic source must be aware of the proxy and
add an additional header
• Now transparent proxy support is available (TPROXY)
• Leverage basic network stack functionality to sanitize
application level traffic
– Block java or active X
– Filter out “bad” URLs
– Ensure well formed protocols or block suspect aspects of
protocol
Traffic reconstruction
X
Y
FTP: X to Y
GET /etc/passwd
GET command causes
firewall to dynamically
open data channel initiate
from Y to X
Might have filter for files to
block, like /etc/passwd
Ingress and Egress Filtering
• Ingress filtering
– Filter out packets from invalid addresses before entering your network
• Egress filtering
– Filter out packets from invalid addresses before leaving your network
Owns network X
Inside
Outside
Egress Filtering
Block outgoing traffic not
sourced from network X
Ingress Filtering
Block incoming traffic from
one of the set of invalid
networks
Denial of Service
• Example attacks
– Smurf Attack
– TCP SYN Attack
– Teardrop
• DoS general exploits resource limitations
– Denial by Consumption
– Denial by Disruption
– Denial by Reservation
Teardrop Attack
• Send series of fragments that don't fit together
– Poor stack implementations would crash
– Early windows stacks
Offset 0, len
60
Offset 30, len 90
Offset 41, len 173
Address Translation
• Traditional NAT RFC 3022 Reference RFC
• Map real address to alias address
– Real address associated with physical device, generally an unroutable
address
– Alias address generally a routeable associated with the translation
device
• Originally motivated by limited access to publicly routable IP
addresses
– Folks didn’t want to pay for addresses and/or hassle with getting
official addresses
• Later folks said this also added security
– By hiding structure of internal network
– Obscuring access to internal machines
• Adds complexity to firewall technology
– Must dig around in data stream to rewrite references to IP addresses
and ports
– Limits how quickly new protocols can be firewalled
Address Hiding (NAPT)
• Many to few dynamic mapping
– Packets from a large pool of private addresses are mapped
to a small pool of public addresses at runtime
• Port remapping makes this sharing more scalable
– Two real addresses can be rewritten to the same alias
address
– Rewrite the source port to differentiate the streams
• Traffic must be initiated from the real side
• Called masquerading in iptables if the interface IP is
used for the alias address
NAT example
Hide from inside to outside
192.168.1.0/24 behind 128.274.1.1
Static map from inside to DMZ
192.168.1.5 to 128.274.1.5
192.168.1.0/24
Src=192.168.1.100
Dst=microsoft.com
inside
Enforcing
Device
DMZ
10.10.10.0/24
outside
Internet
Src=128.274.1.1
Dst=microsoft.com
Static Mapping
• One-to-one fixed mapping
– One real address is mapped to one alias address at
configuration time
– Traffic can be initiated from either side
• Used to statically map out small set of servers
from a network that is otherwise hidden
• Static port remapping is also available
NAT example
Hide from inside to outside
192.168.1.0/24 behind 128.274.1.1
Static map from DMZ to Internet
10.10.10.5 to 128.274.1.5
192.168.1.0/24
inside
Enforcing
Device
DMZ
10.10.10.0/24
Src=X
Dst=10.10.10.5
outside
Internet
Src=X
Dst=128.274.1.5
Deployment
• Hardware Firewall
– Buy firewall from vendor
• They provide software and hardware
• Depending on cost, may include hardware accelerators
• Software Firewall on hardened bastion server
– Buy software from vendor or use open source
– Harden server to reduce attack surface
• Host-based firewall
– Additional layer of defense for application server
• Personal firewall
– Protect desktops/laptops from undesired probing
DMZ Network
Firewall
Intranet
Mail forwarding
File Server
Web Server
Mail server
DNS (internal)
Demilitarized
Zone (DMZ)
DNS (DMZ)
Web Server
Firewall
User
machines
User
Usermachines
machines
Internet
VPN Network
Distributed Firewalls
Intrusion Prevention
• Discussed in the Intrusion Detection lecture
• Enables more dynamic rules and access rules
that rely on more communication details
– Can download new signatures or adapt anomaly
rules on a daily basis
Unified Threat Management (UTM)
• Firewalls at the border provide a nice point for
analysis
– Might as well perform other analysis as long as flows
have been tracked
– Deploy one box instead of N boxes
• Additional actions could be
–
–
–
–
Virus scanning
URL filtering
IDS/IPS/anomaly detection
Spam filtering
Limits to firewalls
• Cannot analyze encrypted traffic
– Beyond header information
• Everything is driven through port 80
– Relies on port as indicator of service
– Newer firewalls dynamically analyze traffic to determine
protocol
• Cannot react to new attacks on protocols that must be
allowed
– IPS can help
• Tracking IP addresses instead of people
• Costs too much to manage firewalls
Summary
• Different types of firewalls for different needs
– Packet filtering/stateful/application
– Network/Host/personal
• Firewalls have been a stalwart element of
network security for decades
– Not the end all solution
– But still beneficial
Download