Firewalls CS461/ECE422 Spring 2012 Reading Material - - PowerPoint PPT Presentation

firewalls
SMART_READER_LITE
LIVE PREVIEW

Firewalls CS461/ECE422 Spring 2012 Reading Material - - PowerPoint PPT Presentation

Firewalls CS461/ECE422 Spring 2012 Reading Material Text chapter 9 Firewalls and Internet Security: Repelling the Wily Hacker, Cheswick, Bellovin,


slide-1
SLIDE 1

Firewalls ¡

CS461/ECE422 ¡ Spring ¡2012 ¡

slide-2
SLIDE 2

Reading ¡Material ¡

  • Text ¡chapter ¡9 ¡
  • “Firewalls ¡and ¡Internet ¡Security: ¡Repelling ¡the ¡

Wily ¡Hacker”, ¡Cheswick, ¡Bellovin, ¡and ¡Rubin. ¡ ¡

slide-3
SLIDE 3

Firewall ¡Goal ¡

  • Insert ¡a"er ¡the ¡fact ¡security ¡by ¡wrapping ¡or ¡

interposing ¡a ¡filter ¡on ¡network ¡traffic ¡ ¡

Inside Outside

slide-4
SLIDE 4

Firewall ¡Requirements ¡

  • All ¡traffic ¡between ¡network ¡secTon ¡A ¡and ¡

network ¡secTon ¡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 ¡penetraTon ¡
slide-5
SLIDE 5

“Typical” ¡corporate ¡network ¡

Web Server

Mail forwarding

Mail server

DNS (internal)

DNS (DMZ) Internet File Server User machines User machines User machines Web Server Demilitarized Zone (DMZ) Intranet

Firewall Firewall

slide-6
SLIDE 6

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 ¡desTnaTon ¡

address, ¡ports, ¡and ¡protocol ¡

  • Does ¡not ¡reconstruct ¡Layer ¡4 ¡payload, ¡so ¡cannot ¡do ¡

reliable ¡analysis ¡of ¡layer ¡4 ¡or ¡higher ¡content ¡

slide-7
SLIDE 7

Rule ¡Scenario ¡

slide-8
SLIDE 8

Example ¡Packet ¡Filter ¡Rules ¡

  • Rules ¡a^ached ¡to ¡outside ¡interface ¡
  • Rules ¡a^ached ¡to ¡inside ¡interface ¡

Ac#on ¡ 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 ¡ Ac#on ¡ 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 ¡

slide-9
SLIDE 9

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
slide-10
SLIDE 10

More ¡Example ¡Pack ¡Filter ¡Rules ¡

  • Rules ¡a^ached ¡to ¡inside ¡interface ¡
  • Rules ¡a^ached ¡to ¡outside ¡interface ¡

Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Comment ¡ Allow ¡ * ¡ * ¡ * ¡ 25 ¡ TCP ¡ Allow ¡traffic ¡to ¡all ¡mail ¡ servers ¡ Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Comment ¡ Allow ¡ * ¡ 25 ¡ * ¡ * ¡ TCP ¡ Allow ¡return ¡traffic ¡from ¡all ¡ mail ¡servers ¡

slide-11
SLIDE 11

A ¡Be^er ¡Example ¡

  • Rules ¡a^ached ¡to ¡inside ¡interface ¡
  • Rules ¡a^ached ¡to ¡outside ¡interface ¡

Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Comment ¡ Allow ¡ Inside ¡ networks ¡ * ¡ * ¡ 25 ¡ TCP ¡ Allow ¡traffic ¡to ¡all ¡mail ¡ servers ¡ Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Flags ¡ Comment ¡ Allow ¡ * ¡ 25 ¡ Inside ¡ networks ¡ * ¡ TCP ¡ ACK ¡ Allow ¡return ¡traffic ¡from ¡ all ¡mail ¡servers ¡

slide-12
SLIDE 12

FTP ¡Example ¡

  • Rules ¡a^ached ¡to ¡inside ¡interface ¡
  • Rules ¡a^ached ¡to ¡outside ¡interface ¡

Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Flags ¡ Comment ¡ Allow ¡ Inside ¡ networks ¡ * ¡ * ¡ 21 ¡ TCP ¡ Allow ¡Control ¡channel ¡ traffic ¡out ¡ Allow ¡ Inside ¡ networks ¡ > ¡1024 ¡ * ¡ * ¡ ¡ TCP ¡ ACK ¡ Allow ¡data ¡traffic ¡back ¡ Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡ Addr ¡ Dest ¡ Port ¡ Proto ¡ Flags ¡ Comment ¡ Allow ¡ * ¡ 21 ¡ Inside ¡ networks ¡ * ¡ TCP ¡ ACK ¡ Allow ¡return ¡traffic ¡for ¡ FTP ¡control ¡channel ¡ Allow ¡ * ¡ * ¡ Inside ¡ networks ¡ >1024 ¡ TCP ¡ IniTate ¡data ¡traffic ¡

