Memasang CDN atau reverse proxy di depan situs menyerap lalu lintas dan menyembunyikan alamat server, tetapi hanya selama IP asli tetap tidak diketahui. Penyerang jarang membobol CDN. Mereka mencari origin secara langsung. Panduan ini mendaftar tempat-tempat origin bocor dan cara membuat origin menolak semuanya kecuali proxy Anda.
Bagaimana origin ditemukan
- Riwayat DNS: layanan menyimpan catatan lama, jadi IP yang pernah Anda pakai sebelum menambahkan CDN masih tercantum.
- Subdomain: catatan
mail.,ftp.ataudev.yang langsung menunjuk ke server. - Header email: email keluar dari host yang sama mengungkap IP-nya di header.
- Certificate transparency dan pemindaian internet: pemindai mencocokkan sertifikat dengan setiap IP yang menyajikannya.
- Perilaku aplikasi: webhook, pengambil gambar, dan fitur "periksa URL ini" terhubung keluar dari origin.
Langkah 1: mulai dari awal yang bersih
Jika server sudah terekspos, perbaikan paling aman adalah IP baru, atau server baru dan migrasi. Menyembunyikan alamat yang sudah publik tidak akan berhasil. Rencanakan perpindahan dengan panduan migrasi tanpa downtime.
Langkah 2: terima lalu lintas hanya dari proxy
Izinkan port web hanya dari rentang IP yang dipublikasikan proxy dan tidak ada yang lain. Dengan UFW, tampilannya seperti berikut, menggunakan rentang yang dipublikasikan penyedia Anda.
sudo ufw default deny incoming
sudo ufw allow OpenSSH
for ip in $(cat proxy-ranges.txt); do sudo ufw allow from "$ip" to any port 443 proto tcp; done
sudo ufw enable
Perbarui daftar secara berkala, karena rentang bisa berubah. Untuk jaminan lebih kuat, gunakan authenticated origin pulls (mutual TLS) agar Nginx menolak klien mana pun tanpa sertifikat proxy.
Langkah 3: pisahkan semua yang bisa bocor
- Kirim email melalui host atau relay lain, jangan pernah dari origin.
- Jauhkan subdomain non-web dari IP origin.
- Buat pengambilan data keluar oleh aplikasi melalui proxy atau worker terpisah.
- Sajikan server block Nginx default yang mengembalikan balasan kosong pada
Hostyang tidak dikenal, sehingga pemindaian IP polos tidak menampilkan apa pun.
server {
listen 443 ssl default_server;
ssl_reject_handshake on;
}
Langkah 4: uji seperti penyerang
Cari domain Anda di alat riwayat DNS, pindai rentang IP Anda sendiri untuk mencari sertifikat, dan periksa header email dari pesan uji. Jika salah satunya menunjukkan origin, ganti IP dan ulangi.
Ingat apa yang dilakukan dan tidak dilakukan langkah ini: ia melindungi ketersediaan dan privasi alamat. Ia tidak menyembunyikan siapa pemilik akun. Untuk itu, baca seberapa anonim hosting anonim sebenarnya, dan untuk serangan yang lolos dari lapisan jaringan lihat pertahanan Layer 7.