Apa itu resolver DNS terbuka, dan bagaimana saya bisa melindungi server saya dari penyalahgunaan oleh peretas?

15

Saya tidak memiliki latar belakang terkuat dalam keamanan komputer, tetapi kemarin salah satu server perusahaan saya dimatikan oleh tuan rumah kami.

Ini server yang menetapkan IP publik tempat saya meng-host beberapa aplikasi layanan web termasuk situs web dan API. Saya diberitahu bahwa server saya "sedang menjalankan resolver dns terbuka yang sedang digunakan untuk menyampaikan serangan penolakan layanan ke entitas eksternal."

Apa artinya ini? Bagaimana cara kerja serangan ini? Dan bagaimana saya bisa melindungi sistem saya dari penyalahgunaan seperti ini?

Dalam kasus khusus saya, server yang dimaksud adalah pada Windows Server 2012, dan melayani DNS untuk domain Active Directory.

JSideris
sumber
Jika Anda memberi tahu kami server DNS mana yang Anda gunakan, seseorang mungkin dapat memberi tahu Anda konfigurasi mana yang perlu Anda atur, dan dengan cara apa. Tanpa informasi itu, saya hanya menebak BIND dan semua ruang alamat IP pribadi, karena BIND adalah server DNS yang paling umum dan ruang alamat pribadi aman. Anda mungkin ingin mengizinkan permintaan rekursif dari blok alamat eksternal Anda juga, jika berlaku.
HopelessN00b
@ HopelessN00b Terima kasih, jawaban Anda cukup berguna. Saya tidak menggunakan BIND (host saya juga menganggap saya dan memberi saya beberapa perintah untuk dijalankan); Saya memiliki server DNS yang diatur sebagai peran dalam IIS. Sangat menarik, saya tidak secara manual mengkonfigurasi server DNS dan saya tidak yakin bahwa saya cukup mengerti mengapa saya membutuhkan ini. Apa yang rusak jika dinonaktifkan?
JSideris
Eh, jangan nonaktifkan DNS di lingkungan Windows. Kemungkinan Anda akan merusak Direktori Aktif. Beri tahu saya apa versi Windows Server, dan saya dapat (mungkin) mengedit di beberapa tangkapan layar untuk menunjukkan cara mengamankan kotak DNS Windows.
HopelessN00b
Baik. Sebenarnya saya baru saja mengatur direktori aktif akhir pekan ini. Ini windows server 2012 standar.
JSideris

Jawaban:

28

"Open DNS resolver" adalah server DNS yang bersedia untuk menyelesaikan pencarian DNS rekursif untuk siapa pun di internet. Ini mirip dengan relai SMTP terbuka, karena kurangnya otentikasi memungkinkan pihak ketiga yang jahat menyebarkan muatannya menggunakan peralatan tanpa jaminan Anda. Dengan relay SMTP terbuka, masalahnya adalah mereka meneruskan spam. Dengan resolvers DNS terbuka, masalahnya adalah mereka memungkinkan penolakan serangan layanan yang dikenal sebagai Serangan Amplifikasi DNS.

Cara kerja serangan ini cukup sederhana - karena server Anda akan menyelesaikan kueri DNS rekursif dari siapa pun, penyerang dapat menyebabkannya berpartisipasi dalam DDoS dengan mengirimkan server Anda permintaan DNS rekursif yang akan mengembalikan sejumlah besar data, jauh lebih besar daripada paket permintaan DNS asli. Dengan memalsukan (memalsukan) alamat IP mereka, mereka akan mengarahkan lalu lintas tambahan ini ke komputer korban mereka, bukan komputer mereka sendiri, dan tentu saja, mereka akan membuat sebanyak mungkin permintaan ke server Anda, dan DNS terbuka lainnya resolver yang bisa mereka temukan. Dengan cara ini, seseorang dengan pipa yang relatif kecil dapat "memperkuat" penolakan serangan layanan dengan menggunakan semua bandwidth pada pipa mereka untuk mengarahkan volume lalu lintas yang jauh lebih besar pada korban mereka.

