Security groups versus een traditionele firewall: wat is het verschil
Kort antwoord
Een security group bestaat uit filterregels die je direct koppelt aan één server of aan een groep servers, beheerd op het niveau van het cloudplatform. Een traditionele netwerkfirewall staat vóór een heel netwerksegment in plaats van vóór één instance. Beide werken meestal volgens hetzelfde onderliggende idee: een stateful regelset die verbindingen bijhoudt en retourverkeer automatisch toelaat, maar ze opereren op een ander niveau van het netwerk.
De term "security group" duikt bij de meeste grote cloudplatforms op om regels te beschrijven die met een specifieke server meereizen, in plaats van vóór een heel netwerk te staan. Het is de moeite waard om dit onderscheid te begrijpen, ook als je nooit een platform gebruikt dat precies die naam hanteert. Het onderliggende idee, filtering gekoppeld aan een instance versus filtering gekoppeld aan een netwerkgrens, duikt namelijk ook onder andere namen op.
Wat een security group is
Een security group is een set allow-regels die je bij een cloudplatform rechtstreeks aan een server koppelt, of aan een groep servers met dezelfde rol. In plaats van verkeer via een los apparaat te routeren, handhaaft het platform de regels op het punt waar de netwerkinterface van de instance de rest van het netwerk raakt. Voeg een server toe aan een security group, en het inkomende en uitgaande verkeer wordt gefilterd volgens de regels van die group, zonder apart apparaat om te configureren.
Security groups zijn standaard meestal stateful. Staat een regel een uitgaande verbinding toe, dan laat het platform automatisch ook het bijbehorende retourverkeer weer naar binnen, zonder dat je daar een aparte inkomende regel voor nodig hebt. Dat is een bewuste vereenvoudiging: je schrijft de regel voor de richting die voor jou telt, en het platform handelt het antwoordverkeer zelf af.
Wat een traditionele firewall is
Een traditionele netwerkfirewall, soms een perimeterfirewall genoemd, staat vóór een heel netwerksegment in plaats van gekoppeld te zijn aan één instance. Elke server erachter deelt dezelfde gateway en dezelfde set regels, tenzij je specifiekere uitzonderingen maakt. Worldstreams eigen Firewall-product in Portal is zo'n gedeelde gateway per regio: je maakt één firewall per regio aan en koppelt je interne netwerken eraan, en de regelsets staan op aparte tabbladen NAT Rules en Firewall Rules. Zie Basisprincipes van firewalls in Portal voor hoe dat is ingericht.
Architectonisch is dat het kernverschil. Een security group werkt op instance-niveau en reist mee met de server. Een perimeterfirewall werkt op netwerkniveau en geldt gelijk voor alles erachter.
Stateful versus stateless: het concept achter beide
Of je nu naar een security group kijkt of naar een perimeterfirewall, de onderliggende regels werken meestal op een van twee manieren:
- Stateful: de firewall houdt actieve verbindingen bij. Sta je een verbinding naar buiten toe, dan wordt het retourverkeer automatisch weer naar binnen toegelaten, zonder dat daar een bijbehorende inkomende regel voor nodig is. Dit is de gangbaardere standaard bij moderne platforms, omdat het simpeler te doorgronden is: je schrijft een regel per richting van verkeer die je zelf daadwerkelijk wilt starten.
- Stateless: elk pakket wordt afzonderlijk beoordeeld, zonder geheugen van wat eraan voorafging. Om een verbinding in beide richtingen te laten werken, heb je aparte, expliciete regels nodig voor zowel het uitgaande als het inkomende deel. Dit is tegenwoordig minder gebruikelijk als standaard, maar komt nog wel voor in sommige access control lists op een lager netwerkniveau.
De meeste security groups en de meeste moderne perimeterfirewalls zijn standaard stateful. Het onderscheid tussen stateful en stateless staat los van het onderscheid tussen instance-niveau en netwerkniveau dat hierboven aan bod kwam: een firewall kan op perimeterniveau werken en toch stateful zijn, en in de praktijk is dat meestal ook zo.
Waarom dit onderscheid ertoe doet
Het verschil begrijpen helpt als je documentatie van verschillende platforms leest of workloads daartussen verplaatst. Een platform dat het over "security groups" heeft, beschrijft regels die bij de instance horen. Een platform dat het over een "firewall" in de traditionele zin heeft, beschrijft meestal iets dat vóór een netwerksegment staat. Het een is niet per definitie beter dan het ander, ze lossen filtering op verschillende niveaus op. Veel opzetten gebruiken zelfs allebei: een perimeterfirewall voor brede netwerkgrenzen, aangevuld met fijnmazigere regels dichter bij individuele workloads.