Door Kwitny Speers: De aangehaalde syslog is er zo e e n.
Scary. Een praktijkprobleem met syslog- (of andere UDP-only) servers die, naast antwoorden op ARP-requests, zelden netwerkpakketjes verzenden op een LAN, is dat netwerkverkeer
naar die servers op een LAN "gebroadcast" kan worden, en daarmee door elk device (passief, mits promiscuous mode mogelijk is) gesniffed kan worden.
De oorzaak hiervan ligt in de manier waarop switches werken. Zij "leren" door in netwerkpakketjes naar het
afzender ethernetadres te kijken en dit, samen met het fysieke ethernetpoortnummer van de switch waarop dat pakketje binnenkwam, op te slaan in een tabel (CAM-tabel genoemd voor Content Addressable Memory, waarmee bloedsnel, op basis van een MAC-adres, een fysiek poortnummer opgezocht kan worden). Dat "leerproces" vindt dus plaats voor inkomend verkeer in de switch. Om te bepalen op welke fysieke ethernetpoort een ontvangen netwerkpakketje vervolgens moet worden
uitgezonden, kijkt de switch in de CAM-tabel; als het
doeladres daarin voorkomt, wordt het pakketje uitsluitend op de bijbehorende poort uitgestuurd; zo niet dan wordt het
op alle fysieke ethetnetpoorten uitgezonden (gebroadcast of "gehubt" zo je wilt).
Problemen hierbij:
1) Switches "vergeten" een entry in de CAM-tabel meestal na 5 minuten na het laatste
geregistreerde pakketje vanaf een bepaald MAC-adres;
2) Zodra de switch "denkt" dat er een "topology change" in het netwerk heeft plaatsgevonden, wordt de CAM-tabel meestal meteen geflushed (ongeacht de vijf-minuten-naar-nul tellers die je bij elke CAM-entry vindt). Dit soort spanning-tree events kunnen veel vaker dan verwacht voorkomen in switched LAN's (iets dat ik -helaas uit ervaring- weet);
3) Het "leerproces" kost tijd en heeft vaak een lagere prioriteit t.o.v. andere "huishoudelijke" processen in een switch. Met name na een (schijnbare) topology-change hebben switches het druk en kunnen afzender-ethernetadressen + bijbehorend fysiek poortnummer + tijdstip van binnenkomst, in een queue worden gezet voor latere verwerking, of zelfs worden gedropt (uit het leerproces bedoel ik, het pakketje wordt wel verzonden, mogelijk op alle poorten);
4) Sowieso wordt het eerste pakketje na het verleren (van de bijbehordende CAM-entry of de hele tabel) vaak naar alle switchpoorten "gelekt", omdat het destination-adres
vooraan het pakketje staat en de poortkeuze al heeft plaatsgevonden
voordat het afzendetadres (geheel) ontvangen is door de switch.
Gevolg: als zendende clients de IP-MAC adresrelatie langer onthouden dan de switch dat doet in de CAM-tabel, zal al het netwerkverkeer
van die client(s)
naar de server over je hele LAN worden gebroadcast, en kan elke passieve sniffer dit registreren.
Om IP-over-ethernetpakketjes te kunnen ontvangen, zal de
ingang (in doorlaatrichting) van een ethernet-gebaseerde data-diode in elk geval ARP-requests moeten beantwoorden en dus ook een (op dat LAN) uniek MAC-adres moeten hebben. Helemaal "read-only" is zo'n ding dus niet. Maar garanties dat alle (!) switches in je LAN die dat ene pakketje ontvangen, daar ook van
leren (en dat vervolgens lang genoeg onthouden) heb je niet.
En helemaal stil wordt ie als je er in alle clients static ARP-entries voor aanmaakt (wellicht in een poging om ARP-spoofing onmogelijk te maken), want dan verzendt de ontvangstzijde van je data-diode helemaal geen netwerkpakketjes meer, en gedragen switches zich als hubs voor ethernetpakketjes bestemd voor het MAC-adres van je data-diode.
Kortom, je moet vaak met veel meer zaken rekening houden dan je denkt (en dan fabrikanten in hun brochures vermelden).
Door Kwitny Speers: Ik kan me voorstellen dat je met een combinatie van 2 datadiodes met beperkt verkeer wel een gegarandeerde veilige setup kunt maken.
Zoals ik al eerder schreef vind ik dat absurd. Je wilt iets veiliger maken door verkeer maar één kant op toe te staan, en vervolgens maak je een doorgang de andere kant op? Dat bestaat, maar heet een firewall.
Door Kwitny Speers: Maar security moet niet alleen technisch opgelost worden het een 2e natuur van de betrokken mensen zijn. De meeste security breaches komen voort uit menselijk handelen tegen procedures in.
Dat is een
ander probleem waar je in veel gevallen wat aan zult moeten doen, maar de suggestie (die ik hieruit afleid) dat je dan niks meer aan het onderhavige probleem zou hoeven doen, ontgaat me.
Door Kwitny Speers: Mijn eerste goede voornemen voor 2020 is hem links laten liggen en niet meer op reageren.
Ik lees al geruime tijd zijn/haar bijdragen niet meer. Over sommige zaken zijn k*4 en ik het eens (kopie paspoort is net zoveel waard als een kopie van een briefje van 50 Euro en het kennen van een BSN is geen enkel bewijs dat jij de "bezitter" daarvan bent, waardoor het "geheimhouden" ervan (wat onmogelijk is want half Nederland kan erbij) identiteitsfraude juist in de hand werkt). Discussiëren met deze persoon (?) is zinloos omdat hij/zij/het valide argumenten negeert of ridiculiseert en als het een beetje moeilijk wordt, OSS, IBM, Google, Apple etc. (maar nooit Microsoft) overal de schuld van geeft. Ik leer er niks van en zou me alleen maar ergeren. Toch een puntje van respect: doordat linksboven altijd k*4 staat, kan ik die bijdragen makkelijk overslaan.