ArsTechnica melakukan artikel yang layak tentang serangan DDoS DNS Amplifikasi baru-baru ini terhadap Spamhaus , dan layak dibaca cepat untuk mendapatkan dasar-dasarnya (dan visual yang bagus untuk amplifikasi).

Cara paling sederhana untuk melindungi sistem Anda dari penyalahgunaan seperti ini adalah dengan membatasi alamat yang server Anda akan lakukan pencarian rekursif untuk subnet lokal Anda. (Yang spesifik tergantung pada server DNS yang Anda gunakan, tentu saja).


Misalnya, jika saya menggunakan BIND 9, dan hanya ingin mencegah rekursi DNS dari alamat luar, saya akan menggunakan kode berikut di konfigurasi saya:

options {
    directory "/var/named/master";
    allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };

Baris kode memberitahu BIND server saya untuk hanya memproses permintaan DNS rekursif untuk alamat loopback lokal (yang saya kira saya bisa / harus diatur ke blok loopback lokal, seluruh / 8) dan 3 ruang alamat Private IPv4.


Untuk Windows Server 2012, yang Anda katakan Anda gunakan, Anda memiliki opsi di bawah ini.

1. Pisahkan server DNS Anda dari server IIS Anda.

  • Setidaknya di dunia yang sempurna, tidak ada alasan Anda perlu menjalankan DNS pada kotak yang sama dengan IIS.
    • Letakkan DNS di kotak internal yang bukan NATed, sehingga dunia luar tidak bisa mendapatkannya, dan biarkan IIS berada di kotak yang menghadap ke luar yang bisa dijangkau oleh seluruh dunia. Anda dapat menggunakan aturan dual-homing atau firewall untuk secara selektif mengizinkan akses ke server DNS Anda dari server IIS Anda.

2. Blokir permintaan DNS eksternal dengan firewall, seperti firewall Windows bawaan.

  • Yang mengejutkan saya, Windows DNS tidak mengizinkan Anda untuk membatasi alamat yang menerima permintaan DNS rekursif, jadi ini sebenarnya metode yang direkomendasikan oleh Microsoft.
  • masukkan deskripsi gambar di sini
    • Pilih aturan DNS (TCP dan UDP), buka Remote IP addressbagian dan tambahkan subnet yang digunakan di LAN Anda, serta alamat IP server yang menghadap publik yang membutuhkan akses ke Active Directory. Seperti contoh BIND, ruang alamat pribadi IPv4 adalah 127.0.0.0/8 10.0.0.0/8 192.168.0.0/16dan 172.16.0.0/12.

3. Nonaktifkan rekursi .

  • Sejujurnya saya tidak yakin apa efeknya pada lingkungan Anda, karena Anda belum benar-benar menyatakan bagaimana DNS dan AD dikonfigurasi di lingkungan Anda, dan karenanya, itu adalah opsi terakhir.
  • masukkan deskripsi gambar di sini
    1. Buka DNS Manager.
    2. Di pohon konsol, klik kanan server DNS yang berlaku, lalu klik Properti.
    3. Dimana?
    4. DNS / server DNS yang berlaku
    5. Klik tab Advanced.
    6. Dalam Opsi server, pilih kotak centang Nonaktifkan rekursi, lalu klik OK.
      • Karena kami memiliki lingkungan multi-hutan, dan menggunakan forwarder bersyarat untuk itu berfungsi, saya tidak akan mencentang kotak itu. Mungkin menjadi sesuatu yang perlu Anda pertimbangkan juga.
HopelessN00b
sumber
Jawaban yang sangat baik!
Fred the Magic Wonder Dog
Solusi sempurna, terdokumentasi dengan baik :).
JSideris
2
Lalu bagaimana 8.8.8.8 atau 1.1.1.1 mencegah diri dari resolvers terbuka?
LinuxBabe