Du har nesten rett. Men stateful inspeksjon lar deg ha mer kontroll over datastrømmer som går gjennom brannmuren.
En Cybrary artikkel sier:
Stateless firewalls watch network trafikk og begrense eller blokkere pakker basert på kilde- og destinasjonsadresser eller andre statiske verdier. De er ikke 'klar over trafikkmønstre eller datastrømmer. En statsløs brannmur bruker enkle regelsett som ikke tar høyde for muligheten for at en pakke kan mottas av brannmuren som 'later som om' noe du ba om.
Et statsløst brannmurfilter, også kjent som et tilgangskontrolliste (ACL), inspiserer ikke trafikk statlig. I stedet evaluerer den pakkeinnholdet statisk og holder ikke styr på tilstanden til nettverkstilkoblinger.
Stateful firewalls kan se trafikkstrømmer fra ende til annen. De er klar over kommunikasjonsstier og kan implementere forskjellige IP-sikkerhetsfunksjoner (IPsec), for eksempel tunneler og kryptering. I tekniske termer betyr dette at stateful firewalls kan fortelle hvilket stadium en TCP-forbindelse er i (åpen, åpen sendt, synkronisert, synkroniseringsbekreftelse eller etablert). Det kan fortelle om MTU har endret seg og om pakker har fragmentert. osv.
De blir kalt slik fordi de virkelig gjør hva navnet betyr.
Statsløs : ikke husk hvilken som helst tilstand, bare filtrer den nåværende pakken som passerer i henhold til regellisten.
Stateful : husk tilstanden til datastrømmen som har gått gjennom (hva som skjedde i alle tidligere pakker) og filter basert på den samme listen som i tilfelle statsløs, men filtrer også basert på tilstandsinformasjon.
Statusinformasjonen som er lagret i brannmurminnet, lar deg gjøre akkurat det du ba om før og mye mer.
Du kan legge til en regel som tillater overføring av den nye innkommende TCP-forbindelsen inne (TCP-pakke merket med et SYN-flagg) og all etablert / relatert trafikk innen / utenfor.
I tilfelle TCP, klient (SRC IP / SRC PORT) sender SYN-pakke til serveren (DST IP / DST PORT) for å åpne TCP-tilkoblingen. Brannmur har en regel om at denne pakken kan passere (bare nye TCP-tilkoblinger til den serveren). Brannmur husker nå forespørselen om å åpne forbindelsen ble sendt til serveren (den husker blant annet src IP, src-port, dst IP, dst-port og tilkoblingstilstand - i dette tilfellet CONNECT) og forventer nå bare SYN / ACK-pakke fra serveren side. Ingen andre pakker med denne konkrete TCP-forbindelsen kan passere gjennom den (i begge retninger). Serveren sender deretter SYN / ACK, brannmur husker HALF-OPEN-tilstanden og forventer kun ACK-merket pakke fra klienten. Når klienten sender ACK, endres tilkoblingstilstanden til CONNECTED, og bare pakker med flagg ACK (data) FIN / ACK (nær forbindelse) kan passere nå. Det samme skjer under tilkoblingsprosedyren - så det er mulig å ha full kontroll over protokollen som passerer og filtrere ut ugyldige pakker.
For TCP er det litt vanskelig å forklare og forstå. ICMP er mye enklere. Det er to grunnleggende ICMP-pakker - ECHO og REPLY.
I tilfelle stateful brannmur kan du sikre at REPLY bare kan passere brannmuren i tilfelle ECHO tidligere ble sendt.
I tilfelle av statsløs er det bare mulig å kontrollere om ECHO og REPLY kan passere slik at serveren kan sende SVAR når som helst, selv om det ikke ble bedt om det.