VPN situs-ke-situs: arah mana yang sebenarnya perlu aturan?
Permintaan dan balasan sama-sama perlu izin, tetapi firewall stateful biasanya mengizinkan kembalinya koneksi yang telah diterimanya. Cari tahu sisi mana yang tidak punya aturan.
Kedua ujung melaporkan tunnel yang terbentuk, cabang jauh menjawab dari gateway, dan aplikasi tetap timeout bagi pengguna di satu sisi. Nasihat umum mengatakan untuk menambahkan aturan firewall di kedua arah. Kadang itu benar, kadang menduplikasi aturan yang sudah ada, dan kadang aturan keduanya justru yang merusak state. Kasus mana yang berlaku bergantung pada tempat firewall melihat paket.
Lalu lintas balasan stateful mengubah jumlahnya
Firewall stateful mencatat permintaan dan mengizinkan balasan tanpa aturan kedua, jadi desain yang hanya perlu satu aturan itu normal. Daftar akses stateless tidak punya memori seperti itu, dan balasan harus diizinkan secara eksplisit. Keduanya benar di platformnya masing-masing, itulah sebabnya nasihatnya bertentangan.
Baca dokumentasi penerusan untuk platform di depan Anda, dan periksa apakah kebijakan yang Anda sunting bersifat stateful di tempat ia melihat paket. Penolakan eksplisit untuk lalu lintas yang terbentuk, atau urutan aturan yang mengevaluasi balasan sebelum tabel state, mengubah desain yang berfungsi menjadi membingungkan. Jumlah aturan adalah detail implementasi, sedangkan persyaratannya adalah kedua arah percakapan yang diizinkan dapat selesai.
Di mana firewall melihat paket yang didekripsi
Dalam tunnel berbasis kebijakan, firewall dapat mengevaluasi paket terenkripsi sebelum dekripsi dan paket yang didekripsi sesudahnya, pada antarmuka berbeda. Aturan yang ditulis untuk antarmuka yang salah tetap ada, benar, dan tidak pernah cocok. Begitulah set aturan yang disalin dari penerapan yang berfungsi bisa gagal pada perangkat keras yang identik.
IPsec berbasis rute dan sebagian besar implementasi modern menyediakan antarmuka tunnel, sehingga paket yang didekripsi tiba di sana dan aturan antarmuka biasa berlaku. Pastikan model mana yang dipakai penerapan sebelum menyalin set aturan dari panduan yang ditulis untuk model lain. Antarmuka tunnel juga tempat yang perlu dilihat ketika Anda ingin tahu apakah paket benar-benar didekripsi.
Perutean asimetris mematahkan asumsi
Firewall stateful mengasumsikan ia melihat kedua bagian percakapan. Jika balasan kembali melalui gateway lain, perangkat itu tidak menyimpan state untuk permintaan dan menjatuhkannya menurut kebijakannya sendiri. Gejalanya adalah kegagalan satu arah yang tidak dapat diperbaiki oleh aturan mana pun di sisi pengirim. Lacak jalur balasan sebelum mengubah apa pun.
Periksa rute balasan sebelum menambahkan aturan izin yang luas di kedua sisi. Menoleransi semua hal di setiap antarmuka menyembunyikan kesalahan perutean dan sekaligus memperlebar akses, yang merupakan kombinasi terburuk yang tersedia.
Periksa kedua arah dengan alamat sumber yang nyata
Uji dengan alamat yang benar-benar dilihat sisi jauh, karena penerjemahan dapat membuat aturan sumber tidak cocok dengan apa pun. Jalankan penangkapan pada kedua gateway secara bersamaan.
tcpdump -ni any 'host 10.30.8.15 and tcp port 443'
nft list ruleset | grep -A 8 'chain forward'
ip route get 10.30.8.15
conntrack -L | grep 10.30.8.15
Permintaan yang muncul di gateway jauh dengan alamat sumber tak terduga menjelaskan aturan yang tidak pernah cocok, dan balasan yang tiba di antarmuka yang salah menjelaskan ketidakcocokan state. Lalu uji satu tujuan di dalam cakupan yang disetujui dan satu di luarnya, agar batasnya dibuktikan, bukan diasumsikan.
Catat alamat sumber setelah penerjemahan, antarmuka yang dipakai paket yang didekripsi, dan aturan yang cocok. Ketiga fakta itu menjawab tiket berikutnya tanpa mengulang seluruh penyelidikan.