VGW atau TGW? Di mana Terowong IPsec AWS Site-to-Site Berakhir
Terowong IPsec berakhir di VGW atau di lampiran VPN TGW, bukan pada instans anda. Namakan tiga titik akhir, kemudian semak apa yang melindungi setiap lompatan yang tinggal.
Orang bertanya di mana AWS Site-to-Site VPN berhenti melindungi paket dan mengharapkan satu jawapan: di gateway. Versi jawapan yang berguna menyebut gateway yang mana, kerana virtual private gateway dan transit gateway ialah susunan berbeza dengan objek lampiran berbeza, dan penyemak yang menganggap yang salah membina baki penilaian atas rajah yang tidak wujud. Lakukan tiga pemeriksaan di bawah mengikut urutan. Setiap satu sama ada mengesahkan sempadan atau memberitahu anda bahawa jawapan sebelumnya adalah tentang sumber lain.
Namakan tiga titik akhir sebelum anda menilai apa-apa
Semakan penyulitan laluan ini memerlukan tiga perkara bernama: gateway pelanggan, sasaran AWS VPN yang menamatkan IPsec, dan titik akhir aplikasi yang menerima paket dalaman. Tuliskan semuanya bersama pengenal sumber sebelum membuka satu halaman konsol pun, kerana segala-galanya selepas titik ini ialah kenyataan tentang salah satu daripada ketiga-tiganya.
Gateway pelanggan ialah milik anda dan konfigurasinya kelihatan kepada anda. Sasaran AWS ialah sumber terurus, dan kesilapannya ialah menganggapnya sudah pasti: sambungan VPN boleh dilampirkan pada virtual private gateway atau terus pada transit gateway, dan kedua-duanya tidak saling membayangkan. Titik akhir ketiga ialah yang orang terlepas pandang, dan hanya itulah yang menjawab soalan sebenar tentang data aplikasi.
Pemeriksaan 1: gateway mana yang sebenarnya menamatkan terowong
Kedua-dua susunan disokong dan panduan seni bina Site-to-Site VPN menerangkan kedua-duanya secara bersebelahan, jadi tanya API dan bukannya rajah yang selalunya berusia setahun. Pertanyaan baca sahaja pada satu sambungan mengembalikan medan sasaran VPN:
aws ec2 describe-vpn-connections --region eu-west-1 --vpn-connection-ids vpn-0123456789abcdef0 --query 'VpnConnections[0].{VGW:VpnGatewayId,TGW:TransitGatewayId,CGW:CustomerGatewayId,Category:Category}'
Pembeza ialah TransitGatewayId, bukan VpnGatewayId. Sambungan dengan TransitGatewayId kosong berakhir pada virtual private gateway yang tersendiri, manakala sambungan dengan medan itu ditetapkan berakhir pada lampiran VPN transit gateway, dan VpnGatewayId mungkin masih diisi dalam kes itu kerana ia boleh menamakan gateway penyokong lampiran tersebut. Baca medan TGW dahulu, kemudian sahkan jenis lampiran daripada senarai lampiran dan bukan daripada nama medan, kerana lampiran VPC pada transit gateway itu bukan lampiran VPN. Menemui instans destinasi dalam VPC yang disambungkan tidak memberitahu anda apa-apa tentang lampiran VPN mana yang membawa paket itu.
Sementara di sana, semak terowongnya. Sambungan membawa dua terowong IPsec untuk redundansi, dan sambungan yang terowong keduanya tidak pernah naik ialah penemuan sebenar untuk ketersediaan walaupun ia tidak mengubah apa-apa pada sempadan penyulitan:
aws ec2 describe-vpn-tunnels --region eu-west-1 --filters Name=vpn-connection-id,Values=vpn-0123456789abcdef0 --query 'VpnTunnels[].{Outside:OutsideIpAddress,State:State,Status:Status}'
Pemeriksaan 2: apa yang masih dibawa oleh paket dalaman
Sebaik sahaja IPsec tamat, AWS meneruskan paket yang dinyahsulit menggunakan laluan yang sepadan dengannya. Dari titik itu trafik ialah trafik VPC biasa, dan perlindungan VPN telah tamat. Itu bukan jurang dalam perkhidmatan; itulah maksud sempadan, dan butiran senarai semak ialah menyatakannya dengan jelas dan bukannya membiarkan "VPN disulitkan" menggantikan "data disulitkan hujung ke hujung".
Sekarang periksa apa yang ada di dalam. Jika paket dalaman ialah protokol aplikasi teks biasa, tiada apa di hilir menambah kerahsiaan sehingga sesuatu yang lain menyulitkannya. Jika paket dalaman sudah membawa sesi TLS, penyingkiran IPsec luar tidak mengubah apa-apa pada sesi itu: ia kekal dilindungi sehingga titik akhirnya sendiri, di mana pun titik akhir itu berada.
Pembetulan berlebihan yang lazim ialah membuat kesimpulan bahawa segala-galanya di belakang gateway terdedah. Ia tidak. Pengangkutan perkhidmatan, penyulitan storan dan TLS aplikasi ialah mekanisme berasingan dengan syarat berasingan, dan setiap satu mesti dinilai mengikut syaratnya sendiri dan bukannya disimpulkan daripada bentuk VPN. Entri log aliran yang menunjukkan ACCEPT membuktikan penghalaan berfungsi dan tidak mengatakan apa-apa tentang kerahsiaan, yang merupakan tepat kesilapan yang hendak dicegah oleh senarai semak ini.
Pemeriksaan 3: apa yang menamatkan TLS di belakang gateway
Ikut pendengar, bukan alamat. Jika penyeimbang beban atau proksi menamatkan TLS, sambungan yang dipegang pelanggan anda berakhir di situ, dan proksi membuka sambungan kedua ke backend yang mungkin teks biasa atau TLS dengan rantai kepercayaan berbeza. Alamat IP persendirian dan laluan yang sepadan bukan bukti tentang sambungan kedua itu.
Uji titik akhir yang benar-benar anda ambil berat dari dalam VPC, dengan nama yang digunakan aplikasi dan bukan IP yang anda selesaikan sekali:
openssl s_client -connect internal.example:443 -servername internal.example -verify_return_error
Ulangi untuk setiap lompatan yang dilalui permintaan. Jika jawapannya berbeza antara nama menghadap pelanggan dan nama backend, anda telah menemui tepat segmen yang tidak pernah diliputi VPN, dan itulah penemuan yang perlu dicatat.
Catat hasilnya sebagai segmen, bukan sebagai keputusan
Keluaran senarai semak ini ialah jadual kecil dengan satu baris bagi setiap segmen: gateway pelanggan ke sasaran AWS VPN, gateway ke beban kerja, beban kerja ke storan data, dan mana-mana lompatan proksi di antaranya. Setiap baris menyatakan apa yang melindunginya dan apa yang bergantung kepada perlindungan itu. "Disulitkan" tanpa mekanisme dan tanpa titik akhir bukan baris.
Kemudian jawab keperluan asal dengan istilah yang sama seperti ia ditanya. Jika keperluannya ialah data kekal sulit sehingga beban kerja menerimanya, VPN hanya memenuhi segmen pertama, dan baris yang tinggal memerlukan pengangkutan aplikasi, TLS perkhidmatan atau penyulitan storan yang dikonfigurasikan dan disahkan secara berasingan.
Simpan pengenal sambungan, status terowong dan subjek sijil dalam rekod. Apabila seseorang meninjau semula reka bentuk itu enam bulan kemudian, ketiga-tiga artifak itu menjawab soalan sempadan dalam beberapa minit dan bukannya memulakan semula perdebatan daripada rajah.