Firewalls & IDS
Pakketfilters, stateful filtering, iptables, vyos, Cisco ACL, Snort en Suricata
1Wat is een firewall?
Een firewall is een systeem (of combinatie van systemen) dat regels oplegt tussen 2 of meer netwerken. Hij beslist op basis van herkomst, doel en soort verkeer (niet de inhoud) wat doorgelaten wordt. Ideaal: ongewenst verkeer komt niet binnen en er lekt geen geheime info naar buiten.
- Werkt volgens identify-and-trust: herkomst identificeren, dan beslissen. Zwak punt: de identificatie kan vervalst zijn (spoofing).
- Kan ook naar binnen gericht worden: beperken en loggen wat eigen gebruikers mogen.
- Kan niet: een insider die data naar buiten stuurt tegenhouden, virus in een bestand herkennen, een slecht veiligheidsbeleid vervangen. Eerst beleid (policy), dan firewall.
2Minimale firewall: pakketfilter met TCP, UDP en ICMP
Minimale firewall = router-ACL's + application wrappers + self-policing van de server. Doel van het voorbeeld (netwerk 200.2.2.0/24, server 200.2.2.3): (1) intern mag naar Internet, (2) intern mag naar de server, (3) Internet mag enkel de server bereiken, niet de rest.
TCP
Client gebruikt een hoge poort (>1024) naar een lage well-known poort (<1024) op de server. (bronIP, bronpoort, doelIP, doelpoort) = unieke verbinding. De 3-way handshake begint met een SYN.
- Inkomende dienst toelaten = enkel SYN naar die poort toelaten.
- Terugkomend verkeer toelaten = TCP zonder SYN naar hoge poorten (
! --syn, in Ciscoestablished). Zonder die SYN-controle zou iedereen zomaar naar elke hoge poort kunnen verbinden. - Een stateless router kan dat enkel benaderen via de flags, hij kent de verbinding zelf niet.
- Controleverbinding: client (hoge poort) → server poort 21.
- Dataverbinding: server (poort 20) → client (hoge poort). De server maakt de verbinding.
- Firewall bij de client moet een inkomende verbinding vanaf poort 20 toelaten = gat in de firewall.
- Iedereen kan een verbinding vanaf poort 20 proberen zonder FTP-sessie. Oplossing: iptables RELATED (enkel toelaten als er al een controleverbinding op 21 bestaat).
- Client opent controleverbinding naar poort 21 en stuurt PASV.
- Server antwoordt met een willekeurige (hoge) poort; de client verbindt daar zelf naartoe.
- Alle verbindingen zijn uitgaand vanaf de client: veiliger, geen inkomende verbinding toelaten.
- Afdwingen: PASV instellen in de FTP-client.
- Nadeel: server moet een bereik hoge poorten open hebben (conntrack-ftp helper lost dit op).
UDP
Onbetrouwbaar, geen handshake, geen begin/einde, geen ACK. Vraag en antwoord gebruiken vaak dezelfde poort. Een stateless router kan niet weten of een UDP-pakket een antwoord is of ongewenst. Daarom: bijna alles UDP weigeren, enkel poort 53 (DNS) open naar de nameserver. UDP 53 = lookups, TCP 53 = zone transfers (secundaire naar primaire nameserver).
ICMP
Statusberichten tussen hosts en gateways, nodig voor IP. Ping = echo request (type 8) + echo reply (type 0). ICMP laat men meestal toe, behalve redirect (type 5).
3Verbeterde architectuur: red/blue LAN, DMZ, proxy, DNS
Red LAN en Blue LAN
Probleem van de minimale firewall: wie de server inneemt, zit in het interne netwerk. Oplossing: twee routers/firewalls.
- Voordeel: dubbele bescherming (de aanvaller moet 2 firewalls door) en snelheidsscheiding. Server gekraakt in het Red LAN geeft nog geen toegang tot het Blue LAN.
- Nadeel: extra router nodig. Alternatief: three-interface firewall router (bevat intern 2 routers).
- Moderne naam: Red LAN = DMZ (demilitarized zone), Blue LAN = intern LAN.

