Provjera stanja je tehnika koja se koristi u vatrozidima računalne mreže za zaštitu mreže od neovlaštenog pristupa. Također ponekad poznata kao dinamičko filtriranje, metoda je sposobna pregledati cijeli paket podataka prije nego što uđe u mrežu. Na taj se način svaki paket koji ulazi u bilo koje sučelje na vatrozidu u potpunosti provjerava valjanost u odnosu na vrste veza koje smiju proći na drugu stranu. Proces je dobio ime jer ne samo da provjerava pakete podataka, već i prati stanje veze koja je uspostavljena i dopuštena kroz vatrozid.
Ideju za kontrolu stanja prvi je osmislio softver Check Point® još sredinom 1990-ih. Prije softvera motora Check Point® Firewall-1 INSPECT™, vatrozidovi su nadzirali sloj aplikacije, na vrhu modela međusobnog povezivanja otvorenih sustava (OSI). To je bilo vrlo opterećujuće za procesor računala, pa se pregled paketa pomaknuo niz slojeve OSI modela na treći sloj, mrežni sloj. Rana inspekcija paketa provjeravala je samo informacije zaglavlja, informacije o adresiranju i protokolu paketa i nije imala načina za razlikovanje stanja paketa, na primjer, radi li se o novom zahtjevu za povezivanje.
U vatrozidu s inspekcijskim nadzorom stanja, metoda filtriranja paketa koja je prihvatljiva za resurse i brza je donekle spojena s detaljnijim informacijama o aplikaciji. To daje određeni kontekst paketu, čime se pruža više informacija na kojima se mogu temeljiti sigurnosne odluke. Da bi pohranio sve ove informacije, vatrozid treba uspostaviti tablicu koja zatim definira stanje veze. Pojedinosti svake veze, uključujući informacije o adresi, portovima i protokolima, kao i informacije o redoslijedu za pakete, zatim se pohranjuju u tablicu. Jedino vrijeme kada su resursi uopće napeti je tijekom početnog ulaska u tablicu stanja; nakon toga, svaki drugi paket koji se podudara s tim stanjem ne koristi gotovo nikakve računalne resurse.
Proces provjere stanja počinje kada se uhvati i pregleda prvi paket koji zahtijeva vezu. Paket se uspoređuje s pravilima vatrozida, gdje se provjerava u odnosu na niz mogućih parametara autorizacije koji su beskrajno prilagodljivi kako bi podržali prethodno nepoznati, ili koji se tek trebaju razviti, softver, usluge i protokole. Uhvaćeni paket inicijalizira rukovanje, a vatrozid šalje odgovor korisniku koji je zatražio potvrdu povezivanja. Sada kada je tablica popunjena informacijama o stanju veze, sljedeći paket od klijenta uspoređuje se sa stanjem veze. To se nastavlja sve dok veza ne istekne ili se ne prekine, a tablica se ne očisti od informacija o stanju te veze.
To dovodi do jednog od problema s kojim se suočava vatrozid za inspekciju stanja – napad uskraćivanja usluge. S ovom vrstom napada, sigurnost nije ugrožena utoliko što je vatrozid bombardiran brojnim početnim paketima koji zahtijevaju vezu, prisiljavajući tablicu stanja da se ispuni zahtjevima. Nakon što je popunjena, tablica stanja više ne može prihvaćati nikakve zahtjeve, pa su svi ostali zahtjevi za povezivanje blokirani. Druga metoda napada na vatrozid s uvidom u stanje koristi pravila vatrozida za blokiranje dolaznog prometa, ali dopušta bilo kakav odlazni promet. Napadač može prevariti host na sigurnoj strani vatrozida da traži veze izvana, učinkovito otvarajući sve usluge na hostu koje napadač može koristiti.