DNSSEC Teknologi Perlindungan DNS di Windows Server 2012

Kerugian DNS

Sistem resolusi nama DNS, yang merupakan salah satu dasar dari sistem interaksi jaringan modern, dikembangkan lebih dari 20 tahun yang lalu ketika hampir tidak ada pemikiran untuk masalah perlindungan informasi. Salah satu kelemahan utama dari sistem DNS adalah kemampuan untuk memalsukan respons terhadap permintaan DNS.

Masalahnya adalah bahwa respons server DNS tidak dicentang dengan cara apa pun, ini berarti bahwa dalam kasus melanggar server DNS (dan mengalihkannya ke server DNS palsu), memalsukan catatan DNS, meracuni cache DNS (keracunan cache DNS), Anda dapat mengirim pengguna ke sembarang Alamat IP, dan pengguna akan sepenuhnya yakin bahwa ia bekerja dengan situs web atau layanan yang sah. Metode ini banyak digunakan oleh penyerang, mengarahkan pengguna ke situs yang berisi kode berbahaya atau mengumpulkan data pribadi mereka (kata sandi, nomor kartu kredit, dll.) Menggunakan apa yang disebut. serangan pharming.

Mengapa Anda membutuhkan teknologi DNSSEC?

Ekstensi Keamanan DNS (DNSSEC) - teknologi ini dirancang untuk meningkatkan keamanan layanan DNS melalui penggunaan tanda tangan kriptografis, yang secara jelas akan memverifikasi keaslian informasi yang diterima dari server DNS. Yaitu semua permintaan dan tanggapan dari server DNS dengan dukungan DNSSEC harus memiliki tanda tangan digital, yang validitasnya dapat diverifikasi oleh klien menggunakan kunci publik. Tanda tangan digital ini dibuat saat menandatangani zona (menerapkan DNSSEC untuknya).

Mekanisme verifikasi DNSSEC yang disederhanakan bekerja seperti ini: klien mengirim permintaan ke server DNS, server mengembalikan respons DNS yang ditandatangani secara digital. Karena klien memiliki kunci publik dari otoritas sertifikasi yang menandatangani catatan DNS, dapat mendekripsi tanda tangan (nilai hash) dan memverifikasi respons DNS. Untuk melakukan ini, klien dan server DNS harus dikonfigurasi untuk menggunakan trust anchor yang sama. Percayai jangkar - Kunci publik pra-konfigurasi yang terkait dengan zona DNS tertentu. Jika server DNS mendukung beberapa zona, maka beberapa anchor trust dapat digunakan..

Penting untuk dicatat bahwa tujuan utama DNSSEC adalah untuk melindungi terhadap pemalsuan dan modifikasi permintaan dan tanggapan DNS. Tetapi data yang dikirimkan melalui jaringan itu sendiri tidak dienkripsi (meskipun kerahasiaan data DNS yang dikirimkan dapat dipastikan dengan enkripsi, tetapi ini opsional dan bukan tujuan utama DNSSEC).

Komponen inti DNSSEC didefinisikan dalam standar RFC berikut:

  • RFC 4033
  • RFC 4034
  • RFC 4035

DNSSEC pada sistem Windows

Dukungan teknologi DNSSEC muncul di Windows Server 2008 R2 dan Windows 7. Namun, karena kompleksitas dan ketidakjelasan pengaturan, itu tidak banyak digunakan. DNSSEC menerima pengembangan lebih lanjut dalam Windows Server 2012, di mana fungsi DNSSEC diperluas secara signifikan, dan menunjukkan kemampuan untuk mengkonfigurasi melalui antarmuka grafis.

Pada artikel ini, kami akan menjelaskan instalasi dasar dan konfigurasi DNSSEC berdasarkan pada server DNS yang menjalankan Windows Server 2012, membuat zona bertanda tangan dan titik kepercayaan.

Menginstal dan Mengkonfigurasi DNSSEC pada Windows Server 2012

Buat zona DNS baru dnssec.contoso.com dan tambahkan satu catatan server SRV12 ke alamat 192.168.1.14.

Catatan. Di Windows 8/2012, alih-alih menggunakan utilitas nslookup, lebih baik menggunakan cmdlet Resolve-DnsName Powershell untuk mendapatkan informasi dari server DNS.
Resolve-DnsName srv12.dnssec.contoso.com -Server SRV12-SUB-CA -DnssecOk

Karena zona tidak ditandatangani, permintaan tidak akan mengembalikan catatan RRSIG.

