Tuesday, 10 November 2020

Membatasi Internet dan Memblokir Situs Dengan DNS pada Jam Kantor dengan Mikrotik

Sistem yang saya buat yaitu dengan membatasi akses ke situs-situs sosial media, porno, video streaming, dll pada saat jam kerja (08.00 - 12.00 & 13.30 - 16.00). Untuk detail nya sebagai berikut :

Membatasi akses :
Jam kerja pagi (08.00 – 12.00)

Membuka akses :
Jam istirahat (12.00 – 13.30)

Membatasi akses :
Jam kerja siang (13.30 – 16.00)

Membuka akses :
Jam luar kerja (16.00 – 08.00)

Pembatasan ini dimaksudkan agar karyawan dapat memanfaatkan waktu nya pada saat jam kerja untuk mengerjakan pekerjaan nya bukan untuk hal yang lain. 

Untuk membangun sistem ini, saya menggunakan beberapa tools di Mikroik dan juga bantuan dari DNS external yaitu OpenDNS dan Nawala.
Secara umum konfigurasi yang dilakukan adalah sebagai berikut :
  • Mengatur konfigurasi IP Address untuk jaringan Wi-Fi dan LAN pada mikrotik. 
  • Menambahkan konfigurasi NTP (Network Time Protocol) Server untuk sinkronisasi waktu supaya mikrotik dapat berkerja tepat waktu. Ini sangat penting supaya script dapat dieksekusi tepat waktu. 
  • Konfigurasi jaringan internet di Mikrotik. Pastikan koneksi internet sudah jalan di Mikrotik. Untuk memastikannya silakan ping ke Google.com
  • Menambahkan konfigurasi DNS Server dari OpenDNS dan Nawala sebagai filter dan memblokir konten berbahaya.
1. Yang pertama, kita set terlebih dahulu ip address pada mikrotik. Setting ip seperti gambar berikut :

;

Interface speedy(ether1) = dhcp-client
Interface kantor1(ether2) = 100.100.100.1/24
Interface kantor2(ether3) = 200.200.200.1/24
Interface kantor3(ether4) = 192.168.10.1/24

2. Konfigurasi Network Time Protocol Client
Dalam kondisi tertentu Router Mikrotik harus bekerja berdasarkan waktu, baik tanggal, hari, maupun jam. Misalnya saja jika Anda ingin memblokir akses internet di luar jam kerja atau memblokir beberapa situs pada jam-jam tertentu. Jika anda menggunakan PC sebagai Router Mikrotik ini tentu bukan masalah, karena di Motherboard komputer sudah terpasang baterai yang dapat mempertahankan konfigurasi waktu. Namun pada RouterBoard Mikrotik yang tidak memiliki barerai internal maka konfigurasi waktu akan kacau tiap kali router mengalami restart.

Nah, untuk menghindari ketidakakuratan konfigurasi waktu inilah, maka pada Router Mikrotik perlu dikonfigurasikan Network Time Protocol (NTP). Router Mikrotik perlu mengetahui NTP Server yang ada di Internet dan akan berusaha menyesuaikan dengan konfigurasi waktu yang ada di NTP Server tersebut. Untuk sinkronisasi konfigurasi waktu pada Router Mikrotik, Anda dapat menggunakan NTP Server untuk Indonesia dengan IP Address 203.160.128.3.

Untuk lebih mudahnya silakan anda gunakan Winbox untuk menyeting NTP Client nya. Buka Winbox, masuk ke menu System --> NTP Client, seperti gambar berikut :


Centang opsi Enabled --> Mode : unicast --> Primary NTP Server : 203.160.128.3

Atau bisa juga menggunakan command line :
[admin@MikroTik] > system ntp client set primary-ntp=203.160.128.3 enabled=yes mode=unicast

Selanjutnya seting waktu pada mikrotik nya dengan masuk ke menu System --> Clock, seperti gambar di bawah ini :


Atau bisa juga menggunakan command line :
[admin@MikroTik] > system clock set time-zone-name=Asia/Jakarta

3. Konfigurasi jaringan internet di Mikrotik. Pastikan koneksi internet sudah jalan di Mikrotik. Untuk memastikannya silakan ping ke Google.com.

4. Menambahkan konfigurasi DNS Server dari OpenDNS dan Nawala sebagai filter dan memblokir konten berbahaya.

Untuk dapat memblokir situs atau konten terentu di internet pada Mikrotik dapat dilakukan dengan cara :
1. Web Proxy
2. DNS Static
3. Firewall
Namun untuk web proxy dan firewall harus memasukkan daftar situs yang akan diblokir secara manual satu per satu. Hal ini tentu akan sangat merepotkan jika jumlah situs yang akan diblokir sampai ratusan bahkan ribuan. Kendala lainnya adalah kita tidak tau situs apa saja yang harus diblokir.


Nah, oleh karena itu solusi yang cocok adalah menggunakan DNS Static. Dalam hal ini kita dapat menggunakan DNS Gratis dari Nawala atau OpenDNS yang sudah memfilter konten berbahaya. Jadi kita tidak perlu lagi repot-repot memfilter manual semua situs-situs berbahaya tersebut.

Caranya sangat mudah, silakan anda login ke Mikrotik via Winbox.

