Sunday, June 7, 2020

Aktivasi DNS Over HTTPS (DoH) DNS Google di Mikrotik v6.47

Domain Name System atau biasa disebut DNS merupakan salah satu fitur yang ada pada setiap perangkat jaringan. Berfungsi pada sistem untuk mempermudah manusia dan komputer dalam berkomunikasi. Pada dasarnya manusia lebih mudah menggunakan nama, sedangkan perangkat jaringan menggunakan angka atau IP untuk saling komunikasi.

DNS over HTTPS (DoH) merupakan sebuah protokol untuk melakukan resolusi Sistem Penamaan Domain dengan menggunakan protokol HTTPS. Tujuan penggunaan metode ini adalah untuk melindungi privasi dan keamanan pengguna dengan mencegah serangan Man-in-the-middle.[1] Per Maret 2018, Google dan Yayasan Mozilla sedang menguji coba DNS over HTTPS.[2][3] Cloudflare bekerja dengan Mozilla untuk memusnahkan data DNS setiap hari.[4]

Selain untuk meningkatkan keamanan, tujuan lain dari DNS over HTTPS adalah untuk meningkatkan performa karena umumnya resolver DNS yang disediakan oleh penyedia jasa Internet berjalan lambat.[1]


Sekarang kita akan mencoba aktivasi pada Mikrotik versi 6.47, kita bisa melihat changelog di System > Packages:
What's new in 6.47 (2020-Jun-02 07:38):

Important note!!!

- The Dude server must be updated to monitor v6.46.4 and v6.47beta30+ RouterOS type devices.
- The Dude client must be manually upgraded after upgrading The Dude server.
- The Dude requires "winbox" policy instead of "dude" to monitor v6.46.4 and v6.47beta30+ RouterOS type devices.
- Make sure LTE APN Profile name does not match any of the DHCP server's names if LTE passthrough is used.

MAJOR CHANGES IN v6.47:
----------------------
!) dns - added client side support for DNS over HTTPS (DoH) (RFC8484);
!) socks - added support for SOCKS5 (RFC 1928);
!) user - enable "winbox" policy for groups with "dude" policy automatically on upgrade;


Ok sekarang kita akan membahas untuk fitur DNS over HTTPS (DoH) (RFC8484):
1. Memastikan versi RouterOS nya menjadi v6.47 
(Apabila versi RouterOS masih dibawah v6.47, bisa upgrade terlebih dulu karena DoH minimal menggunakan versi v.6.47)

2. Sebelum kita bisa menggunakan DNS Google sebagai DOH, kita perlu memasukkan isian untuk static DNS, berguna untuk resolve dns.google (Iya, betul nama cukup "dns.google") ke IP 8.8.8.8 dan 8.8.4.4
kita bisa masuk ke IP > DNS > Static,
- tambahkan Name: dns.google dengan Address: 8.8.8.8, klik OK
- tambahkan lagi Name: dns.google dengan Address: 8.8.4.4


Tampilan dari DNS static akan menjadi seperti berikut:

catatan: jika ingin menggunakan cloudfare bisa menambahkan:
- Name: cloudflare-dns.com to Address: 104.16.248.249
- Name: cloudflare-dns.com to Address: 104.16.249.249

3. Aktifkan DoH DNS Google pada DNS server di Mikrotik dengan IP > DNS
- Servers, bisa update dengan DNS Google 8.8.8.8 dan 8.8.4.4
- Use DoH Server: https://dns.google/dns-query
- Allow Remote Request pastikan sudah enabled

catatan: 
- Pada cloudflare isian Use DoH Server bisa menggunakan https://cloudflare-dns.com/dns-query

4. Verify DoH Certificate
Fitur ini untuk verifikasi certificate ssl pada https://dns.google/dns-query, untuk mencegah serangan Man-in-the-middle lebih baik.
Langkah untuk import certificate ssl atau https dns.google kita bisa menggunakan Mozilla Firefox 
- Buka Firefox pada alamat https://dns.google

- Klik pada icon hijau gambar gembok, seperti screenshot dibawah

- Klik pada anak panah kanan Secure Connection >, kemudian klik More Information


- Klik View Certificate, kemudian Details, dan Klik tombol Export, untuk download certificate yang akan kita gunakan di Mikrotik untuk verifikasi certificate SSL dns.google
Kemudian pilih pada bagian bawah, X. 509 Certificate with chain (PEM), file bisa disimpan dengan nama dns_google.crt

- Upload dan Import certificate ini ke dalam Mikrotik dengan Systems > Files, dan System > Certificates

kemudian import file dns_google.crt, Passphrase bisa dikosongin 
System > Certificates, klik pada tombol Import 

apabila file berhasil diimport, akan keluar 3 baris file ini:

Ok, sekarang kita bisa menggunakan fitur Verify DoH Certificate:


Sekarang kita bisa test DNS pada Mikrotik apakah sudah berhasil:
1. $ host -t A mikrotik.com router.lan
Using domain server:
Name: router.lan
Address: 192.168.244.1#53
Aliases: 

mikrotik.com has address 159.148.147.196

2. Dengan menggunakan torch, kita bisa cek koneksi dengan google dns apakah sudah menggunakan Protocol TCP port 443 (https)

catatan:
- router.lan adalah dns entry static default pada mikrotik untuk informasi ip dari mikrotik yang digunakan
- pastikan dns yang digunakan pada laptop maupun di hp sudah menggunakan ip dari mikrotik anda, atau dengan dns server yang didapatkan dari DHCP dari mikrotik nya

Pesan Kesalahan & Pemecahan Masalah: 
- Check pada Log pada Mikrotik
dns, error DoH server connection error: SSL: handshake failed: unable to get local issuer certificate (6)
Kesalahan ini adalah hasil dari tidak memiliki sertifikat root yang diinstal untuk memvalidasi sertifikat https dari url server DNS.

dns, error DoH server connection error: resolving error
Kesalahan ini adalah hasil dari memasukkan hanya alamat IP di bidang Use DoH Server. Itu harus dimasukkan sebagai https: // url.

Aktivasi DNS Over HTTPS (DoH) DNS Google di Mikrotik v6.47

Domain Name System atau biasa disebut DNS merupakan salah satu fitur yang ada pada setiap perangkat jaringan. Berfungsi pada sistem untuk me...