Lapisan ALE
Application Layer Enforcement (ALE) terdiri dari beberapa lapisan pemfilteran dan banyak lapisan buang yang cocok. Semua lapisan mesin pemfilteran Windows Filtering Platform (WFP), termasuk ALE, dijelaskan dalam Pemfilteran Pengidentifikasi Lapisan. Topik ini berisi deskripsi yang lebih rinci tentang lapisan pemfilteran yang merupakan bagian dari ALE.
Filter pada lapisan FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V{4|6} dicocokkan untuk operasi pengikatan jaringan, eksplisit atau implisit.
Jika filter pada lapisan ini cocok untuk mengotorisasi pembuatan soket mentah, bendera FWP_CONDITION_FLAG_IS_RAW_ENDPOINT akan diatur.
Jika filter pada lapisan ini cocok untuk mengotorisasi penerimaan mode promiscuous, bidang FWP_CONDITION_ALE_PROMISCUOUS_MODE akan diatur ke SIO_RCVALL. Untuk deskripsi SIO_RCVALL, lihat WSAIoctl.
Catatan
Ini adalah satu-satunya lapisan di mana mode promiscuous dapat difilter.
Jika tidak ada port yang ditentukan selama bind(), yaitu, port diatur ke 0 (nol), maka tumpukan TCP/IP akan memilih port dari rentang port dinamis (19152–65535). Port yang dipilih akan diklasifikasikan pada lapisan ini bersama dengan bendera FWP_CONDITION_FLAG_IS_WILDCARD_BIND .
Jika alamat lokal tidak ditentukan dalam panggilan bind(), bidang alamat lokal diatur ke FWP_EMPTY.
Filter di lapisan FWPM_LAYER_ALE_AUTH_LISTEN_V{4|6} dicocokkan untuk panggilan listen() TCP.
Filter di lapisan FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} dicocokkan untuk panggilan TCP accept(), untuk paket UDP pertama (unicast) dari alamat jarak jauh/tuple port yang unik, dan untuk pesan ICMP non-kesalahan masuk (unicast) pertama dengan jenis, kode, dan ID ICMP yang unik.
Catatan
Protokol yang bukan TCP atau ICMP diperlakukan seperti UDP.
Paket TCP yang diterima oleh soket mentah ditangani mirip dengan lalu lintas UDP. Artinya, hanya TCP send() pertama dan TCP recv() pertama melalui soket mentah yang akan difilter.
Filter di lapisan FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} dicocokkan untuk panggilan TCP connect(), untuk paket UDP pertama yang dikirim ke alamat jarak jauh dan tuple port yang unik, dan untuk pesan ICMP non-kesalahan keluar pertama dengan jenis, kode, dan ID ICMP unik.
Catatan
Protokol yang bukan TCP atau ICMP diperlakukan seperti UDP.
Paket TCP yang dikirim oleh soket mentah ditangani mirip dengan lalu lintas UDP. Artinya, hanya TCP send() pertama dan TCP recv() pertama melalui soket mentah yang akan difilter.
Filter pada lapisan FWPM_LAYER_ALE_FLOW_ESTABLISHED_V{4|6} dicocokkan setelah jabat tangan tiga arah TCP berhasil diselesaikan. Untuk lalu lintas non-TCP, filter dicocokkan segera setelah filter dari lapisan AUTH_RECV_ACCEPT atau AUTH_CONNECT dicocokkan.
Filter pada lapisan ini tidak boleh mengembalikan Blok atau Izin.
Lapisan ini digunakan oleh driver callout untuk melacak status koneksi, dijelaskan secara rinci dalam dokumentasi Windows Driver Kit .
Filter pada lapisan FWPM_LAYER_ALE_RESOURCE_RELEASE_V{4|6} dicocokkan setelah sumber daya yang dialokasikan melalui RESOURCE_ASSIGNMENT telah dibebaskan.
Filter di lapisan FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V{4|6} dicocokkan saat alur TCP yang tersambung atau titik akhir soket UDP ditutup.
Filter pada lapisan FWPM_LAYER_ALE_CONNECT_REDIRECT_V{4|6} memungkinkan modifikasi alamat dan port jarak jauh. Koneksi keluar akan dialihkan selama durasi koneksi tersebut.
Filter di lapisan FWPM_LAYER_ALE_BIND_REDIRECT_V{4|6} memungkinkan modifikasi alamat dan port lokal soket yang mendasar. Soket lokal akan dialihkan selama masa pakai soket
Untuk setiap lapisan ALE yang dijelaskan di atas mesin pemfilteran berisi lapisan buang yang cocok. Lapisan pembuangan ALE digunakan oleh callout untuk tujuan pengelogan. Paket dan indikasi yang telah dibuang di salah satu lapisan pemfilteran ALE ditunjukkan ke lapisan pembuangan ALE yang cocok.