Tahukah kamu bahwa ISP (Internet Service Provider) yang kamu pergunakan itu bisa melihat DNS yang kamu minta? Dengan hal itu ISP dapat mengetahui situs apa saja yang kamu kunjungi.
Latar Belakang
Hampir setiap aktifitas internet selalu dimulai dengan query DNS. DNS bekerja mengubah alamat situs yang yang terbaca oleh manusia ke IP, agar memudahkan kita.
Misal kamu berkunjung ke www.situsali.id, makad DNS akan mengubahnya menjadi alamat IP. Bayangkan jika kamu mengunjungi situsali, kamu mesti menghapal IP nya, ribet kan? Query DNS didapat melalui teks menggunakan UDP atau TCP tanpa enkripsi, yang menjadikan rentan terhadap penyadapan dan pelanggaran privasi.
Secara asali, ISP akan resolve query DNS ke dalam peladen mereka. Jadi, ketika kamu menulis alamat situs, maka ISP akan mengecek ke dalam peladen untuk mencari apakah ada alamat IP dari situs tersebut, di mana hal ini berarti kita memberikan informasi metadata kepada ISP.
Mengenal DoT
Untuk mengatasi hal itu, Internet Engineering Task Force (IETF) mengajukan fitur eksperimental dengan nama DNS Over TLS (RFC 7858) atau disingkat dengan DoT, di mana prinsip kerjanya hampir sama dengan cara kerja HTTPS.
Sama seperti Transport Layer Security (TLS) di mana protokol yang mengenkripsi koneksi HTTPS menggunakan kriptografi, DNS over TLS meningkatkan privasi dan sekuri mengunakan otentikasi DNS lookup secara end-to-end.
Nah kalau sudah terenkrip, otomatis si ISP jadi gak tau situs apa yang kita buka, Dengan begitu, kita bisa mem-bypass situs yang diblokir oleh ISP.
Konfigurasi DoT di GNU/Linux
Beruntung jika kamu menggunakan sistem operasi GNU/Linux yang sudah menggunakan systemd
. Karena kamu dapat menggunakn fitur DoT, yang sudah disediakan oleh systemd
, tanpa perlu memasang lagi.
Langsung saja kita mulai.
Pertama-tama kamu sunting dulu berkas bernama systemd-resolved
dengan aplikasi penyuntingan teks favoritmu.
$ sudoedit /etc/systemd/resolved.conf
Perhatian!
Saya menggunakan
sudoedit
, pastikan variableEDITOR
sudah kamu set diterminalrc
-mu. Jika belum, kamu bisa mengganti perintahsudoedit
, dengansudo vim
atausudo gedit
disesuaikan dengan aplikasi penyuntingan teks kesukaanmu.
Isi dengan skripnya seperti berikut:
[Resolve]
DNS=94.140.14.14 94.140.15.15 2a10:50c0::ad1:ff 2a10:50c0::ad2:ff
FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
DNSOverTLS=yes
DNSSEC=yes
Domains=~.
Keterangan Konfigurasi
DNS. Kamu bisa meletakan IPv4 dan IPv6 sekaligus di sini dengan menambahkan spasi setelahnya. Contoh di atas saya menggunakan DNS AdGuard.
Kamu bisa menggunakan DNS apapun seperti DNS Google, CloudFlara, Quad9, dan lain sebagainnya.
Berikut ini contoh DNS lainnya yang bisa kamu pergunakan.
Cloudflare: 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
Google: 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Quad9: 9.9.9.9 2620:fe::fe
FallbackDNS. Jangan lupa setelah kamu mengeset DNS, set pula fallback nya, just in case, jika DNS ternyata terjadi masalah. FallbackDNS di atas, saya pakai DNSnya Google.
Untuk menulisnya sama seperti perintah DNS, yakni kamu bisa pakai IPv4 atau IPv6 dan setiap IP mesti dikasih pemisah berupa karakter spasi.
DNSOverTLS dan DNSSEC, opsi ini kita yes kan. Ya karena memang ini yang mau dipakai.
Domains, opsi ini untuk domain apa saja yang ingin pakai DoT, konfigurasi di atas menggunakan ~.
yang berati untuk semua domain.
Cek Network Manager
Pastikan Network Manager-mu untuk penanganan DNS sudah menggunakan systemd-resolved. Kamu bisa mengeceknya dengan perintah berikut:
$ cat /etc/NetworkManager/conf.d/10-dns-systemd-resolved.conf
Jika belum kamu mesti membuat berkas tersebut, dengan perintah berikut:
$ sudoedit /etc/NetworkManager/conf.d/10-dns-systemd-resolved.conf
Lalu isi dengan skrip di bawah ini:
[main]
dns=systemd-resolved
systemd-resolved=false
Restart Servicenya
Jika kamu sudah selesai mengkonfigurasi systemd-resolved
, yang harus kamu lakukan adalah menyalakan ulang service
-nya, agar ia dapat berjalan sebagai mana mestinya.
Perintahnya mudah, lakukan seperti perintah di bawah ini:
$ sudo systemctl restart systemd-resolved
$ sudo systemctl enable systemd-resolved
$ sudo systemctl restart NetworkManager
Cek Apakah Sudah Benar?
Langkah terakhir, untuk memastikan kamu sudah menggunakan DoT, kamu dapat mengeceknya menggunakan perintah berikut:
$ resolvectl status
Tambahan
Agar lebih yakin, kamu bisa cek lagi DNS-mu menggunakan DNS Leak Test, jika hasilnya sudah tidak mengarah ke ISP-mu, maka kamu sudah berhasil menggunakan DoT, dan situs yang diblokir tersebut bisa kamu lalui.
Komentar