Saya menjalankan server DNS di EC2, dan kemarin mendorong sekitar 20mbps ketika saya memeriksa dasbor penagihan saya dan menemukan 1,86 TB data yang digunakan bulan ini. Itu tagihan besar untuk lab proyek kecil saya. Saya tidak pernah melihat penurunan kinerja dan tidak repot-repot untuk mengatur ambang lalu lintas sebelumnya, tetapi saya miliki sekarang karena ini telah biaya saya $ 200 + dalam biaya bandwidth.
Tampaknya seseorang menggunakan server DNS saya sebagai bagian dari serangan amplifikasi, namun saya bingung bagaimana caranya.
Konfigurasi di bawah.
// BBB.BBB.BBB.BBB = ns2.mydomain.com ip address
options {
listen-on port 53 { any; };
// listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-transfer { BBB.BBB.BBB.BBB; };
allow-query-cache { BBB.BBB.BBB.BBB; };
allow-query { any; };
allow-recursion { none; };
empty-zones-enable no;
forwarders { 8.8.8.8; 8.8.4.4; };
fetch-glue no;
recursion no;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "mydomain.com" IN {
type master;
file "zones/mydomain.com";
allow-transfer { BBB.BBB.BBB.BBB; localhost; };
};
Dengan konfigurasi ini, saya TIDAK boleh menjawab pertanyaan untuk zona saya tidak host secara lokal kan? Server ini adalah SOA untuk beberapa domain, tetapi tidak digunakan untuk mencari apa pun oleh server saya yang lain (semua orang memutuskan menentang OpenDNS atau Google). Arahan apa yang saya miliki salah di sini, atau saya lupa? Log saya (63MB +) penuh dengan ini:
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
sumber
Jawaban:
Bahkan jika server Anda diatur untuk hanya menjawab pertanyaan otoritatif seperti milik Anda, masih memungkinkan untuk digunakan untuk serangan amplifikasi -
ANY
kueri terhadap akar zona dapat memicu respons UDP yang cukup berat, karena akar zona cenderung memiliki sejumlah catatan, terutama dengan SPF / DKIM / DNSSEC.Ini kemungkinan yang terjadi pada sistem Anda - gunakan
tcpdump
untuk konfirmasi. Jika mereka menggunakan catatan otoritatif Anda dalam serangan amplifikasi, opsi terbaik Anda adalah dengan hanya pindah ke IP baru dan berharap mereka tidak mengikuti, mengubah catatan root zona Anda untuk membuatnya menjadi vektor amplifikasi yang kurang efektif, atau mengimplementasikan pembatasan tingkat respons (jika BIND Anda mendukungnya).sumber
ANY
pertanyaan yang berhasil di samping yang gagal ini.rate-limit { responses-per-second 1; };
dan tampaknya telah menurunkan sedikit lalu lintas. Aku tidak sadar kalau RRL bisa dari dalam dirinya sendiri.