Waarom het blokkeren van VPN-poorten ongeautoriseerde tunnels niet stopt
Poortlijsten missen tunnels op 443 of op protocolnummers. Beheer in plaats daarvan de bevoegdheid van het apparaat, goedgekeurde bestemmingen en waargenomen stromen in plaats van favorieten.
Een firewallregel weigert het verkeer dat hij matcht. Hij weigert niet elk gebruik van een verbinding die hij toestaat, en juist in die kloof falen de meeste beleidsregels tegen ongeautoriseerde tunnels. Het blokkeren van de poorten van welke client vijf jaar geleden ook populair was, laat alles wat over 443 rijdt ongemoeid, en het zegt niets over een apparaat dat zijn eigen routes kan herschrijven. Bouw de controle rond bevoegdheid en bestemmingen, en lees vervolgens de stromen die je feitelijk toestaat.
Waarom een poortlijst geen beleid is
Poorten zijn een concept van de transportlaag, en verschillende tunneltechnologieën gebruiken er helemaal geen. Andere delen bewust een poort met gewoon webverkeer, omdat die poort degene is die gegarandeerd doorkomt. Een regel die op een historische poort is gebaseerd, somt daarom een handvol implementaties op in plaats van de gedragsklasse. Hij veroudert ook slecht: zodra een aanbieder standaardwaarden wijzigt, beschrijft de lijst het verleden.
Erger nog, een geslaagde blokkade op één poort kan worden gelezen als bewijs dat het hele probleem is opgelost, wat vervolgens de controles vertraagt die wel zouden hebben geteld.
Protocolnummers en poorten zijn verschillende naamruimten
GRE krijgt IP-protocolnummer 47 toegewezen. Het is geen TCP-poort 47 en geen UDP-poort 47, en een filter dat voor een poort is geschreven raakt het niet. ESP en AH zitten op protocolnummers 50 en 51 met dezelfde eigenschap. Ingesloten verkeer kan zich ook in een toegestane verbinding verstoppen, en daarom kan een categorie of signatuur helpen, maar nooit op zichzelf het doel certifiëren. Betrouwbaarheid en dekking horen bij een specifiek product en een specifieke release, niet bij het concept.
nft list ruleset | grep -nE 'gre|esp|ah|47|50|51'
cat /proc/net/protocols | head -20
ss -tn state established '( dport = :443 )'
De eerste opdracht laat zien wat je werkelijk hebt geschreven; de tweede toont de protocoltabel die de stack kent; de derde toont hoeveel sessies nu de webpoort gebruiken. Geen ervan vertelt waarvoor die sessies dienen. TLS-onderschepping is een aparte beslissing met eigen kosten voor vertrouwen, privacy en clientcompatibiliteit. Het is geen voorwaarde om een genoemde bestemming te weigeren, en het is ook geen garantie dat tunnels worden herkend.
Beheer de bevoegdheid die het apparaat heeft
Een apparaat dat zijn eigen routingtabel en filtering kan wijzigen, heeft mogelijkheden die een gewone toepassing niet heeft. Toelatings- en configuratiebeheer zijn wat die mogelijkheid wegneemt, en ze werken ongeacht welke poort de tunnel zou gebruiken.
Dat betekent dat goedgekeurde aansluitingen hun verklaarde rol krijgen in plaats van onbeperkte toestemming om voor andere apparaten door te sturen, en het betekent dat installatie- en netwerkbeheerrechten deel van het beleid zijn in plaats van een bijzaak.
Observeer de stromen die overblijven. Correleer apparaatidentiteit, toegewezen rol en stroommetadata, en behandel classificatie als bewijs met grenzen in plaats van als vonnis.
conntrack -L | awk '{print $1, $4, $5}' | sort | uniq -c | sort -rn | head
ip -br addr show
ip route show default
Een langdurige versleutelde sessie of een groot aantal bytes is geen bewijs van misbruik: back-ups, ondersteuningstools en sitelinks zien er hetzelfde uit. Houd de verzameling beperkt tot het onderzoek en bewaar wat je vindt onder het proces dat er eigenaar van is.
Maak de uitzonderingen expliciet
Elke omgeving heeft bestemmingen die bereikbaar moeten blijven voor updates, authenticatie en herstel. Schrijf ze op met een doel en een eigenaar, en beoordeel ze in plaats van ze één storing per keer te ontdekken.
Wanneer het bedrijf echt een brede externe dienst toestaat, beoordeel de bevoegdheid die die dienst levert in plaats van aan te nemen dat het bestemmingslabel elk gebruik aanvaardbaar maakt.
Een niet-beoordeelde uitzondering is een gat met een ticketnummer. Een uitzondering met een naam, een reden en een beoordelingsdatum is een beslissing.
Accepteer met een schriftelijk plan, niet met een slogan
Acceptatie heeft twee helften: het goedgekeurde werk slaagt nog steeds, en de specifieke verboden gevallen falen onder een geautoriseerde test. Beide moeten vóór de wijziging worden opgeschreven en erna worden herhaald.
Neem endpoint- en beleidswijzigingen mee in die beoordeling, want een route die op een laptop wordt toegevoegd kan een filter ongedaan maken dat aan de rand perfect werkte.
Het resultaat is een eigen uitgangsgrens met een bekende lijst van resterend risico. Beweren dat een paar gesloten poorten een einde maakten aan ongeautoriseerd VPN-gebruik, is dat niet.