Configuratietips
Tips voor Cisco ASA 5505, Fortinet FortiWiFi 60C en Juniper SRX220
Anti-spoofing
Anti-spoofing voorkomt dat aanvallers valse afzenderadressen uit het eigen interne netwerk kunnen gebruiken. Deze functie heet ook vaak reverse path forwarding (RPF). Dit moet altijd geactiveerd zijn, tenzij het interne netwerk via asymmetrisch routen verbonden is (verschillende routes voor down- en upstream).
Bij Fortinet is anti-spoofing standaard geactiveerd en wordt automatisch uitgeschakeld als asymmetrisch routen ingesteld is. Als je het handmatig wilt aanpassen gebruik je
set asymroute6 {enable|disable}
Cisco's ASA 5505 luistert naar
ip verify reverse-path interface [interface]
en bij Junipers SRX 220 gebruik je
set [interface] unit 0 family inet6 rpf-check
Extension headers
Extension headers zijn in IPv6 bedoeld voor optionele parameters die bijvoorbeeld relevant zijn voor routers onderweg of voor de ontvanger. Momenteel belangrijk zijn: pakketfragmentatie, mobiliteitsuitbreidingen en jumbo-pakketen. De laatste twee worden via een firewall meestal niet gebruikt. Heb je die inderdaad niet nodig, dan kan de firewall alle extension headers behalve fragmentatie filteren. Bij Cisco's ASA kun je er met een ietwat omslachtige configuratie voor zorgen dat alle extension headers gefilterd worden en dat alleen fragmentatie of een IPsec extension header toegestaan is.
policy-map type inspect ipv6 IPv6EHMap
parameters
match header routing-type range 0 255
drop
match header destination-option
drop
match header hop-by-hop
drop
match header count gt 1
drop
policy-map global_policy
class IPv6EHClass
inspect ipv6 IPv6EHMap
De FortiWiFi 60C filterde de Hop-by-Hop-headers niet door een technisch probleem. Hij interpreteerde het bijbehorende protocolnummer 0 als 'alle IP-protocollen'. Via een omweg kun je tenminste Routing en Destination extension headers blokkeren:
config firewall service custom
edit "DestOptHdr"
set protocol IP
set protocol-number 60
next
edit "RoutingHdr"
set protocol IP
set protocol-number 43
next
end
config firewall service group
edit "ExtHdrDrop"
set member "DestOptHdr" "RoutingHdr"
next
end
config firewall policy6
edit 1
set srcintf "wan1"
set dstintf "internal"
set srcaddr "all"
set dstaddr "all"
set schedule "always"
set service "ExtHdrDrop"
set logtraffic all
next
end
De SRX 220 kan de Hop-by-Hop-extension-headers om dezelfde redenen niet blokkeren. Daarom kun je ook hier alleen de Destination en Routing-extension-headers filteren:
set applications application DstHdr protocol 60
set applications application RouteHdr protocol 48
set security policies from-zone Extern to-zone Intern policy EHDrop match source-address any
set security policies from-zone Extern to-zone Intern policy EHDrop match destination-address any
set security policies from-zone Extern to-zone Intern policy EHDrop match application RoutingHdr
set security policies from-zone Extern to-zone Intern policy EHDrop match application DstHdr
set security policies from-zone Extern to-zone Intern policy EHDrop then deny
Packet Reassembly
Om ervoor te zorgen dat een firewall de doorgaande data precies zo interpreteert als de ontvanger in het LAN, moet hij fragmenten weer samenvoegen tot het complete pakket voor hij ze opnieuw fragmenteert en doorstuurt. Dat levert wel een mogelijk aangrijpingspunt voor aanvallen op, omdat de (re)assembly geheugenruimte en cpu-kracht nodig heeft. Maar bij de juiste implementatie wegen de voordelen zwaarder dan de nadelen.
Fortinets FortiWiFi 60C doet dat automatisch, maar bij Cisco en Juniper moet je het handmatig activeren. Bij de ASA 5505 doe je dat zo:
fragment reassembly full
Junipers SRX 220 heeft de volgende oneliner nodig:
set security flow force-ip-reassembly