Kami akan menandatangani secara digital zona DNS internal dnssec.contoso.com. Untuk melakukan ini, di konsol DNS, klik kanan pada zona dan pilih DNSSEC-> Masuk Zona.

Di Wizard Penandatanganan Zona yang muncul, biarkan semua pengaturan default (Gunakan pengaturan default untuk menandatangani zona) -> Next -> Next -> Finish.

Setelah wisaya selesai, catatan sumber daya baru berikut akan secara otomatis dibuat di zona yang ditandatangani:

  • RRSIG (Resource Read Signature) - Resource Record Signature
  • DNSKEY (Kunci Publik) - menyimpan bagian publik kunci dan pengidentifikasinya
  • DS (Delegation Signer) - berisi hash nama domain ahli waris dan kunci KSK-nya
  • NSEC (Next Secure) dan NSEC3 (Next Secure 3) - digunakan untuk perlindungan yang andal terhadap serangan spoofing

Setelah zona ditandatangani, kunci publik akan disimpan dalam file% windir% \ system32 \ dns \ keyset-dnssec.

Kami mengimpor ke DNS kunci publik dari zona (jangkar kepercayaan yang sama) dengan pergi ke bagian Trust Point di konsol DNS, memilih impor -> DNSKEY, dan menentukan jalur ke file keyset-dnssec.

Catatan. Kunci ini harus didistribusikan ke semua server DNS yang akan berpartisipasi dalam caching yang aman dari data zona yang ditandatangani.

Sebagai hasil dari mengimpor kunci, di bawah bagian Trust Points -> dnssec, dua kunci DNSKEY akan muncul (satu kunci aktif, yang lainnya adalah siaga).

Di Windows Server 2012, dimungkinkan untuk secara otomatis mereplikasi kunci Jangkar Kepercayaan ke semua pengontrol domain di hutan yang melayani zona DNS ini. Untuk melakukan ini, dalam properti dari zona yang diinginkan (dnssec) pada tab Percayai jangkar aktifkan opsi Aktifkan Distribusi Jangkar Kepercayaan untuk zona ini dan simpan perubahan.

Mari kita coba sekali lagi menginterogasi zona ini dari klien.

Seperti yang dapat kita lihat, dalam respons server DNS terdapat informasi tentang catatan RRSIG dan tanda tangan digital.

Mengkonfigurasi Klien WIndows untuk Menggunakan DNSSEC

Untuk memaksa klien OS Windows untuk memaksa hanya permintaan "aman" (DNSSEC), mis. menerima data DNS hanya jika tanda tangan digitalnya benar, maka perlu untuk menggunakan NRPT (Tabel Kebijakan Resolusi Nama) menggunakan GPO.

Untuk melakukan ini, di bagian GPO Konfigurasi Komputer -> Kebijakan -> Pengaturan Windows -> Kebijakan Resolusi Nama pada tab DNSSEC aktifkan opsi:

  • Aktifkan DNSSEC dalam aturan ini
  • Memerlukan klien DNS untuk memeriksa bahwa nama dan alamat data telah divalidasi oleh server DNS

Masih menetapkan kebijakan untuk OU yang diinginkan. Setelah menerapkan kebijakan, pastikan klien dikonfigurasi untuk menggunakan DNS "aman":

Dapatkan-DnsClientNrptPolicy

Nilai DNSSecValidationRequired = Benar, yaitu klien membutuhkan respons DNS yang divalidasi.

Jika respons yang diterima dari server DNS tidak ditandatangani, atau sertifikat tidak ditandatangani dengan benar, perintah akan mengembalikan kesalahan Paket DNS tidak aman.

DNSSEC untuk area eksternal

Agar server DNS memerlukan verifikasi DNSSEC wajib untuk zona eksternal, Anda perlu properti di tab Mahir aktifkan opsi Aktifkan validasi DNSSEC untuk respons jarak jauh.

Anda dapat mengimpor anchor trust zone root secara manual (dijelaskan di atas), atau menggunakan perintah:

dnscmd / RetrieveRootTrustAnchors
Kiat. Agar DNSSEC berfungsi dengan benar, Anda perlu membuat sejumlah perubahan pada firewall:

  1. Buka port 53 di kedua sisi protokol TCP dan UDP
  2. Karena ukuran data dalam paket DNSSec melebihi 512 byte, perlu untuk memungkinkan berlalunya paket DNS lebih dari 512 byte lebih dari UDP dan TCP