1. Jika anda menggunakan DHCP Client, misalnya menggunakan internet dari speedy atau modem GSM maka anda harus menonaktifkan fitur "Use Peer DNS"
Masuk ke menu IP --> DHCP Client --> Buka DHCP client nya -- > uncheck "Use Peer DNS"


2. Masuk ke menu IP --> DNS --> Masukkan DNS Server nya di kolom Servers --> centang Allow Remote Request


- DNS Nawala (gratis tanpa register) :
· 180.131.144.144
· 180.131.145.145
- DNS OpenDNS (gratis register dulu) --> opendns.com

Bedanya jika menggunakan DNS Nawala jika masuk ke situs yang terblokir muncul pesan tetapi tidak dpat diganti. Sedagkan kalo OpenDNS bisa kita masukkan pesan tertentu sesuai keinginan seperti pada gambar pertama diatas.

Selain itu, jika menggunakan DNS Nawala kita ga bisa menambahkan atau mengurangi situs yang diblokir, sedangkan kalo menggunakan DNS OpenDNS bisa diatur situs apa saja yang mau diblokir. Namun jika menggunakan OpenDNS harus register dulu.

3. Setelah diganti DNS nya, jangan lupa untuk Flush DNS Cache nya. Pada menu DNS Settings --> Cache --> Flush Cache


atau bisa menggunakan command :
ip dns cache flush
4. Lakukan flush DNS cache juga pada windows dengan command di CMD :
ipconfig /flushdns


Nah, sekarang siapapun yang mengakses konten dewasa akan diblokir oleh DNS server. 
OpenDNS dapat digunakan untuk memfilter situs berbahaya dan memblokir akses ke situs tertentu sepeti social media, video streaming, dan lain - lain. Sementara untuk DNS Nawala hanya memblokir akses ke situs berbahaya.
OpenDNS digunakan saat jam kerja, DNS Nawala digunkan diluar jam kerja pengaturannya menggunakan Script dan Scheduller.

5. kita akan membuat Script dulu. Pada Winbox, masuk ke System --> Scripts. Ada beberapa Script yang akan kita buat seperti gambar berikut :


1. Script pertama yang kita buat yaitu script jam kerja. Script ini akan memberikan
perintah ke Mikrotik untuk mengganti setingan DNS ke IP DNS nya OpenDNS,
kemudian melakukan flush cache DNS. Script nya sebagai beriku (masukkan ke 
kolom Source)

/ip dns set servers=208.67.220.220,208.67.222.222
/ip dns cache flush


2. Script selanjutnya digunakan untuk mengganti IP DNS ke Nawala.
/ip dns set servers=180.131.144.144,180.131.145.145
/ip dns cache flush


3. Hari libur yaitu Sabtu dan Minggu koneksi internet tidak dibatasi, tetapi masih menggunakan DNS Nawala. Caranya dengan mematikan penjadwalan (Scheduler) yang nanti akan kita buat.

/system scheduler disable 0
/system scheduler disable 1


4. Ketika masuk lagi ke hari kerja yakni hari senin, maka aturan nya kembali seperti semula dengan pembatasan internet pada jam kerja. Caranya dengan mengaktifkan kembali scheduler nya.

/system scheduler enable 0
/system scheduler enable 1


5. Script yang sudah kita buat sebelumnya akan dijalankan secara otomatis berdasarkan waktu (jam). Pastikan anda membuat scheduler nya urutan nya sama seperti gambar berikut ini; supaya script pada point 15 dan 16 bisa berjalan.


6. Buat scheduler untuk mengeksekusi script jam kerja (pagi). 
Name : Filter Jam Kerja Pagi
Start Date : Pilih tanggal kapan script akan mulai dieksekusi secara otomatis
Start Time : Jam berapa script akan dieksekusi
Interval : 1 hari
On Event : nama script yang dieksekusi (jam kerja)


7. Buat scheduler lagi untuk jam kerja sore yakni pukul 13.30 (sesuaikan jam nya dengan jam kantor anda). Lihat gambar berikut :


8. Ketika masuk jam istirahat, pegawai dapat mengakses social media, video streaming, dll kecuali web dan konten porno. Caranya dengan mengganti ke DNS Nawala. Buat scheduler pada jam 12.00 dengan script luar jam kerja (LJK).


9. Ketika masuk jam pulang kerja, maka koneksi akan sama seperti pada jam istirahat. Disini diasumsikan jam pulang kantor pukul 16.00.


10. Pada hari libur (Sabtu & Minggu) script libur akan dieksekusi secara otomatis pada Jum'at malam pukul 23.59 dengan interval waktu 7 hari. Jadi script ini akan dieksekusi seminggu sekali yakni hari Jum'at malam. 
Jadi, Pastikan Start Date nya adalah hari jum'at


11. Pada hari senin koneksi akan kembali dibatasi secara otomatis dengan script senin yang akan dieksekusi pada senin dini hari pukul 00.00. lebih 50 detik dengan interval 7 hari.
Pastikan start date nya hari senin.


Sampai disini konfigurasi script dan scheduler sudah selesai. Jika setingan nya benar seperti di atas maka script nya akan berjalan dengan baik secara otomatis.