Jaringan hotel dan firewall konferensi sering menampilkan kotak izin khusus, dan seseorang mengetikkan 47 ke dalamnya dengan harapan PPTP berfungsi. Aturan itu dibuat, terowongan tetap gagal, dan upaya berikutnya memakai nomor lain. Kesalahannya ada di paket itu sendiri: IPv4 memiliki bidang protokol yang menyebut apa yang menyusul header IP, sedangkan TCP dan UDP memiliki bidang port yang hanya ada setelah Anda berada di dalam salah satu header itu. Keduanya bukan dua ejaan dari izin yang sama.

Header IPv4 menyebut protokol berikutnya

Bidang protokol adalah satu byte di header IPv4, dan berisi angka yang menjelaskan muatan: 6 untuk TCP, 17 untuk UDP, 47 untuk GRE, 50 untuk ESP. Apa pun yang memfilter paket membaca nilai itu sebelum melihat lebih dalam, karena header yang lebih dalam baru masuk akal setelah jenisnya diketahui. Ubah port nanti dalam percakapan, dan bidang ini tidak bergerak.

Jadi aturan yang ditulis terhadap protokol 47 menjelaskan lapisan IP. Tidak ada port yang ikut dalam keputusan sama sekali.

Port ada di dalam TCP dan UDP, tidak di tempat lain

Port adalah pengenal enam belas bit di dalam header TCP dan UDP, dan tugasnya memisahkan percakapan yang berbagi satu alamat. Header GRE membawa nilai jenis protokol, sering kali EtherType, ditambah kunci opsional untuk multiplexing. Karena itu frasa port 47 tidak menyebut apa pun yang bisa dicocokkan oleh paket GRE.

Antarmuka firewall berbeda dalam seberapa banyak hal ini ditampilkan. Sebagian menerima nomor protokol, sebagian menawarkan daftar bernama, dan beberapa hanya menerima TCP atau UDP dengan port.

PPTP memakai kedua lapisan sekaligus

PPTP adalah contoh paling jelas karena sengaja membagi pekerjaannya ke kedua lapisan. Koneksi kontrol adalah sesi TCP ke port 1723, dan jalur data adalah GRE, protokol 47, tanpa port yang terlibat di mana pun. Firewall yang mengizinkan 1723 dan tidak yang lain membiarkan negosiasi dimulai lalu membuang muatannya. Terowongan tampak menggantung setelah autentikasi alih-alih gagal tersambung, dan karena itu gejalanya sering dilaporkan sebagai masalah kata sandi.

PathOuter protocolPort
Control channelTCP, protocol 61723
Data channelGRE, protocol 47None

Baca kedua baris secara terpisah saat menulis aturan, dan periksa masing-masing terhadap sintaksis vendor. Satu baris membutuhkan port, yang lain membutuhkan nomor protokol, dan tidak ada satu entri pun yang mencakup keduanya.

Mengapa halaman penerusan port tidak dapat menyatakan GRE

Formulir penerusan yang hanya menerima TCP dan UDP tidak dapat menjelaskan GRE, apa pun nama formulir itu. Terjemahan alamat menambah kesulitan kedua, karena GRE tidak punya port dan penerjemah harus mengikuti pengenal panggilan sebagai gantinya. Sebagian router konsumen disertai pembantu yang menanganinya; banyak yang tidak, dan tidak ada entri izin TCP tambahan yang akan menciptakan perilaku itu.

Bila terowongan modern adalah kebutuhan sebenarnya, pilih rancangan yang sengaja memakai TCP atau UDP alih-alih berharap penerjemah menebak dengan benar.

Enkapsulasi menentukan apa yang dilihat filter

Enkapsulasi mengubah paket luar, dan paket luar itulah yang dicocokkan oleh aturan. ESP asli adalah protokol 50, sedangkan lintasan NAT membungkus ESP di dalam UDP 4500 agar bertahan dari terjemahan alamat. Filter yang mengizinkan UDP 4500 tidak pernah melihat protokol 50, dan filter yang ditulis untuk protokol 50 tidak pernah cocok dengan bentuk terbungkus.

Tanyakan enkapsulasi mana yang disepakati klien dan gateway, lalu tulis aturan untuk bentuk luar itu dan tidak lebih.

Tulis aturan agar seseorang dapat memeriksanya

Nyatakan setiap aturan sebagai keluarga alamat, protokol luar, port transport bila ada, arah dan kedua ujungnya. Peninjau dapat membandingkan kalimat itu dengan tangkapan paket dan sampai pada putusan. Instruksi membuka 47 tidak dapat diperiksa siapa pun, dan itulah sebabnya ia bertahan bertahun-tahun di buku prosedur.

Tambahkan uji yang membuktikannya: sambungkan sambil menangkap di antarmuka luar, dan pastikan protokol serta port luar yang benar-benar muncul di jejak.

Artikel terkait