Diagram vendor biasanya berhenti di listener terenkripsi, karena bagian itulah yang punya alamat publik. Pertanyaan yang menentukan postur keamanan adalah apa yang terjadi setelah dekripsi, ketika paket menjadi IP biasa dan dapat menjangkau apa pun yang diizinkan tabel rute. Jika tidak ada yang menggambar bagian itu, tidak ada yang memilikinya. Runbook di bawah menggambarnya lebih dulu, lalu membandingkan penempatan berdasarkan apa yang sebenarnya dilintasi permintaan terdekripsi.

Gambarkan paket setelah dekripsi, bukan sebelumnya

Jalur luar adalah bagian yang didokumentasikan vendor: titik akhir publik, kebijakan transport yang menerima koneksi, dan layanan yang mengakhirinya. Jalur dalam dimulai saat paket kehilangan header tunnel, dan dari sana ia diatur oleh aturan rute dan filter yang tidak ada hubungannya dengan tunnel. Letakkan keduanya di halaman yang sama, karena diagram yang hanya memuat yang pertama menyiratkan bahwa penerimaan dan otorisasi adalah satu keputusan. Keduanya bukan satu, dan celah di antaranya adalah tempat sebagian besar penempatan salah.

Tuliskan bagian dalam sebagai urutan bernomor dengan jenis perangkat bernama, bukan sebagai panah. Panah menyembunyikan apakah permintaan melintasi filter, dan melintasi atau tidak justru seluruh persoalannya. Setiap lompatan di bawah menyebut perangkat dan kumpulan aturan yang bekerja di sana, sehingga filter yang hilang tampak sebagai celah, bukan sesuatu yang tersirat oleh garis.

  1. Klien jarak jauh: perangkat pengguna yang memulai tunnel.
  2. Kebijakan tepi: kumpulan aturan yang menerima transport luar ke listener publik.
  3. Perangkat pengakhir: titik akhir VPN yang mendekapsulasi dan menyerahkan paket ke IP biasa.
  4. Filter dalam: kumpulan aturan penerusan atau grup keamanan yang membatasi lalu lintas klien ke layanan.
  5. Host aplikasi: layanan yang menerima permintaan terdekripsi.

Dua kebijakan, dua pemilik

Kebijakan luar menjawab siapa yang boleh membangun tunnel, dan dinyatakan dalam aturan yang menerima transport ke layanan pengakhir. Kebijakan dalam menjawab layanan mana yang boleh dijangkau pengguna terautentikasi, dan ia hidup dalam aturan penerusan, grup keamanan, atau aplikasi itu sendiri. Satu perangkat dapat menampung keduanya, dan desain dengan beberapa perangkat tetap memiliki keduanya. Menamainya secara terpisah itulah yang memungkinkan Anda mengatakan mana yang gagal ketika pengguna tidak dapat menjangkau aplikasi.

Kontrol penerimaan seperti sertifikat dan autentikasi multifaktor menjawab identitas dan tidak yang lain. Keduanya tidak menentukan penempatan, dan tidak memberikan izin per sumber daya setelah pengguna berada di dalam.

Penempatan menentukan batas mana yang dilintasi permintaan

Tiga penempatan lazim, dan masing-masing mengubah batas mana yang dilintasi permintaan terdekripsi. Bandingkan berdasarkan apa yang berakhir di sana, apa yang dapat melihat teks polos, kontrol mana yang masih dapat menolak permintaan, dan apa yang gagal bersama perangkat. Tabel di bawah memakai empat kolom itu alih-alih pertanyaan umum, karena setiap jawaban adalah keputusan desain tersendiri.

PlacementWhat terminates thereWhat sees plaintextWhich control can still denyFailure domain
Termination in a dedicated segmentA dedicated VPN endpointThe endpoint and anything on its segmentThe filter between that segment and the applicationThe segment path can bypass the filter if no rule sits on it
Termination on the edge firewallThe firewall's public listenerThe firewall, after decapsulationThe firewall's inner rule setAdmission and inspection fail together
Termination on the protected LANThe appliance's LAN legEvery host on the protected LANOnly a host control or a downstream gatewayThe appliance and the protected hosts fail together

Penempatan ketiga adalah yang diam-diam menghapus penegakan, karena bagian di segmen terlindungi memberi perangkat jalur langsung yang mungkin tidak ditunjukkan diagram. Periksa antarmuka dan rute, bukan gambarnya: ip route get 10.20.5.10 melaporkan antarmuka mana yang akan dilewati paket, dan jawabannya sering bukan yang diasumsikan desain. Peran klasik firewall untuk mengendalikan lalu lintas antar postur, seperti dijelaskan dalamNIST SP 800-41, adalah uji yang berguna di sini, karena perangkat dengan bagian tak terbatas ke jaringan terlindungi tidak banyak mengendalikan. Pencarian rute adalah diagram yang lebih jujur daripada yang ada di presentasi.

Administrasi berada pada jalurnya sendiri yang diizinkan secara eksplisit. Mengizinkan pengguna menjangkau aplikasi tidak pernah menuntut mengizinkan mereka menjangkau antarmuka kendali perangkat, dan kedua izin itu harus diberikan dari aturan yang berbeda. Audit kedua jalur secara terpisah, karena aturan bersama menyembunyikan mana yang dibuka.

Penerjemahan mengubah apa yang dapat dilihat aturan hilir

Penerjemahan sumber itu praktis dan ia merusak informasi. Setelah masquerade setiap klien tampak seperti perangkat, sehingga aturan hilir yang ditulis untuk membedakan pengguna tidak dapat lagi melakukannya. Ini bukan hanya masalah pencatatan, ini masalah kebijakan: aturan yang dikunci pada alamat klien diam-diam menjadi aturan yang dikunci pada gateway. Jika kebijakan per pengguna penting, pertahankan sumbernya atau tegakkan kebijakan sebelum penerjemahan.

Jalur balasan layak mendapat pemeriksaan yang sama. Catat rute mana yang dipilih tujuan untuk paket balasan, karena balasan asimetris melewati inspeksi stateful dan menghasilkan koneksi yang terbentuk lalu macet. Kedua arah harus melintasi batas yang Anda gambar, atau batas itu hanya hiasan.

sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTING

Terima satu operasi yang diizinkan dan satu yang ditolak

Uji dari klien jarak jauh yang sebenarnya, bukan dari host manajemen, karena host manajemen biasanya berada di tempat yang tidak akan pernah didatangi pengguna. Satu operasi yang diizinkan membuktikan jalur bekerja, dan satu yang ditolak membuktikan kebijakan sama sekali melakukan sesuatu. Jalankan keduanya setelah setiap perubahan penempatan, dan catat identitas sumber serta tujuan yang Anda pakai. Uji yang hanya membuktikan keberhasilan tidak dapat membedakan aturan yang benar dari aturan yang hilang.

Lalu uji kasus yang mengubah keadaan: penyambungan ulang, sesi yang bertahan melewati rotasi kunci, dan kegagalan perangkat itu sendiri. Bandingkan pembaruan, kapasitas, dan pemulihan sebagai bagian dari tata letak yang sama, karena satu perangkat yang menampung beberapa kontrol logis adalah satu domain kegagalan dengan beberapa label. Kotak kedua juga tidak independen ketika kredensial administratif bersama atau rute tak terbatas mengalahkan batas yang seharusnya dibuatnya.

Dokumentasikan titik akhir, jalur terdekripsi, dan kontrol yang membatasinya. Ketiga baris itu tetap bermakna apa pun nama implementasinya.

Artikel terkait