Proxy
Proxy = handelen namens de client. Eigenschappen van een proxy-firewall: alle transacties lijken van één host te komen, interne details zijn niet zichtbaar, er is geen andere weg naar de interne computers.
- Proxy in de firewall geïntegreerd, of in het LAN (dan moet de firewall verkeer naar de proxy toelaten).
- Netwerkniveau: kijkt naar bron/doeladres, protocol, poorten. Snel, blacklisting mogelijk, begrijpt de inhoud niet (SOCKS).
- Toepassingsniveau: LAN is niet rechtstreeks met Internet verbonden; client praat met een bastion host, die de aanvraag opnieuw inpakt en het resultaat teruggeeft. Ook meer verstaanbare logs.
- Intern gebruik je privé-adressen: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Die zijn niet routeerbaar op Internet.
Interne vs externe DNS
DNS gebruikt UDP 53 en dat is moeilijk te filteren (UDP is stateless).
- Clients sturen alle queries naar de interne nameserver (enkel UDP 53 nodig tussen client en die server).
- Enkel de interne nameserver mag via de firewall naar een externe nameserver (forwarder). Firewall: één gat voor één host.
- Interne namen/IP's komen niet op Internet. Extern wordt enkel de publieke info getoond (in de DMZ, bv. webserver, mailserver).
- Antwoord komt binnen op poort 53 naar de nameserver.
- Elke client stuurt queries rechtstreeks naar een externe nameserver (bv. van de provider).
- Antwoorden komen terug op UDP-poorten >1023 naar alle clients: firewall moet een groot gat open laten ("met een airbus binnenvliegen") tenzij stateful.
- Interne hosts zijn zichtbaar en kwetsbaarder voor spoofed antwoorden.
- Oplossing: stateful firewall (UDP-antwoord ESTABLISHED) of overstappen op interne DNS.
4Stateful filtering en stateful inspection
Een stateless pakketfilter (ACL) is "dom": hij onthoudt niets. Een stateful firewall houdt per verbinding een rij bij in een statustabel zodat hij weet welke pakketten bij een eerder toegelaten verbinding horen.
- Filtert op verbindingsinformatie van OSI-laag 1 tot 4.
- IP-adressen, poortnummers, en bij TCP ook sequence-nummers, ACK-nummers en flags.
- Kijkt niet naar applicatieprotocollen.
- Bv. iptables connection tracking, Cisco
established/reflexive ACL.
- Alles van stateful filtering plus de commando's op applicatieniveau.
- Zo kan een verbinding van een gebruiker vrij nauwkeurig vastgelegd worden.
- Maakt lastige protocollen mogelijk: FTP (data-kanaal op andere poort), H.323/VoIP.
- Nemesis-test: een firewall die dynamisch poorten opent en sluit = stateful inspection.
- Beide gebruiken een statustabel. Rij verdwijnt bij TCP FIN/RST of na time-out (ook UDP/ICMP).
- Tabelrij bevat: protocol, bron/doel IP+poort, omgekeerde tuple voor het antwoord, levensduur (timeout), TCP-status, conntrack-status ([UNREPLIED] → [ASSURED]).
TCP 6 93 SYN_SENT src=192.168.1.34 dst=172.16.2.23 sport=1054 dport=21 [UNREPLIED]
src=172.16.2.23 dst=192.168.1.34 sport=21 dport=1054 use=1
-> nog geen antwoord gezien, korte levensduur (93 s), omgekeerd tuple staat klaar
TCP 6 41294 ESTABLISHED src=192.168.1.34 dst=172.16.2.23 sport=1054 dport=21
src=172.16.2.23 dst=192.168.1.34 sport=21 dport=1054 [ASSURED] use=1
-> antwoord ontvangen: UNREPLIED weg, ASSURED, zeer lange timeoutClient stuurt SYN (client: SYN_SENT). Server (LISTEN) antwoordt SYN-ACK (SYN_RCVD). Client stuurt ACK; vanaf nu hebben alle pakketten de ACK-flag = ESTABLISHED.
5iptables (Linux)
iptables is het gratis pakketfilter in de Linux-kernel (netfilter). Opbouw: tabellen → chains → regels. Een pakket loopt langs de regels van boven naar onder, de eerste match bepaalt de actie (ACCEPT/DROP/REJECT). Matcht niets, dan geldt de policy van de chain.
- Pakket stilzwijgend weggooien, geen antwoord
- Aanvaller ziet een time-out; moeilijker te scannen
- Standaardkeuze naar buiten toe
- Pakket weigeren met een antwoord (ICMP unreachable of TCP RST)
- Afzender weet meteen dat het geweigerd werd (vriendelijker, sneller foutmelding)
- Handig voor intern verkeer
# Alles weigeren tenzij expliciet toegelaten (policy)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Loopback en bestaande verbindingen toelaten (eerst, want vaakst gebruikt)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH enkel vanuit het interne netwerk
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT
# Ping naar de firewall toelaten, max 1 per seconde
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Alles wat overschiet loggen en weigeren
iptables -A INPUT -j LOG --log-prefix "DROP: "
iptables -A INPUT -j REJECTiptables -A INPUT -p tcp --dport 80 -j ACCEPT
# -> laat al het inkomende web-verkeer (TCP 80) naar de firewall zelf toe
iptables -A INPUT -s 10.0.0.5 -j DROP
# -> gooit alle pakketten van host 10.0.0.5 naar de firewall weg
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 443 -j ACCEPT
# -> door de firewall: LAN (eth1) mag naar Internet (eth0) op HTTPS
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# -> terugkomend verkeer van Internet naar LAN, enkel als het bij een bestaande verbinding hoort
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
# -> anti-spoofing: privé-bronadres dat op de WAN-interface binnenkomt kan niet kloppen
iptables -A INPUT -m state --state INVALID -j DROP
# -> pakketten zonder geldige verbinding (bv. gespoofde RST/FIN) weg
iptables -A INPUT -p icmp --icmp-type redirect -j DROP
# -> ICMP redirect weigeren
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
# -> beperkt nieuwe TCP-verbindingen tot 1 per seconde (anti SYN-flood)
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
# -> uitgaande FTP-controleverbinding (poort 21) starten en voortzetten# TCP: uitgaand NEW+ESTABLISHED, inkomend (antwoord) enkel ESTABLISHED
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
# UDP (pseudo-stateful)
iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
# ICMP: RELATED erbij (foutberichten). Geen NEW inkomend -> niemand kan ons pingen,
# wij kunnen wel pingen (reply = ESTABLISHED)
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Actieve FTP-client: module laden + RELATED voor poort 20
modprobe ip_conntrack_ftp
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT# Let op: -l (loggen) is cursusnotatie (ipchains); in echte iptables log je met een aparte regel -j LOG
iptables -N GOOD-BAD ; iptables -A OUTPUT -j GOOD-BAD # intern -> buiten
iptables -N BAD-GOOD ; iptables -A INPUT -j BAD-GOOD # buiten -> intern
# Anti IP spoofing (eigen netwerk / loopback van buiten) en loggen
iptables -A BAD-GOOD -s 200.2.2.0/24 -l -j DROP
iptables -A BAD-GOOD -s 127.0.0.0/8 -l -j DROP
# Webserver voor iedereen, telnet enkel vanuit 198.8.8.0/24
iptables -A BAD-GOOD -p tcp -d 200.2.2.3/32 --dport 80 -j ACCEPT
iptables -A BAD-GOOD -p tcp -s 198.8.8.0/24 -d 200.2.2.3/32 --dport 23 -j ACCEPT
# Terugkomend TCP-verkeer: alles behalve SYN naar hoge poorten
iptables -A BAD-GOOD -p tcp ! --syn -d 200.2.2.0/24 --dport 1025:65535 -j ACCEPT
# DNS: UDP 53 naar de nameserver, TCP 53 (zone transfer) enkel van 199.100.105.2
iptables -A BAD-GOOD -p udp --sport 53 -d 200.2.2.3/32 --dport 53 -j ACCEPT
iptables -A BAD-GOOD -p tcp --syn -s 199.100.105.2/32 -d 200.2.2.3/32 --dport 53 -j ACCEPT
# ICMP: redirect loggen+droppen, rest toelaten
iptables -A BAD-GOOD -p icmp --icmp-type redirect -l -j DROP
iptables -A BAD-GOOD -p icmp -j ACCEPT
# Rest weigeren en loggen
iptables -A BAD-GOOD -l -j REJECT
iptables -A GOOD-BAD -l -j REJECT
# Source routing droppen
iptables -A INPUT -m ipv4options --ssrr -j DROP
iptables -A INPUT -m ipv4options --lsrr -j DROP# MASQUERADE: bron = dynamisch publiek IP van eth0 (bv. DHCP/ADSL). Intern LAN deelt 1 adres
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# SNAT: hetzelfde met een vast publiek IP
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 200.2.2.2
# DNAT / port forwarding: gateway poort 8888 -> interne webserver poort 80
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8888 -j DNAT --to 192.168.1.1:80
iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.1 --dport 80 -j ACCEPT # en de filter-regel voor het doorsturen!
# Routeren inschakelen
echo 1 > /proc/sys/net/ipv4/ip_forward# SYN flood: max 1 SYN per seconde doorlaten
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Port scanners
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# SSH brute force: max 8 nieuwe verbindingen per minuut per bron
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --name SSH -j DROP6vyos
VyOS = open source routersoftware (afstammeling van Vyatta, Debian-gebaseerd), CLI naar het model van JunOS (Juniper). Ondersteunt RIPv2, OSPF, BGP, NAT, DHCP(-relay), VRRP, stateful firewall, tcpdump.
commit= wijzigingen actief maken,save= bewaren (config.boot),discard/exit discard= weggooien. Zonder commit gebeurt niets.comparetoont verschillen,rollback 1keert terug naar een vorige config.run show interfaces= operational-commando vanuit config mode.- Handig:
show firewall,show nat,show ip route,show configuration.
# Uitgaand: enkel HTTP (TCP 80) mag eth1 verlaten
set firewall name INSIDE-OUT default-action drop
set firewall name INSIDE-OUT rule 10 action accept
set firewall name INSIDE-OUT rule 10 protocol tcp
set firewall name INSIDE-OUT rule 10 destination port 80
set interfaces ethernet eth1 firewall out name INSIDE-OUT
# Inkomend: terugkerend verkeer mag
set firewall name OUTSIDE-IN default-action drop
set firewall name OUTSIDE-IN rule 100 action accept
set firewall name OUTSIDE-IN rule 100 state established enable
set interfaces ethernet eth1 firewall in name OUTSIDE-IN
commit
saveset protocols static route 0.0.0.0/0 next-hop 192.168.56.1 distance '1'
set interfaces ethernet eth1 address 192.168.56.192/24
set service ssh
# Source NAT/masquerade (LAN via eth0 naar buiten)
set nat source rule 100 outbound-interface eth0
set nat source rule 100 source address 192.168.1.0/24
set nat source rule 100 translation address masquerade
# related ook toelaten (bv. FTP data, ICMP errors)
set firewall name OUTSIDE-IN rule 100 state related enable7Cisco access-lists
Een ACL is een lijst permit/deny-regels, sequentieel doorlopen. Bij de eerste match stopt de evaluatie. Aan het einde staat een onzichtbare implicit deny any (alles wat niet expliciet toegelaten is, wordt geweigerd). Bekijken: show ip access-lists.
Router(config)# ip access-list extended INKOMEND
Router(config-ext-nacl)# permit tcp any any eq 80
Router(config-ext-nacl)# deny ip any any
Router(config-ext-nacl)# exit
Router(config)# interface FastEthernet 0/0
Router(config-if)# ip access-group INKOMEND in
! -> iedereen mag naar webservers (poort 80), al het andere wordt geweigerd; toegepast op inkomend verkeer van Fa0/0
! Numerieke variant
Router(config)# access-list 101 permit tcp any any eq 80
Router(config)# interface fa0/0
Router(config-if)# ip access-group 101 inAlgemene vorm: permit|deny PROTOCOL BRONadres wildcard [BRONpoort] DOELadres wildcard [DOELpoort]. Eerst van waar, dan naar waar. Protocol: ip (alles, enkel op adres), tcp, udp, icmp. Per interface 1 ACL per richting (in/out) per protocol.
ICMP-opties: echo (request), echo-reply, host-unreachable, port-unreachable, ttl-exceeded, of type-nummer (5 = redirect).
ip access-list extended BAD-GOOD
deny ip 200.2.2.0 0.0.0.255 any ! IP spoofing: eigen netwerk van buiten
deny ip 127.0.0.0 0.255.255.255 any
permit tcp any host 200.2.2.3 eq 80 ! web voor iedereen
permit tcp 198.8.8.0 0.0.0.255 host 200.2.2.3 eq 23
permit tcp any host 200.2.2.3 eq 25
permit tcp any host 200.2.2.3 eq 21
permit tcp any 200.2.2.0 0.0.0.255 gt 1023 established ! antwoorden op onze verbindingen
permit udp any host 200.2.2.3 eq 53
permit tcp host 199.100.105.2 host 200.2.2.3 eq 53 syn ! zone transfer
deny icmp any any 5 ! redirect
permit icmp any any
deny ip any any
ip access-list extended GOOD-BAD
permit tcp host 200.2.2.3 eq 20 any gt 1023 ! actieve FTP data
permit tcp 200.2.2.0 0.0.0.255 any
permit udp 200.2.2.0 0.0.0.255 eq 53 any eq 53
permit icmp any any
deny ip any any
no ip source-route ! source routing uit
interface FastEthernet 0/0
ip access-group GOOD-BAD out
ip access-group BAD-GOOD ininterface FastEthernet 0/0
ip access-group INKOMEND in
ip access-group UITGAAND out
!
ip access-list extended UITGAAND
permit tcp any any reflect TCPVERKEER ! uitgaand TCP: tijdelijke omgekeerde regel aanmaken
!
ip access-list extended INKOMEND
permit icmp any any
deny udp any any
evaluate TCPVERKEER ! enkel antwoorden op eigen uitgaande sessies binnenlaten- Eerste match wint, implicit deny op het einde
- Toepassen:
ip access-group NAAM in|outop interface - Wildcard-masker (0 = controleren)
established= vlag-gebaseerd, niet echt stateful; reflexive = stateful
- Eerste match wint, daarna policy van de chain
- Chains INPUT/OUTPUT/FORWARD, geen interface-binding
- Subnet /prefix
-m state= echt stateful
8IDS en IPS: Snort en Suricata
- Detecteert en meldt (alert, log)
- Kijkt mee naar kopie van verkeer (sniffer/span-poort), passief
- Grijpt niet in: geen vertraging, maar ook geen blokkade
- Detecteert én blokkeert (drop/reject)
- Zit inline in het verkeerspad
- Risico: false positives blokkeren legitiem verkeer, extra latency
Een firewall filtert op adres/poort/status; een IDS/IPS kijkt naar patronen en inhoud (signatures) en afwijkend gedrag. Ze vullen elkaar aan.
Snort
NIDS (Network IDS), gebaseerd op een pakketsniffer (libpcap) op een interface. Klein, portable, snel genoeg voor een gemiddeld netwerk, gratis (GPL), volledig regelgestuurd.
- Detectie-engine: regels = patronen/handtekeningen, modulair combineerbaar. Detecteert abnormale activiteit zoals stealth scans, OS fingerprinting, ongeldige ICMP-codes.
- Output: gedecodeerde logs, tcpdump-formaat (binair), ASCII in mappen per IP, realtime alerts (syslog, bestand, winpopup), MySQL-databank.
- Gebruik: NIDS / pakketsniffer, honeypot-monitor, scandetectie/traps.
- Regelupdates met oinkmaster; extra acties (e-mail, active response) met Swatch. Logs opnieuw afspelen:
snort -r logfile -c /etc/snort/snort.conf. - Heeft geen ingebouwde poortscan-detectie: "poor man's" detectie met een trap-regel op ongebruikte poorten.
Regelopbouw = header + opties tussen haakjes.
actie protocol BRON-IP bronpoort -> DOEL-IP doelpoort (opties)
IP: CIDR of ! (negatie). Poorten: any, !, bereik 100:600, :1023, 1024:. Richting: -> (of <> bidirectioneel). Snort-acties: alert, log, pass (en drop/reject in inline-modus).
# SYN-FIN scan van buiten naar het interne netwerk
alert tcp !10.1.1.0/24 any -> 10.1.1.0/24 any (flags: SF; msg: "SYN-FIN Scan";)
# alert = melding genereren
# !10.1.1.0/24 any = bron: alles BEHALVE het interne netwerk, elke poort
# -> 10.1.1.0/24 any = doel: intern netwerk, elke poort
# flags: SF = SYN en FIN tegelijk gezet (ongeldig, typisch voor stealth scan)
# Poor man's port scan trap: SYN op ongebruikte poorten 100 t/m 600
alert tcp any any -> 10.1.1.0/24 100:600 (flags: S; msg: "TRAP!";)Opties (voorbeelden): IP TTL, IP ID, fragmentgrootte, TCP flags, ACK/seq-nummer, payload size, content (+ offset, depth), sessie-recording, ICMP type/code, alternatieve logfile, msg. Header en opties vrij te combineren.
Suricata
Open-source IDS én IPS (en netwerk-monitoring). Regelsyntaxis lijkt sterk op Snort.
actie protocol bron poort richting doel poort (meta-opties)
Acties: alert, log, pass, drop, reject.
alert tcp $DMZ1_NET any -> any 80 (msg:"Tentative connexion DMZ1 http"; flow:established,to_server; content:!"|20|yum|2F|"; classtype:web-application-activity; sid:9201503; rev:2;)
# alert tcp $DMZ1_NET any -> any 80 : header (variabele voor DMZ1-netwerk, naar elke webserver)
# msg : tekst in de alert
# flow:established,to_server : enkel pakketten van een bestaande verbinding in de richting van de server
# content:!"|20|yum|2F|" : NIET de bytes " yum/" bevatten (! = negatie, |20| hex voor spatie)
# classtype : categorie. sid = uniek regelnummer, rev = revisieContext: de "Chinese firewall" (Great Firewall) blokkeert woorden/afbeeldingen en veel westerse diensten (Google, YouTube, WhatsApp/Discord). In de plaats gebruikt men Baidu, QQ/WeChat, Youku. Dit is filtering op inhoud/DNS/IP op nationaal niveau.
9Serverbescherming en testtools
nemesis tcp -S 192.168.1.1 -D 10.10.10.1 -fF -x 1266 -y 139 # spoofed FIN op bestaande sessie
nemesis tcp -S 192.168.1.1 -D 10.10.10.1 -fR -x 1266 -y 139 # spoofed RST
nemesis tcp -S 192.168.1.1 -D 10.10.10.1 -fA -x 1266 -y 139 # losse ACK (backdoors misbruiken dit)
# Stateful firewall: blokkeert ze (sequence klopt niet). Zo niet -> DoS door constant RST te sturen.Andere begrippen: IP splicing/hijacking = actieve sessie overnemen na authenticatie (tegen: encryptie); tunneling = verkeer inpakken in ander verkeer om de firewall te omzeilen; trojan, worm (zelfkopiërend, Morris 1988), social engineering.
Nog niet klaar? Je kan altijd terugkomen.