Inspeksi stateful adalah teknik yang digunakan dalam firewall jaringan komputer untuk melindungi jaringan dari akses yang tidak sah. Kadang-kadang juga dikenal sebagai pemfilteran dinamis, metode ini mampu memeriksa seluruh paket data sebelum memasuki jaringan. Dengan cara ini, setiap paket yang memasuki antarmuka apa pun di firewall diperiksa sepenuhnya validitasnya terhadap jenis koneksi yang diizinkan melewati ke sisi lain. Proses mendapatkan namanya karena tidak hanya memeriksa paket data, tetapi juga memantau status koneksi yang telah dibuat dan diizinkan melalui firewall.
Ide untuk inspeksi stateful pertama kali dirancang oleh perangkat lunak Check Point®, pada pertengahan 1990-an. Sebelum perangkat lunak mesin Check Point® Firewall-1 INSPECT™, firewall memantau lapisan aplikasi, di bagian atas model interkoneksi sistem terbuka (OSI). Ini cenderung sangat membebani prosesor komputer, jadi inspeksi paket dipindahkan ke lapisan model OSI ke lapisan ketiga, lapisan jaringan. Pemeriksaan paket awal hanya memeriksa informasi header, informasi pengalamatan dan protokol, dari paket dan tidak memiliki cara untuk membedakan status paket, seperti apakah itu permintaan koneksi baru.
Dalam firewall inspeksi stateful, metode penyaringan paket yang ramah sumber daya dan cepat digabungkan dengan informasi aplikasi yang lebih detail. Ini memberikan beberapa konteks pada paket, sehingga memberikan lebih banyak informasi yang menjadi dasar keputusan keamanan. Untuk menyimpan semua informasi ini, firewall perlu membuat tabel, yang kemudian menentukan status koneksi. Rincian setiap koneksi, termasuk informasi alamat, port dan protokol, serta informasi pengurutan untuk paket, kemudian disimpan dalam tabel. Satu-satunya sumber daya waktu yang tegang sama sekali adalah selama entri awal ke dalam tabel negara; setelah itu, setiap paket lain yang dicocokkan dengan status tersebut hampir tidak menggunakan sumber daya komputasi apa pun.
Proses pemeriksaan stateful dimulai ketika paket pertama yang meminta koneksi ditangkap dan diperiksa. Paket dicocokkan dengan aturan firewall, di mana paket tersebut diperiksa terhadap serangkaian kemungkinan parameter otorisasi yang dapat disesuaikan tanpa henti untuk mendukung perangkat lunak, layanan, dan protokol yang sebelumnya tidak diketahui, atau yang belum dikembangkan. Paket yang ditangkap menginisialisasi jabat tangan, dan firewall mengirimkan respons kembali ke pengguna yang meminta yang mengakui koneksi. Sekarang tabel telah diisi dengan informasi status koneksi, paket berikutnya dari klien dicocokkan dengan status koneksi. Ini berlanjut hingga koneksi habis waktu atau dihentikan, dan tabel dibersihkan dari informasi status untuk koneksi tersebut.
Ini membawa salah satu masalah yang dihadapi oleh firewall inspeksi stateful yaitu serangan penolakan layanan. Dengan jenis serangan ini, keamanan tidak terganggu sebanyak firewall dibombardir dengan banyak paket awal yang meminta koneksi, memaksa tabel negara untuk mengisi dengan permintaan. Setelah penuh, tabel status tidak dapat lagi menerima permintaan apa pun, sehingga semua permintaan koneksi lainnya diblokir. Metode serangan lain terhadap firewall stateful memanfaatkan aturan firewall untuk memblokir lalu lintas masuk, tetapi mengizinkan lalu lintas keluar. Penyerang dapat mengelabui host di sisi aman firewall agar meminta koneksi dari luar, secara efektif membuka layanan apa pun di host untuk digunakan penyerang.