
Cloudflare adalah hal yang hebat untuk melindungi situs dari penjahat komputer - peretas. Namun, jika mereka entah bagaimana mengenali IP asli dari server web tempat situs itu berada, mereka setidaknya akan mencoba untuk menyerang dengan IP, melewati proxy. Anda dapat memblokir pengalihan, mengirim 444 reset NGINX ketika mencoba mengakses domain yang tidak ada, tetapi yang paling ironis dari situasinya adalah ini: buka lalu lintas http / https ke server hanya untuk alamat IP proxy keamanan kami.
Ngomong-ngomong, metode ini juga dapat membuat sebagian situs tidak berguna seperti
crimeflare.org . Nah, "detektif" menemukan bahwa domain itu pernah diakses oleh IP seperti itu - untuk memeriksa apakah masih ada, mencoba masuk ke IP: 443 atau IP: 80 akan sia-sia.
Dan jika Anda menutup semua port di server, nonaktifkan ICMP dan hanya izinkan akses melalui IPMI / VNC, tidak ada yang akan tahu bahwa ada sesuatu di IP kami.
Mari kita lakukan di iptables.
CloudFlare memiliki sejumlah besar alamat, tetapi semuanya dikompres menjadi sejumlah kecil subnet. Mengantisipasi permintaan seperti itu, orang-orang
menerbitkan sebuah artikel yang memberitahukan di mana Anda dapat menemukan subnet mereka saat ini dan bahkan apa yang harus ditulis dalam iptables. Satu masalah adalah bahwa hal itu seharusnya dilakukan secara manual, yang agak tidak nyaman dan tidak dapat diandalkan: pengalamatan di CloudFlare dapat berubah dari waktu ke waktu, dan suatu hari mungkin terjadi bahwa proxy yang terletak di alamat baru tidak akan diizinkan di server Anda. Karenanya, pelanggan yang sesi-sesinya akan membahas alamat-alamat baru ini tidak akan dapat mengakses situs Anda.
Untungnya, masalahnya otomatis. Jadi:
1. Kami melarang semua lalu lintas HTTP / HTTPS di iptables:
iptables -I INPUT 1 -p tcp -m multiport --dports http,https -j DROP
2. Letakkan di suatu tempat, misalnya, melalui /root/cloudflare-update.sh skrip cloudflare-update.sh dengan konten berikut:
Artinya, kami menghapus semua entri yang ada ditambahkan sebelumnya, menambahkan kembali semua yang ada di daftar alamat CloudFlare. Dengan cara ini kami menghindari aturan duplikat. Pada akhirnya - simpan.
3. Kami membuat skrip dapat dieksekusi:
chmod +x /root/cloudflare-update.sh
4. Dalam mahkota (misalnya, di akhir file / etc / crontab) kami menambahkan tugas untuk memperbarui alamat setiap 12 jam:
0 */12 * * * root /root/cloudflare-update.sh &> /dev/null
Itu dia! Sekarang Anda bisa mendapatkan port 80 dan 443 di server Anda hanya melalui proxy, karena kapan saja, hanya alamat milik proxy yang diizinkan di server.