ESP membawa lalu lintas di VPN IPsec, dan runbook-nya dimulai dengan satu aturan: baca asosiasi keamanan sebelum mengubah kebijakan. Sebagian besar perilaku ESP yang tak terjelaskan bermuara pada pemilih yang tidak cocok, mode yang diasumsikan alih-alih dibaca, atau penghitung yang tidak diperiksa siapa pun saat satu aliran dikirim. Tiga langkah di bawah menetapkan apa membawa apa, membuktikan bahwa satu aliran memakainya, dan meninggalkan pembalikan yang tidak bergantung pada ingatan. Setiap langkah menghasilkan satu pengamatan yang layak dicatat.

Kenali kolomnya sebelum membacanya

ESP menaruh tajuk di depan data yang dilindungi dan trailer di belakangnya. Tajuk membawa indeks parameter keamanan yang mengidentifikasi asosiasi mana yang harus dipakai penerima, nomor urut untuk mendeteksi pengulangan, dan padding di trailer yang menjaga muatan tetap selaras untuk sandi. Kolom tajuk berikutnya di trailer menyatakan isi yang dilindungi, dan begitulah penerima tahu apa yang telah didekapsulasinya.

Mode mengubah apa yang berada di dalam perlindungan itu. Dalam mode terowongan, materi yang dilindungi adalah paket IP dalam yang utuh, dan tajuk luar baru membawanya di antara titik ujung. Dalam mode transport, perlindungan membungkus muatan lapisan atas dari paket yang sudah ada, sehingga tidak ada tajuk IP kedua untuk dibuka. Mode mana yang dipakai adalah fakta konfigurasi, bukan soal tafsir. Bacalah dari entri status alih-alih menyimpulkannya dari diagram.

Kedua mode tidak menyembunyikan pengalamatan luar yang harus mengantarkan paket. Itu sifat rancangan, bukan kekurangan, dan itulah sebabnya pengamat di tengah masih bisa melihat dua alamat mana yang berbicara bahkan ketika muatannya buram.

Langkah satu: baca statusnya, lalu kebijakannya

Entri status menyimpan kunci dan penghitung; entri kebijakan menyimpan pemilih yang menentukan apa yang boleh memakainya. Di Linux keduanya terlihat tanpa menangkap paket, dan membacanya dalam urutan itu menjaga kedua pertanyaan tetap terpisah.

ip xfrm state
ip xfrm policy

Pada keluaran status, periksa sumber dan tujuan asosiasi, modenya, dan apakah enkapsulasi menampilkan porta UDP. Porta itu berarti traversal NAT sedang dipakai, yang mengubah apa yang harus diizinkan firewall di tengah, tetapi bukan pemilih atau kunci mana yang berlaku di titik ujung.

Lalu baca pemilih di kebijakan. Pemilih yang menyebut prefiks lebih sempit daripada lalu lintas yang Anda uji adalah alasan paling umum sebuah terowongan yang berfungsi tampak mengabaikan satu aliran, dan pemilih untuk protokol yang salah menghasilkan kesunyian yang sama.

FieldWhere it appearsWhat it decides
Security parameter indexESP header, and the receiving state entryWhich association and keys the receiver applies
Sequence numberESP headerReplay detection for that association
Next headerESP trailerWhat the decapsulated payload contains
Inner IP headerInside tunnel-mode payload onlyThe original source and destination the endpoints act on
Traffic selectorsPolicy, not the packetWhich local traffic is allowed to use the association

Alat vendor mencetak informasi yang sama dalam bentuk yang lebih nyaman. ipsec statusall di strongSwan alat itu mendaftar asosiasi anak, pemilihnya, dan penghitung byte-nya, yang sering kali lebih cepat daripada membaca keluaran xfrm mentah ketika Anda sudah tahu anak mana yang harus dilihat.

Langkah dua: buktikan satu aliran menggerakkan penghitung

Penghitung hanya bermakna jika Anda tahu apa yang seharusnya menggerakkannya, jadi pilih sumber dan tujuan yang pasti dicakup pemilih dan kirim satu permintaan tak berbahaya. Lalu baca entri yang sama lagi dan bandingkan.

ip -s xfrm state
tcpdump -ni any esp

Dua pembacaan bercerita berbeda. Paket yang bertambah di sisi keluar tetapi tidak pernah di sisi masuk menunjuk pada masalah penerusan atau jalur balik, bukan masalah kunci, karena paket itu telah dienkapsulasi dan pergi. Jika tidak ada penghitung yang bergerak, lalu lintas tidak pernah cocok dengan kebijakan, dan pemilih adalah tempat untuk melihat.

Tangkapan pada langkah yang sama menegaskan enkapsulasi di kabel, termasuk apakah paket luar berupa ESP atau ESP yang dienkapsulasi UDP. Tangkapan itu juga menunjukkan alamat yang benar-benar membawa aliran, dan itu kadang berbeda dari yang ada di konfigurasi yang Anda baca.

Langkah tiga: ubah satu hal dan pertahankan pembalikan

Catat sumber, tujuan, mode, pemilih, dan penghitung asosiasi sebelum menyunting apa pun. Jika suatu perubahan memperburuk keadaan, catatan itulah yang memungkinkan Anda memulihkan status sebelumnya alih-alih membangun ulang konfigurasi yang berfungsi dari dugaan. Catatan itu butuh satu menit untuk ditulis dan menghemat satu jam kemudian. Itu juga satu-satunya artefak yang bertahan setelah orang yang membuat perubahan.

Ubah satu pemilih atau satu parameter, muat ulang, dan ulangi langkah dua terhadap aliran yang sama. Menghapus asosiasi meruntuhkan setiap aliran yang memakainya, jadi suntingan bertarget dan muat ulang anak hampir selalu lebih baik daripada mengosongkan status untuk melihat apa yang terjadi.

Pembalikan untuk suntingan pemilih adalah memulihkan kebijakan sebelumnya dan memuatnya ulang, dengan catatan bahwa rekan mungkin memerlukan perubahan yang sesuai jika pemilih dinegosiasikan dan bukan lokal. Tulis ketergantungan itu saat masih segar, karena pasangan yang setengah dipulihkan lebih sulit ditelaah daripada salah satu dari dua keadaan akhir.

Terakhir, jaga cakupannya jujur. Asosiasi ESP yang mengalir membuktikan kedua gateway melindungi dan mengantarkan segmen itu, dan tidak mengatakan apa pun tentang apakah aplikasi di atasnya mengautentikasi penggunanya atau mengenkripsi apa yang disimpannya. Itu kendali terpisah dengan bukti terpisah, dan runbook baru selesai ketika orang berikutnya dapat mengulanginya dari catatan.

Artikel terkait