Sistem Nama Domain (DNS) adalah komponen protokol standar internet yang bertanggung jawab untuk mengubah nama domain yang mudah dipahami manusia menjadi alamat Internet Protocol (IP) yang digunakan komputer untuk mengidentifikasi satu sama lain di jaringan.
Sering disebut “buku telepon untuk internet”, analogi yang lebih modern adalah DNS mengelola nama domain dengan cara yang sama seperti smartphone mengelola kontak. Smartphone menghilangkan kebutuhan pengguna untuk mengingat nomor telepon setiap orang dengan menyimpannya dalam daftar kontak yang mudah dicari.
Demikian juga, DNS memungkinkan pengguna untuk terhubung ke situs web menggunakan nama domain internet alih-alih alamat IP. Daripada harus mengingat server web di “93.184.216.34Z”, misalnya, pengguna cukup membuka halaman web “www.example.com” untuk mendapatkan hasil yang diinginkan.
Sebelum DNS, internet adalah jaringan komputer yang berkembang terutama digunakan oleh lembaga akademisi dan penelitian. Pengembang secara manual memetakan nama host ke alamat IP menggunakan file teks sederhana yang disebut HOSTS.TXT. SRI International memelihara file teks ini dan mendistribusikannya ke semua komputer di internet. Namun, seiring jaringan berkembang, pendekatan ini menjadi semakin sulit untuk dipertahankan.
Untuk mengatasi keterbatasan HOSTS.TXT dan menciptakan sistem yang lebih dapat diskalakan, ilmuwan komputer University of Southern California, Paul Mockapetris, menciptakan sistem nama domain pada tahun 1983. Sekelompok perintis internet membantu pembuatan DNS dan menulis Request for Comments (RFC) pertama yang merinci spesifikasi sistem baru, RFC 882 dan RFC 883. RFC 1034 dan RFC 1035 kemudian menggantikan RFC sebelumnya.
Akhirnya, seiring dengan perluasan DNS, manajemen DNS menjadi tanggung jawab Internet Assigned Numbers Authority (IANA), sebelum akhirnya berada di bawah kendali organisasi nirlaba, Internet Corporation for Assigned Names and Numbers (ICANN), pada tahun 1998.
Sejak awal, para pengembang mendesain DNS dengan struktur basis data terdistribusi yang hirarkis untuk memfasilitasi pendekatan yang lebih dinamis pada resolusi nama domain, yang dapat mengimbangi jaringan komputer yang berkembang pesat. Hirarki dimulai dari tingkat akar (root), yang dilambangkan dengan titik (.), dan bercabang menjadi domain tingkat atas (TLD), seperti “.com”, “.org”, “.net”, atau TLD kode negara (ccTLD) seperti “.uk” dan “.jp”, dan domain tingkat kedua.
Arsitektur DNS terdiri dari dua jenis server DNS, server rekursif dan otoritatif. Server DNS rekursif adalah server yang mengirimkan permintaan, mencari informasi yang menghubungkan pengguna ke situs web.
Server rekursif, yang juga dikenal sebagai resolver rekursif atau resolver DNS, biasanya dikelola oleh penyedia layanan internet (ISP), perusahaan besar, atau penyedia layanan DNS pihak ketiga lainnya. Mereka bertindak atas nama pengguna akhir untuk mengatasi pengarahan nama domain menjadi alamat IP. Resolver rekursif juga menyimpan jawaban untuk sebuah permintaan untuk jangka waktu tertentu (yang ditentukan oleh nilai time-to-live, atau TTL) untuk meningkatkan efisiensi sistem untuk kueri di masa mendatang ke domain yang sama.
Saat pengguna mengetikkan alamat web ke dalam browser pencarian, browser tersebut terhubung ke server DNS rekursif untuk mengatasi permintaan tersebut. Jika server rekursif memiliki jawaban yang dalam cache, server tersebut dapat menghubungkan pengguna dan menyelesaikan permintaan. Jika tidak, resolver rekursif akan mengirimkan kueri ke serangkaian server DNS otoritatif untuk menemukan alamat IP dan menghubungkan pengguna ke situs web yang diinginkan.
Server otoritatif memberikan “jawaban.” Server nama otoritatif menyimpan catatan definitif untuk domain dan menanggapi permintaan tentang nama domain yang disimpan dalam zona masing-masing (biasanya dengan jawaban yang dikonfigurasi oleh pemilik domain). Ada berbagai jenis server nama otoritatif, masing-masing melayani fungsi tertentu dalam hierarki DNS.
Server nama DNS yang otoritatif termasuk:
Server nama root berada di bagian atas hierarki DNS dan bertanggung jawab untuk mengelola zona root (basis data pusat untuk DNS). Mereka menjawab pertanyaan untuk catatan yang disimpan dalam zona root dan merujuk permintaan ke server nama TLD yang sesuai.
Ada 13 alamat IP yang digunakan untuk menanyakan 13 jaringan server root yang berbeda, diidentifikasi dengan huruf A hingga M, yang menangani permintaan TLD dan mengarahkan kueri ke server nama TLD yang sesuai. Internet Corporation for Assigned Names and Numbers (ICANN) mengoperasikan jaringan server root ini.
Server TLD bertanggung jawab untuk mengelola tingkat hierarki berikutnya, termasuk domain tingkat atas generik (gTLD). Server nama TLD mengarahkan kueri ke server nama otoritatif untuk domain tertentu dalam TLD-nya. Jadi server nama TLD untuk “.com” akan mengarahkan domain yang diakhiri dengan “.com”, server nama TLD untuk “.gov” akan mengarahkan domain yang diakhiri dengan “.gov”, dan seterusnya.
Server nama domain (kadang disebut sebagai server nama domain tingkat kedua) menyimpan file zona dengan alamat IP untuk nama domain lengkap, seperti “ibm.com”.
Setiap kueri (kadang disebut sebagai permintaan DNS) di DNS mengikuti logika yang sama untuk menyelesaikan alamat IP. Ketika pengguna memasukkan URL, komputer mereka secara progresif meminta server DNS untuk menemukan informasi dan catatan sumber daya yang sesuai untuk memenuhi permintaan pengguna. Proses ini terus berlanjut hingga DNS menemukan jawaban yang tepat dari server DNS otoritatif yang terkait dengan domain tersebut.
Lebih khusus lagi, resolusi query di DNS melibatkan beberapa proses dan komponen kunci.
Pengguna memasukkan nama domain, seperti “ibm.com”, ke browser atau aplikasi dan permintaan dikirim ke resolver DNS rekursif. Biasanya, perangkat pengguna memiliki pengaturan DNS yang telah ditentukan sebelumnya, yang disediakan oleh penyedia layanan internet (ISP), yang menentukan resolver rekursif mana yang dikueri oleh klien.
Penyelesai rekursif memeriksa cache, penyimpanan sementara di dalam browser web atau sistem operasi (seperti macOS, Windows, atau Linux) yang menyimpan pencarian DNS sebelumnya, untuk alamat IP yang sesuai dengan domain. Jika resolver rekursif tidak memiliki data pencarian DNS di dalam cache-nya, resolver akan memulai proses pengambilan data tersebut dari server DNS otoritatif, dimulai dari server root. Resolver rekursif menanyakan hierarki DNS sampai menemukan alamat IP akhir.
Resolver rekursif meminta server nama root, yang merespons dengan rujukan ke server TLD yang sesuai untuk domain yang bersangkutan (server nama TLD yang bertanggung jawab untuk domain “.com” , dalam hal ini).
Resolver mengkueri server nama TLD “com”, yang merespons dengan alamat server nama otoritatif untuk “ibm.com”. Server ini kadang-kadang disebut sebagai server nama domain tingkat kedua.
Resolver mengkueri server nama domain, yang mencari file zona DNS dan merespons dengan catatan yang benar untuk nama domain yang disediakan.
Resolver rekursif menyimpan catatan DNS, untuk waktu yang ditentukan oleh TTL catatan, dan mengembalikan alamat IP ke perangkat pengguna. Browser atau aplikasi kemudian dapat memulai koneksi ke server host di alamat IP tersebut untuk mengakses situs web atau layanan yang diminta.
Selain jenis server utama, DNS menggunakan file zona dan beberapa jenis record untuk membantu proses resolusi. File zona adalah file berbasis teks yang menyertakan pemetaan dan informasi tentang domain dalam zona DNS.
Setiap baris file zona menentukan catatan sumber daya DNS (satu bagian informasi tentang sifat jenis atau potongan data tertentu). Catatan sumber daya memastikan bahwa saat pengguna mengirimkan kueri, DNS dapat dengan cepat mengubah nama domain menjadi informasi yang dapat ditindaklanjuti yang mengarahkan pengguna ke server yang benar.
File zona DNS dimulai dengan dua catatan wajib: global time to live (TTL)—yang mengindikasikan bagaimana catatan harus disimpan di cache DNS lokal—dan awal otoritas (catatan SOA)—yang menentukan server nama otoritatif utama untuk zona DNS.
Setelah dua catatan utama, file zona dapat berisi beberapa jenis catatan lainnya, termasuk:
Peta catatan ke alamat IPv4 dan catatan AAAA memetakan ke alamat IPv6.
Catatan MX menentukan server email SMTP untuk domain.
Catatan CNAME mengalihkan nama host dari alias ke domain lain ("domain kanonik").
Catatan NS menunjukkan server nama otoritatif untuk domain.
Catatan PTR menentukan pencarian DNS terbalik, memetakan alamat IP kembali ke nama domain.
Catatan TXT menunjukkan catatan kerangka kebijakan pengirim untuk otentikasi email.
Pencarian DNS biasanya melibatkan tiga jenis kueri. Kueri rekursif, yang menghubungkan server rekursif dan klien DNS, akan menyelesaikan nama domain sepenuhnya atau mengembalikan pesan kesalahan kepada pengguna, yang memberitahukan bahwa server tidak dapat menemukan domain tersebut.
Kueri berulang, yang menghubungkan resolver rekursif (server DNS lokal) dan server DNS nonlokal (seperti root, TLD, atau server nama domain), tidak memerlukan resolusi domain. Sebagai gantinya, server mungkin merespons dengan rujukan, di mana server root merujuk resolver rekursif ke TLD, yang merujuk resolver ke server otoritatif yang menyediakan jawabannya (jika jawabannya tersedia). Oleh karena itu, kueri berulang diselesaikan dengan jawaban atau rujukan.
Dalam kasus kueri non-rekursif, resolver rekursif sudah mengetahui di mana letak jawaban dari kueri tersebut, sehingga kueri ini selalu diselesaikan dengan sebuah jawaban. Resolver menghemat waktu dengan menemukan jawaban yang di-cache di server rekursif atau melewatkan root DNS dan server nama TLD untuk langsung menuju server otoritatif yang sesuai. Jika, misalnya, resolver rekursif memberikan alamat IP yang di-cache pada sesi sebelumnya, permintaan akan memenuhi syarat sebagai kueri non-rekursif.
Organisasi memiliki berbagai opsi saat menggunakan DNS, termasuk DNS publik dan privat, atau kombinasi keduanya. DNS publik dan privat adalah dua hal yang sangat berbeda; untuk memahami cara terbaik menggunakan DNS untuk memenuhi kebutuhan organisasi, penting untuk memahami cara masing-masing jenis berfungsi.
DNS Publik biasanya mengacu pada sisi penyelesai DNS, dan server rekursif yang digunakan untuk menanyakan server nama otoritatif dan menghubungkan pengguna ke situs web.
Server-server ini dapat diakses oleh setiap pengguna di internet dan perusahaan seperti Cloudflare (1.1.1.1), Quad9 dan OpenDNS biasanya menyediakannya secara gratis. Server DNS publik dikelola oleh organisasi yang menjalankannya. Pengguna dan klien tidak memiliki kendali atas operasi, kebijakan, atau konfigurasi mereka.
DNS privat umumnya mengacu pada bagian otoritatif dari DNS. Organisasi menyiapkan server DNS pribadi di dalam jaringan pribadi, dan server ini bertindak sebagai server DNS otoritatif, yang menyediakan pencarian DNS untuk sumber daya internal. Server DNS pribadi berada di balik firewall dan hanya menyimpan catatan situs internal, sehingga aksesnya dibatasi hanya untuk pengguna, perangkat, dan jaringan yang berwenang.
Tidak seperti konfigurasi DNS publik, DNS privat menawarkan organisasi kontrol atas server DNS mereka, memungkinkan mereka untuk menyesuaikan catatan DNS, menerapkan skema penamaan internal dan menegakkan kebijakan keamanan tertentu. Ini juga berarti bahwa organisasi bertanggung jawab untuk memelihara infrastruktur, baik yang di-host di pusat data on premises atau melalui layanan cloud.
Solusi DNS terkelola pada dasarnya mengalihdayakan manajemen server dan proses orkestrasi. Dengan sistem terkelola, penyedia DNS menangani semua protokol konfigurasi, pemeliharaan dan keamanan untuk server DNS organisasi, dan klien menggunakan infrastruktur penyedia untuk mengelola nama domain. Dalam hal ini, ketika pengguna memasukkan URL bisnis, pengguna dialihkan dari server nama domain perusahaan ke server penyedia, yang mengambil semua sumber daya dan merespons pengguna.
DNS terkelola juga dapat memberikan layanan dan manfaat seperti DNS khusus, penyeimbangan beban server global, jaminan waktu aktif, arsitektur yang mengutamakan API, dukungan DNSSEC, jaringan anycast global, waktu propagasi yang dipercepat, alat pemantauan dan pemeriksaan kesehatan, perlindungan DDoS, dan banyak lagi.
Sebagian besar server DNS modern cukup aman, bahkan dalam kasus DNS publik. Namun, sistem DNS terbaik masih rentan terhadap masalah keamanan siber. Jenis serangan tertentu menargetkan sisi otoritatif DNS dan sementara yang lain menargetkan sisi rekursif. Serangan ini meliputi:
Spoofing DNS, juga disebut keracunan cache, terjadi ketika penyerang menyisipkan catatan alamat palsu ke dalam cache DNS resolver, menyebabkan resolver mengembalikan alamat IP yang salah dan mengarahkan pengguna ke situs berbahaya. Spoofing dapat membahayakan data sensitif dan menyebabkan serangan phishing dan distribusi malware.
Amplifikasi DNS adalah jenis serangan denial-of-service terdistribusi (DDoS) di mana penyerang mengirim kueri kecil ke server DNS dengan alamat pengembalian dipalsukan ke alamat IP korban. Serangan ini mengeksploitasi sifat protokol DNS yang tidak berstatus dan memanfaatkan fakta bahwa kueri kecil dapat menghasilkan respons yang sangat besar.
Sebagai hasil dari serangan amplifikasi, server DNS merespons dengan balasan yang jauh lebih besar, yang memperkuat jumlah lalu lintas yang diarahkan ke pengguna, sehingga membebani sumber daya mereka. Ini dapat mencegah DNS bekerja dan menurunkan aplikasi.
Tunneling DNS adalah teknik yang digunakan untuk mem-bypass langkah-langkah keamanan dengan mengenkapsulasi lalu lintas non-DNS, seperti HTTP, di dalam permintaan dan respons DNS. Penyerang dapat menggunakan tunnel DNS untuk menyampaikan perintah malware atau untuk mengeksfiltrasi data dari jaringan yang disusupi, sering kali mengkodekan muatan di dalam kueri dan respons DNS untuk menghindari deteksi.
Pembajakan domain terjadi ketika penyerang mendapatkan akses tidak sah ke akun registrar domain dan mengubah perincian pendaftaran domain. Pembajakan memungkinkan aktor jahat untuk mengarahkan lalu lintas ke server berbahaya, mencegat email dan sebaliknya mengendalikan identitas online pengguna.
Entri DNS yang diabaikan untuk subdomain yang mengarah ke layanan yang dinonaktifkan adalah target utama bagi penyerang. Jika sebuah layanan (seperti host cloud) telah dinonaktifkan tetapi entri DNS-nya masih ada, penyerang berpotensi mengklaim subdomain tersebut dan membuat situs atau layanan berbahaya sebagai gantinya.
Apa pun layanan DNS yang dipilih organisasi, sebaiknya menerapkan protokol keamanan untuk meminimalkan permukaan serangan DNS, mengurangi potensi masalah keamanan, dan mengoptimalkan DNS dalam proses jaringan. Beberapa praktik yang berguna untuk memperkuat keamanan DNS meliputi:
Temukan bagaimana pemisahan DNS dari CDN Anda dapat menghasilkan peningkatan kinerja, penghematan biaya, dan ketahanan. Pelajari mengapa mengelola DNS secara mandiri memungkinkan kontrol lebih besar atas pengarahan lalu lintas, pemantauan kinerja, dan ketahanan di beberapa penyedia CDN.
Memilih penyedia DNS yang tepat sangat penting untuk mengelola lalu lintas, memastikan ketahanan, dan mengoptimalkan kinerja. Temukan 4 faktor penting yang harus Anda pertimbangkan, mulai dari profil risiko dan kebutuhan pengembang hingga mengelola beberapa CDN dan persyaratan kinerja.
Pelajari cara DNS terkelola meningkatkan kinerja dan keamanan, mengurangi latensi, dan menyederhanakan operasi Anda. Temukan perbedaan antara DNS terkelola dan DNS yang dikelola secara mandiri, dan jelajahi manfaat utama untuk bisnis Anda.
Pelajari manfaat dan tantangan DNS otoritatif dengan hosting mandiri untuk perusahaan besar. Pelajari tentang kompleksitas tersembunyi dari hosting mandiri dan mengapa solusi DNS terkelola bisa menjadi pilihan yang lebih baik untuk skalabilitas, ketahanan, dan efisiensi biaya.
IBM NS1 Connect adalah layanan cloud yang terkelola sepenuhnya untuk DNS perusahaan, DHCP, manajemen alamat IP, dan pengarahan lalu lintas aplikasi.
Solusi jaringan cloud dari IBM menyediakan konektivitas berkinerja tinggi untuk mendukung aplikasi dan bisnis Anda.
Konsolidasikan dukungan pusat data dengan IBM Technology Lifecycle Services untuk jaringan cloud dan banyak lagi.