slide-13
SLIDE 13

Stateful ¡InspecTon ¡Firewall ¡

  • Evolved ¡as ¡packet ¡filters ¡aimed ¡for ¡proxy ¡funcTonality ¡
  • In ¡addiTon ¡to ¡Layer ¡3 ¡reassembly, ¡it ¡can ¡reconstruct ¡layer ¡4 ¡traffic ¡
  • Some ¡applicaTon ¡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 ¡translaTon ¡and ¡

dynamic ¡access ¡for ¡negoTated ¡data ¡channels ¡

  • ReconstrucTon ¡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 ¡reconstrucTon ¡varies ¡per ¡plaform, ¡e.g. ¡IOS ¡does ¡not ¡do ¡IP ¡ reassembly ¡

slide-14
SLIDE 14

Circuit ¡Firewall ¡

  • Actually ¡creates ¡two ¡separate ¡TCP ¡connecTons ¡

– Completely ¡reconstructs ¡TCP ¡connecTons ¡ – SOCKS ¡is ¡an ¡example ¡implementaTon ¡

slide-15
SLIDE 15

Example ¡Stateful ¡Rules ¡

  • Rules ¡a^ached ¡to ¡outside ¡interface ¡
  • Rules ¡a^ached ¡to ¡inside ¡interface ¡

Ac#on ¡ 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 ¡ Ac#on ¡ Source ¡ Addr ¡ Source ¡ Port ¡ Dest ¡Addr ¡ Dest ¡Port ¡ Protocol ¡ Comment ¡ Block ¡ * ¡ * ¡ Outside ¡ host ¡ * ¡ ¡ * ¡ ¡ Don’t ¡trust ¡

slide-16
SLIDE 16

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
slide-17
SLIDE 17

ApplicaTon ¡Proxy ¡Firewall ¡

  • Firewall ¡sogware ¡runs ¡in ¡applicaTon ¡space ¡on ¡the ¡

firewall ¡

  • The ¡traffic ¡source ¡must ¡be ¡aware ¡of ¡the ¡proxy ¡and ¡

add ¡an ¡addiTonal ¡header ¡

  • Now ¡transparent ¡proxy ¡support ¡is ¡available ¡(TPROXY) ¡
  • Leverage ¡basic ¡network ¡stack ¡funcTonality ¡to ¡saniTze ¡

applicaTon ¡level ¡traffic ¡

– Block ¡java ¡or ¡acTve ¡X ¡ – Filter ¡out ¡“bad” ¡URLs ¡ – Ensure ¡well ¡formed ¡protocols ¡or ¡block ¡suspect ¡aspects ¡of ¡ protocol ¡

slide-18
SLIDE 18

Traffic ¡reconstrucTon ¡

X Y FTP: X to Y GET /etc/passwd GET command causes firewall to dynamically

  • pen data channel initiate

from Y to X Might have filter for files to block, like /etc/passwd

slide-19
SLIDE 19

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 ¡

Inside Outside Owns network X Egress Filtering Block outgoing traffic not sourced from network X Ingress Filtering Block incoming traffic from

  • ne of the set of invalid

networks

slide-20
SLIDE 20

Denial ¡of ¡Service ¡ ¡

  • Example ¡a9acks ¡

– Smurf ¡A9ack ¡ – TCP ¡SYN ¡A9ack ¡ – Teardrop ¡

  • DoS ¡general ¡exploits ¡resource ¡limita#ons ¡

– Denial ¡by ¡ConsumpTon ¡ – Denial ¡by ¡DisrupTon ¡ – Denial ¡by ¡ReservaTon ¡

slide-21
SLIDE 21

Teardrop ¡A^ack ¡

  • Send ¡series ¡of ¡fragments ¡that ¡don't ¡fit ¡together ¡

– Poor ¡stack ¡implementaTons ¡would ¡crash ¡ – Early ¡windows ¡stacks ¡

Offset 0, len 60 Offset 30, len 90 Offset 41, len 173

slide-22
SLIDE 22

Address ¡TranslaTon ¡

  • TradiTonal ¡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 ¡translaTon ¡ device ¡

  • Originally ¡moTvated ¡by ¡limited ¡access ¡to ¡publicly ¡routable ¡IP ¡

addresses ¡

– Folks ¡didn’t ¡want ¡to ¡pay ¡for ¡addresses ¡and/or ¡hassle ¡with ¡gemng ¡

  • fficial ¡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 ¡ ¡

slide-23
SLIDE 23

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 ¡runTme ¡

  • Port ¡remapping ¡makes ¡this ¡sharing ¡more ¡scalable ¡

