Konfigurasi DNSCrypt Proxy Dengan Unbound di Router PFSense
· 2 min read · Label UnixBSD
Proksi DNSCrypt adalah protokol yang mengautentikasi komunikasi antara klien DNS dan resolver DNS. Proksi DNSCrypt dapat mencegah pemalsuan DNS, karena menggunakan tanda tangan kriptografi untuk memverifikasi bahwa respons berasal dari resolver DNS yang dipilih dan belum dirusak.
Secara sederhana, proksi DNSCrypt adalah perangkat lunak ringan yang memungkinkan pengguna untuk berkomunikasi daring secara pribadi, tanpa masalah keamanan. Karena ia melakukannya dengan mengambil semua lalu lintas yang melewati antara pengguna dan server DNS dan mengenkripsinya, dan pada gilirannya, menghentikan gangguan berbahaya, yang mencegah serangan peretas.
CPU Type : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
IP LAN: 192.168.9.1/24
IP & Port Unbound : 127.0.0.1@53
IP & Port Port DNSCrypt proxy : 127.0.0.1@5300
Untuk menginstal dan mengkonfigurasi proxy Unbound dan DNSCrypt pada router PFSense, hal pertama yang harus dilakukan adalah mengatur menu pengaturan umum, klik menu System >> General Setup. Pada menu ini, yang harus Anda atur adalah Hostname, Domain, DNS Servers dan DNS Resolution Behavior.
Yang perlu Anda perhatikan adalah DNS Servers harus kosong dan DNS Resolution Behavior = Gunakan DNS lokal (127.0.0.1), abaikan DNS Servers jarak jauh.
Enable DNS resolver = Checklist
Listen Port = 53
Network Interfaces = LANWIFI dan Localhost
Outgoing Network Interfaces = WANINDIHOME
System Domain Local Zone Type = Transparent
Enable DNSSEC Support = Checklist
Register DHCP leases in the DNS Resolver = Checklist
Register DHCP static mappings in the DNS Resolver = Checklist
Custom options =
do-not-query-localhost: no
forward-zone:
name: "."
forward-addr: 127.0.0.1@5300
Setelah itu, klik tombol Save. Yang perlu diperhatikan adalah mengisi opsi Custom. IP 127.0.0.1@5300 merupakan IP proxy DNSCrypt, artinya Unbound DNS Server akan diteruskan ke proxy server DNSCrypt. Setelah itu, klik menu Advanced Settings. Isi sesuai petunjuk berikut:
Tunggu hingga proses instalasi selesai.
Setelah itu, ketik cd /usr/local/etc/rc.d dan ubah file dnscrypt-proxy menjadi dnscrypt-proxy.sh (dengan akhiran "sh"). Untuk melakukannya, ketik mv dnscrypt-proxy /usr/local/etc/rc.d/dnscrypt-proxy.sh, lalu HAPUS semua isi file dnscrypt-proxy.sh dan ganti dengan skrip berikut.
Edit file crontab di GUI WEB PFSense, ketik Services >> Cron >> menu Settings lalu klik tombol Add di bagian bawah.
Setelah semuanya selesai, klik tombol Save.
Langkah berikutnya, edit file dnscrypt-proxy.toml yang ada di folder /usr/local/etc/dnscrypt-proxy. Untuk mengedit file, ketik ee /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml.
Kemudian HAPUS SEMUA file scrypt dnscrypt-proxy.toml dan ganti dengan skrip berikut.
Artikel ini mencoba mengulas cara menginstal dan mengonfigurasi aplikasi proxy DNSCrypt. Memiliki aplikasi ini di komputer Anda akan meningkatkan sistem keamanan DNS Anda, terutama untuk port 80 dan 443 yang sering kita gunakan.
Secara sederhana, proksi DNSCrypt adalah perangkat lunak ringan yang memungkinkan pengguna untuk berkomunikasi daring secara pribadi, tanpa masalah keamanan. Karena ia melakukannya dengan mengambil semua lalu lintas yang melewati antara pengguna dan server DNS dan mengenkripsinya, dan pada gilirannya, menghentikan gangguan berbahaya, yang mencegah serangan peretas.
Spesifikasi Sistem
OS: PFSense 2.6.0-RELEASE (amd64)CPU Type : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
IP LAN: 192.168.9.1/24
IP & Port Unbound : 127.0.0.1@53
IP & Port Port DNSCrypt proxy : 127.0.0.1@5300
Untuk menginstal dan mengkonfigurasi proxy Unbound dan DNSCrypt pada router PFSense, hal pertama yang harus dilakukan adalah mengatur menu pengaturan umum, klik menu System >> General Setup. Pada menu ini, yang harus Anda atur adalah Hostname, Domain, DNS Servers dan DNS Resolution Behavior.
Yang perlu Anda perhatikan adalah DNS Servers harus kosong dan DNS Resolution Behavior = Gunakan DNS lokal (127.0.0.1), abaikan DNS Servers jarak jauh.
Konfigurasi Unbound DNS Server
Unbound merupakan program atau paket bawaan yang telah disediakan oleh PFSense, jadi kita tidak perlu menginstal Unbound, PFSense telah menyediakannya, yang perlu kita lakukan hanyalah melakukan pengaturan Unbound.
Untuk melakukan konfigurasi Unbound, klik menu Services >> DNS Resolver lalu pilih General Settings.
Enable DNS resolver = Checklist
Listen Port = 53
Network Interfaces = LANWIFI dan Localhost
Outgoing Network Interfaces = WANINDIHOME
System Domain Local Zone Type = Transparent
Enable DNSSEC Support = Checklist
Register DHCP leases in the DNS Resolver = Checklist
Register DHCP static mappings in the DNS Resolver = Checklist
Custom options =
do-not-query-localhost: no
forward-zone:
name: "."
forward-addr: 127.0.0.1@5300
Setelah itu, klik tombol Save. Yang perlu diperhatikan adalah mengisi opsi Custom. IP 127.0.0.1@5300 merupakan IP proxy DNSCrypt, artinya Unbound DNS Server akan diteruskan ke proxy server DNSCrypt. Setelah itu, klik menu Advanced Settings. Isi sesuai petunjuk berikut:
Hide Identity = Checklist
Hide Version = Checklist
Query Name Minimization = Checklist
Prefetch Support = Checklist
Prefetch DNS Key Support = Checklist
Harden DNSSEC Data = Checklist
Yang lainnya dibiarkan sebagai default atau kosong. Lihat gambar berikut untuk mengisi menu Pengaturan Lanjutan.
Setelah semuanya terisi, klik tombol Simpan, dan konfigurasi Unbound selesai. Sekarang kita lanjutkan untuk membahas proksi DNSCrypt.
Proxy DNSCrypt tidak tersedia dalam paket PFSense, proxy DNSCrypt tersedia dalam repositori FreeBSD. Untuk menginstal proxy DNSCrypt pada PFSense kita harus menginstalnya dari repositori FreeBSD.
Langkah pertama untuk menginstal dnscrypt-proxy2, kita aktifkan terlebih dahulu server SSH pada PFSense. Caranya adalah dengan mengklik menu System >> Advanced >> Admin Access lalu centang Secure Shell Server. Agar lebih jelas.
Setelah server SSH aktif, kita masuk ke command line PFSense melalui konsol Putty. Ketik LANWIFI IP: 192.168.9.1 lalu klik open. Setelah itu kita diminta memasukkan user dan password PFSense.
Setelah gambar di atas muncul, tekan angka 8, kita akan diarahkan ke menu command line, setelah itu ketik pkg install dnscrypt-proxy2.
Proses Instalsi dan Konfigurasi DNSCrypt proxy
Proxy DNSCrypt merupakan proxy DNS yang fleksibel, dengan dukungan protokol DNS terenkripsi modern seperti DNSCrypt v2, DNS-over-HTTPS, Anonymous DNSCrypt, dan ODoH (Oblivious DoH).Proxy DNSCrypt tidak tersedia dalam paket PFSense, proxy DNSCrypt tersedia dalam repositori FreeBSD. Untuk menginstal proxy DNSCrypt pada PFSense kita harus menginstalnya dari repositori FreeBSD.
Langkah pertama untuk menginstal dnscrypt-proxy2, kita aktifkan terlebih dahulu server SSH pada PFSense. Caranya adalah dengan mengklik menu System >> Advanced >> Admin Access lalu centang Secure Shell Server. Agar lebih jelas.
Setelah server SSH aktif, kita masuk ke command line PFSense melalui konsol Putty. Ketik LANWIFI IP: 192.168.9.1 lalu klik open. Setelah itu kita diminta memasukkan user dan password PFSense.
Setelah gambar di atas muncul, tekan angka 8, kita akan diarahkan ke menu command line, setelah itu ketik pkg install dnscrypt-proxy2.
Install dnscrypt-proxy2
[2.7.2-RELEASE][root@nspfSense.unixwinbsd.site]/root: pkg install dnscrypt-proxy2
Setelah itu, ketik cd /usr/local/etc/rc.d dan ubah file dnscrypt-proxy menjadi dnscrypt-proxy.sh (dengan akhiran "sh"). Untuk melakukannya, ketik mv dnscrypt-proxy /usr/local/etc/rc.d/dnscrypt-proxy.sh, lalu HAPUS semua isi file dnscrypt-proxy.sh dan ganti dengan skrip berikut.
#!/bin/sh
# PROVIDE: dnscrypt_proxy
# REQUIRE: cleanvar SERVERS
# BEFORE: unbound
. /etc/rc.subr
name=dnscrypt_proxy
procname=/usr/local/bin/dnscrypt-proxy
pidfile=/var/run/${name}.pid
load_rc_config $name
command=/usr/sbin/daemon
command_args="-p ${pidfile} -f ${procname} -config /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml -syslog"
run_rc_command "$1"
After that, enter the script below in the rc.conf file. How to type ee /etc/rc.conf.
dnscrypt_proxy_enable="YES"
dnscrypt_proxy_conf="/usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml"
dnscrypt_proxy_pidfile="/var/run/dnscrypt_proxy.pid"
Kemudian buat file dnscrypt_relaunch.sh di folder /usr/local/bin, how to type
ee /usr/local/bin/dnscrypt_relaunch.sh dan masukkan script di bawah ini.
#/usr/bin/env sh
service /usr/local/etc/rc.d/dnscrypt-proxy.sh status > /dev/null
if [ $? != 0 ]; then
service /usr/local/etc/rc.d/dnscrypt-proxy.sh restart
fi
Setelah semuanya selesai, klik tombol Save.
Langkah berikutnya, edit file dnscrypt-proxy.toml yang ada di folder /usr/local/etc/dnscrypt-proxy. Untuk mengedit file, ketik ee /usr/local/etc/dnscrypt-proxy/dnscrypt-proxy.toml.
Kemudian HAPUS SEMUA file scrypt dnscrypt-proxy.toml dan ganti dengan skrip berikut.
server_names = ['cloudflare', 'cloudflare-ipv6']
listen_addresses = ['127.0.0.1:5300', '[::1]:5300']
max_clients = 300
force_tcp = false
timeout = 2000
keepalive = 30
bootstrap_resolvers = ['1.1.1.1:53','8.8.8.8:53', '9.9.9.9:53']
ignore_system_dns = true
netprobe_timeout = 30
cache = true
cache_size = 512
cache_min_ttl = 30
cache_max_ttl = 900
cache_neg_min_ttl = 10
cache_neg_max_ttl = 300
dnscrypt_servers = true
[sources]
## An example of a remote source from https://github.com/DNSCrypt/dnscrypt-resolvers
[sources.'public-resolvers']
urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md', 'https://ipv6.download.dnscrypt.info/resolvers-list/v3/public-resolvers.md', 'https://download.dnscrypt.net/resolvers-list/v3/public-resolvers.md']
cache_file = 'public-resolvers.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
refresh_delay = 72
prefix = ''
## Anonymized DNS relays
[sources.'relays']
urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/relays.md', 'https://download.dnscrypt.info/resolvers-list/v3/relays.md', 'https://ipv6.download.dnscrypt.info/resolvers-list/v3/relays.md', 'https://download.dnscrypt.net/resolvers-list/v3/relays.md']
cache_file = 'relays.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
refresh_delay = 72
prefix = ''
[static]
# Singapore DoH
[static.'blahdns-sg-doh']
stamp = 'sdns://AgMAAAAAAAAADjEwMy4xNjcuMTUwLjQ1ABJkb2gtc2cuYmxhaGRucy5jb20KL2Rucy1xdWVyeQ'
[static.'blahdns-sg-doh-v6']
stamp = 'sdns://AgMAAAAAAAAAFVsyNDA2OmVmODA6Mjo1ZWU0OjoxXQASZG9oLXNnLmJsYWhkbnMuY29tCi9kbnMtcXVlcnk'
# Singapore Dnscrypt
[static.'blahdns-sg-dnscrypt-v4']
stamp = 'sdns://AQMAAAAAAAAAEzEwMy4xNjcuMTUwLjQ1Ojg0NDMghROpa8Tgg0uVDWO1AujT4tVNBJZrJgKTNOkHHboj_CsbMi5kbnNjcnlwdC1jZXJ0LmJsYWhkbnMuY29t'
[static.'blahdns-sg-dnscrypt-v6']
stamp = 'sdns://AQMAAAAAAAAAGlsyNDA2OmVmODA6Mjo1ZWU0OjoxXTo4NDQzIIUTqWvE4INLlQ1jtQLo0-LVTQSWayYCkzTpBx26I_wrGzIuZG5zY3J5cHQtY2VydC5ibGFoZG5zLmNvbQ'
# Finland DoH
[static.'blahdns-fi-doh']
stamp = 'sdns://AgMAAAAAAAAADjk1LjIxNi4yMTIuMTc3ABJkb2gtZmkuYmxhaGRucy5jb20KL2Rucy1xdWVyeQ'
[static.'blahdns-fi-doh-v6']
stamp = 'sdns://AgMAAAAAAAAAF1syYTAxOjRmOTpjMDEwOjQzY2U6OjFdABJkb2gtZmkuYmxhaGRucy5jb20KL2Rucy1xdWVyeQ'
# Finland Dnscrypt
[static.'blahdns-fi-dnscrypt-v4']
stamp = 'sdns://AQMAAAAAAAAAEzk1LjIxNi4yMTIuMTc3Ojg0NDMghROpa8Tgg0uVDWO1AujT4tVNBJZrJgKTNOkHHboj_CsbMi5kbnNjcnlwdC1jZXJ0LmJsYWhkbnMuY29t'
[static.'blahdns-fi-dnscrypt-v6']
stamp = 'sdns://AQMAAAAAAAAAHFsyYTAxOjRmOTpjMDEwOjQzY2U6OjFdOjg0NDMghROpa8Tgg0uVDWO1AujT4tVNBJZrJgKTNOkHHboj_CsbMi5kbnNjcnlwdC1jZXJ0LmJsYWhkbnMuY29t'
# Japan DoH
[static.'blahdns-jp-doh']
stamp = 'sdns://AgMAAAAAAAAADDIxMi41Mi4wLjEyMgASZG9oLWpwLmJsYWhkbnMuY29tCi9kbnMtcXVlcnk'
[static.'blahdns-jp-doh-v6']
stamp = 'sdns://AgMAAAAAAAAAFVsyNDA2OmVmODA6NDoxNTM3OjoxXQASZG9oLWpwLmJsYWhkbnMuY29tCi9kbnMtcXVlcnk'
# Japan Dnscrypt
[static.'blahdns-jp-dnscrypt-v4']
stamp = 'sdns://AQMAAAAAAAAAETIxMi41Mi4wLjEyMjo4NDQzIIUTqWvE4INLlQ1jtQLo0-LVTQSWayYCkzTpBx26I_wrGzIuZG5zY3J5cHQtY2VydC5ibGFoZG5zLmNvbQ'
[static.'blahdns-jp-dnscrypt-v6']
stamp = 'sdns://AQMAAAAAAAAAGlsyNDA2OmVmODA6NDoxNTM3OjoxXTo4NDQzIIUTqWvE4INLlQ1jtQLo0-LVTQSWayYCkzTpBx26I_wrGzIuZG5zY3J5cHQtY2VydC5ibGFoZG5zLmNvbQ'
# Gearmany DoH
[static.'blahdns-de-doh']
stamp = 'sdns://AgMAAAAAAAAADTc4LjQ2LjI0NC4xNDMAEmRvaC1kZS5ibGFoZG5zLmNvbQovZG5zLXF1ZXJ5'
[static.'blahdns-de-doh-v6']
stamp = 'sdns://AgMAAAAAAAAAFlsyYTAxOjRmODpjMTc6ZWM2Nzo6MV0AEmRvaC1kZS5ibGFoZG5zLmNvbQovZG5zLXF1ZXJ5'
# Germany Dnscrypt
[static.'blahdns-de-dnscrypt-v4']
stamp = 'sdns://AQMAAAAAAAAAEjc4LjQ2LjI0NC4xNDM6ODQ0MyCFE6lrxOCDS5UNY7UC6NPi1U0ElmsmApM06QcduiP8KxsyLmRuc2NyeXB0LWNlcnQuYmxhaGRucy5jb20'
[static.'blahdns-de-dnscrypt-v6']
stamp = 'sdns://AQMAAAAAAAAAG1syYTAxOjRmODpjMTc6ZWM2Nzo6MV06ODQ0MyCFE6lrxOCDS5UNY7UC6NPi1U0ElmsmApM06QcduiP8KxsyLmRuc2NyeXB0LWNlcnQuYmxhaGRucy5jb20'
# Switzerland DoH
[static.'blahdns-ch-doh']
stamp = 'sdns://AgMAAAAAAAAAEDQ1LjkxLjkyLjEyMTo0NDMAEmRvaC1jaC5ibGFoZG5zLmNvbQovZG5zLXF1ZXJ5'
[static.'blahdns-ch-doh-v6']
stamp = 'sdns://AgMAAAAAAAAAFlsyYTBlOmRjMDo2OjIzOjoyXTo0NDMAEmRvaC1jaC5ibGFoZG5zLmNvbQovZG5zLXF1ZXJ5'
# Switzerland Dnscrypt
[static.'blahdns-ch-dnscrypt-v4']
stamp = 'sdns://AQMAAAAAAAAAETQ1LjkxLjkyLjEyMTo4NDQzIIUTqWvE4INLlQ1jtQLo0-LVTQSWayYCkzTpBx26I_wrGzIuZG5zY3J5cHQtY2VydC5ibGFoZG5zLmNvbQ'
[static.'blahdns-ch-dnscrypt-v6']
stamp = 'sdns://AQMAAAAAAAAAF1syYTBlOmRjMDo2OjIzOjoyXTo4NDQzIIUTqWvE4INLlQ1jtQLo0-LVTQSWayYCkzTpBx26I_wrGzIuZG5zY3J5cHQtY2VydC5ibGFoZG5zLmNvbQ'
Jalankan program proxy DNSCrypt, di konsol putty ketik perintah berikut:
Ini berarti bahwa aplikasi proxy DNSCrypt sedang BERJALAN. Masih di konsol putty, sekarang kita menguji dnscrypt-proxy.
Dnscrypt-proxy adalah aplikasi gratis dan open source yang mendukung protokol seperti DNSCrypt v2 dan DNS-over-HTTPS (DoH) yang dapat mencegah spoofing DNS dan serangan hacker.
Artikel ini mencoba mengulas cara menginstal dan mengonfigurasi aplikasi proxy DNSCrypt. Memiliki aplikasi ini di komputer Anda akan meningkatkan sistem keamanan DNS Anda, terutama untuk port 80 dan 443 yang sering kita gunakan.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar