Laptop seorang pengembang kehabisan waktu saat menyambung ke titik akhir RDS privat, padahal kredensial yang sama bekerja dari host bastion. Tidak ada yang mati. Jalur antara laptop itu dan basis data kehilangan salah satu dari tiga hal: nama yang terurai, rute yang membawa lalu lintas, atau aturan grup keamanan yang mengizinkan sumber yang benar-benar dilihat basis data. Cari tahu mana yang hilang sebelum mengubah dua lainnya.

Baca kegagalan pada lapisan yang tepat

Kehabisan waktu bukan satu kesalahan. Nama yang tidak terurai gagal sebelum paket meninggalkan mesin. Alamat tanpa rute mengirim paket ke lubang hitam. Port yang tersaring menghasilkan penantian yang tampak persis seperti host yang salah. Jalankan langkah-langkahnya berurutan dan berhenti pada langkah pertama yang gagal.

dig +short db.internal.example
nc -vz db.internal.example 5432

Jika nama mengembalikan alamat publik, atau tidak mengembalikan apa pun, terowongan belum menjadi masalahnya.

Jika nama terurai dan uji port menggantung, bandingkan alamat yang Anda uraikan dengan alamat yang dilaporkan basis data. Titik akhir terkelola dapat terurai ke alamat privat di dalam VPC dan ke apa pun yang tidak berguna di luarnya, dan alamat yang disalin dari pencarian lama akan menunjuk host yang tidak lagi menjawab.

Pisahkan terowongan dari rute

Menyambungkan VPN klien tidak otomatis merutekan setiap rentang privat. Profil membawa rute yang didorong layanan, dan klien mungkin hanya memasang sebagian. Lihat rentang mana yang benar-benar ditambahkan klien dan apakah alamat basis data berada di dalam salah satunya.

ip route get 10.20.40.15
ip addr show tun0

Rute yang menunjuk ke antarmuka terowongan itu perlu; itu belum cukup, karena sisi jauh tetap harus menerima lalu lintasnya.

Profil terowongan terpisah adalah sumber biasa dari kegagalan separuh ini. Profil itu bekerja untuk aplikasi yang dirancang, dan membiarkan rentang basis data di luar terowongan, yang menghasilkan persis kehabisan waktu seperti yang akan dihasilkan firewall.

Cocokkan grup keamanan dengan sumber sebenarnya

Grup keamanan RDS mengizinkan sumber, bukan orang. Bergantung pada arsitekturnya, sumbernya bisa berupa kumpulan klien VPN, alamat privat bastion, atau alamat NAT tempat lalu lintas diterjemahkan. Baca aturan dan sumber paket yang sebenarnya bersamaan.

aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 \
  --query 'SecurityGroups[].IpPermissions'

Aturan untuk alamat rumah satu laptop adalah masalah pemeliharaan, bukan rancangan akses.

Ketika VPN klien atau gateway NAT berada di jalur, basis data dapat melihat alamat penerjemah alih-alih alamat terowongan pengembang. Itulah sebabnya aturan yang disalin dari penyiapan bastion yang berfungsi bisa gagal untuk laptop: kedua jalur datang dari sumber berbeda meskipun keduanya tampak internal.

Pilih jalur sempit daripada jalur lebar

Ketika satu pengembang membutuhkan satu basis data, penerusan berbasis sesi sering lebih murah dioperasikan daripada terowongan jaringan penuh. Klien lokal tersambung ke port yang diteruskan, dan komponen jauh membuat koneksi basis data dari dalam jaringan.

ssh -N -L 5432:db.internal.example:5432 bastion.internal.example

Pertahankan verifikasi TLS utuh dalam rancangan itu. Klien tetap harus memvalidasi sertifikat server terhadap nama yang diharapkannya; port yang diteruskan lokal bukan alasan untuk mematikan verifikasi, dan mematikannya justru menyembunyikan masalah identitas yang layak ditangkap.

Pilihan antara terowongan penuh dan penerusan sempit adalah keputusan tentang cakupan, bukan tentang teater keamanan.

Tinggalkan jalur yang dapat diulang

Dokumentasikan nama titik akhir alih-alih alamat yang terurai, rentang sumber yang diizinkan grup keamanan, dan peran basis data yang dipakai pengembang. Ketiga fakta itu menjelaskan sebagian besar kegagalan mendatang tanpa panggilan. Tambahkan juga versi profil klien, karena perubahan profil dapat menghapus rute yang dibawa profil lama.

Lalu uji kasus negatifnya sekali: klien di luar sumber yang disetujui harus tetap ditolak.

Basis data privat yang hanya berfungsi bagi orang yang menyiapkannya bukan akses privat; itu pengecualian tak terdokumentasi yang menunggu ditemukan kembali. Tuliskan jalurnya, dan pengembang berikutnya mewarisi metode alih-alih misteri.

Artikel terkait