– Two ¡real ¡addresses ¡can ¡be ¡rewri^en ¡to ¡the ¡same ¡alias ¡ address ¡ – Rewrite ¡the ¡source ¡port ¡to ¡differenTate ¡the ¡streams ¡

  • Traffic ¡must ¡be ¡iniTated ¡from ¡the ¡real ¡side ¡ ¡
  • Called ¡masquerading ¡in ¡iptables ¡if ¡the ¡interface ¡IP ¡is ¡

used ¡for ¡the ¡alias ¡address ¡

slide-24
SLIDE 24

NAT ¡example ¡

Enforcing Device 192.168.1.0/24 10.10.10.0/24 Internet

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 inside DMZ

  • utside

Src=192.168.1.100 Dst=microsoft.com Src=128.274.1.1 Dst=microsoft.com

slide-25
SLIDE 25

StaTc ¡Mapping ¡

  • One-­‑to-­‑one ¡fixed ¡mapping ¡

– One ¡real ¡address ¡is ¡mapped ¡to ¡one ¡alias ¡address ¡at ¡ configuraTon ¡Tme ¡ – Traffic ¡can ¡be ¡iniTated ¡from ¡either ¡side ¡

  • Used ¡to ¡staTcally ¡map ¡out ¡small ¡set ¡of ¡servers ¡

from ¡a ¡network ¡that ¡is ¡otherwise ¡hidden ¡

  • StaTc ¡port ¡remapping ¡is ¡also ¡available ¡
slide-26
SLIDE 26

NAT ¡example ¡

Enforcing Device 192.168.1.0/24 10.10.10.0/24 Internet

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 inside DMZ

  • utside

Src=X Dst=10.10.10.5 Src=X Dst=128.274.1.5

slide-27
SLIDE 27

Deployment ¡

  • Hardware ¡Firewall ¡

– Buy ¡firewall ¡from ¡vendor ¡

  • They ¡provide ¡sogware ¡and ¡hardware ¡
  • Depending ¡on ¡cost, ¡may ¡include ¡hardware ¡accelerators ¡
  • Sogware ¡Firewall ¡on ¡hardened ¡basTon ¡server ¡

– Buy ¡sogware ¡from ¡vendor ¡or ¡use ¡open ¡source ¡ – Harden ¡server ¡to ¡reduce ¡a^ack ¡surface ¡

  • Host-­‑based ¡firewall ¡ ¡

– AddiTonal ¡layer ¡of ¡defense ¡for ¡applicaTon ¡server ¡

  • Personal ¡firewall ¡

– Protect ¡desktops/laptops ¡from ¡undesired ¡probing ¡

slide-28
SLIDE 28

DMZ ¡Network ¡

Web Server

Mail forwarding

Mail server

DNS (internal)

DNS (DMZ) Internet File Server User machines User machines User machines Web Server Demilitarized Zone (DMZ) Intranet

Firewall Firewall

slide-29
SLIDE 29

VPN ¡Network ¡

slide-30
SLIDE 30

Distributed ¡Firewalls ¡

slide-31
SLIDE 31

Intrusion ¡PrevenTon ¡

  • Discussed ¡in ¡the ¡Intrusion ¡DetecTon ¡lecture ¡
  • Enables ¡more ¡dynamic ¡rules ¡and ¡access ¡rules ¡

that ¡rely ¡on ¡more ¡communicaTon ¡details ¡

– Can ¡download ¡new ¡signatures ¡or ¡adapt ¡anomaly ¡ rules ¡on ¡a ¡daily ¡basis ¡

¡

slide-32
SLIDE 32

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 ¡

  • AddiTonal ¡acTons ¡could ¡be ¡

– Virus ¡scanning ¡ – URL ¡filtering ¡ – IDS/IPS/anomaly ¡detecTon ¡ – Spam ¡filtering ¡

slide-33
SLIDE 33

Limits ¡to ¡firewalls ¡

  • Cannot ¡analyze ¡encrypted ¡traffic ¡

– Beyond ¡header ¡informaTon ¡

  • 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 ¡a^acks ¡on ¡protocols ¡that ¡must ¡be ¡

allowed ¡

– IPS ¡can ¡help ¡

  • Tracking ¡IP ¡addresses ¡instead ¡of ¡people ¡
  • Costs ¡too ¡much ¡to ¡manage ¡firewalls ¡
slide-34
SLIDE 34

Summary ¡

  • Different ¡types ¡of ¡firewalls ¡for ¡different ¡needs ¡

– Packet ¡filtering/stateful/applicaTon ¡ – Network/Host/personal ¡

  • Firewalls ¡have ¡been ¡a ¡stalwart ¡element ¡of ¡

network ¡security ¡for ¡decades ¡

– Not ¡the ¡end ¡all ¡soluTon ¡ – But ¡sTll ¡beneficial ¡