1. Home
  2. Mikrotik: Konfigurasi Firewall Untuk Mengamankan Jaringan

Mikrotik: Konfigurasi Firewall Untuk Mengamankan Jaringan

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيْم 

Introduction 

Ketika interface pada Router diberikan IP Address, maka Router secara otomatis akan menambahkan dynamic route ke network tersebut, yaitu “connected route”. Baik itu physical interface maupun logical interface, semua network yang ada pada masing-masing interface bisa saling berkomunikasi melalui connected route. 

Perhatikan topologi di bawah ini: 

Gambar 1.

Pada topologi di atas, terdapat 1 Router, 3 Switch, dan 7 PC di masing-masing network dan VLAN. 7 PC ini meskipun berada di network dan VLAN yang berbeda, akan tetapi bisa saling berkomunikasi karena Inter-VLAN routing yang terjadi di Edge-Router. Di sini Inter-VLAN routing bisa terjadi karena adanya connected route. 

Gambar 2.

Perhatikan flag ‘c’ yang merupakan abrevasi dari kata CONNECT pada routing table di atas. Route dengan flag ‘c’ menandakan bahwa route tersebut adalah network IP Address yang dipasang di salah satu interface Router. 

Kenapa Ini Menjadi Masalah? 

Connected route adalah bagian dari protokol routing pada Layer 3, dan sendirinya bukan merupakan masalah. Akan tetapi, tanpa konfigurasi yang spesifik maka hal ini bisa menjadi celah keamanan pada sistem jaringan. Perhatikan kembali topologi pada Gambar 1. Untuk keperluan manajemen atau remote access, Router dan Switch pada topologi tersebut diberikan IP 192.168.42.0/24 dengan VLAN 42. Idealnya Router dan Switch hanya bisa di-remote dari IP dan VLAN ini. Akan tetapi, ternyata Router dan Switch tersebut juga bisa diakses dari IP dan VLAN lain melalui connected route. 

Mari kita coba mengakses telnet Core-Switch (192.168.42.2) dari PC VLAN 10 (10.10.0.10). 

Gambar 3.

Telnet itu sendiri bukanlah protokol yang mengutamakan keamanan. Apalagi ternyata telnet ke Core-Switch bisa diakses dari network yang berbeda. Pihak yang berniat jahat bisa saja menjalankan bruteforce ke perangkat-perangkat jaringan melalui celah keamanan ini. 

Network Isolation 

Untuk menutup celah keamanan yang sudah kita bahas di atas, maka langkah yang akan kita ambil adalah dengan mengisolasi network manajamen (VLAN 42) dari VLAN-VLAN lainnya, yang selanjutnya kita sebut sebagai VLAN Client. Dan juga kita akan membatasi akses Layer 3 dari VLAN Client ke arah Router, misalnya dengan hanya mengizinkan trafik DNS dan ICMP antara Client dan Router. 

Mikrotik Firewall

Berikut adalah rangkaian rule yang akan kita tambahkan pada ip/firewall/filter Edge-Router, beserta penjelasannya. 

Input Chain 

Firewall rule dengan chain=input adalah rule yang berfungsi untuk mem-filter packet yang destination-nya adalah Router itu sendiri. 

ip/firewall/filter 

#0 Rule ini meng-accept packet yang destination-nya adalah Router. Packet yang di-accept adalah dengan connection-state=established,related# 
add action=accept chain=input comment="Allow established and related conn" connection-state=established,related 

#1 Rule ini meng-accept semua jenis packet yang bersumber dari VLAN42. Di /interface/list/member, VLAN42 dimasukkan ke interface list “Management”# 
add action=accept chain=input comment="Allow all conn from VLAN42" in-interface-list=Management

#2 Rule ini meng-accept packet ICMP yang bersumber dari VLAN Client ke arah Router. Di /interface/list/member, Semua VLAN Client dimasukkan ke interface list “Client”# 
add action=accept chain=input comment="Allow ICMP" in-interface-list=Client protocol=icmp 

#3 Rule ini meng-accept trafik DNS query dari Client ke Router# 
add action=accept chain=input comment="Allow DNS" connection-state=new in-interface-list=Client port=53 protocol=udp 
add action=accept chain=input comment="Allow DNS" connection-state=new in-interface-list=Client port=53 protocol=tcp 

#4 Rule ini men-drop semua packet ke arah Router, kecuali jenis-jenis packet yang sudah di-accept di atas# 
add action=drop chain=input comment="Drop everything else" 
Contoh 1 chain=input 

PC dari VLAN 10 melakukan telnet ke Edge-Router. Jadi PC VLAN 10 mengirimkan packet TCP SYN yang merupakan packet pertama (connection-state=new) ke port 23 (telnet) Router. Ketika Router menerima packet, Router memeriksa packet ini menggunakan rule chain=input. Rule #0 hanya menerima packet dengan connection-state=established,related, sedangkan connection-state packet ini adalah “new”. Jadi packet selanjutnya diperiksa oleh rule #1. Rule #1 hanya menerima packet dari VLAN 42, sedangkan packet ini datang dari VLAN 10. Jadi packet dilanjutkan ke rule #2. Rule #2 hanya menerima packet ICMP dari VLAN Client, sedangkan packet ini meskipun datang dari VLAN 10, akan tetapi bukan packet ICMP. Jadi packet dilanjutkan ke rule #3. Rule #3 hanya menerima packet dari VLAN Client yang tujuannya ke port 53 (DNS), sedangkan tujuan packet ini adalah port 23 (telnet). Maka packet akhirnya sampai ke rule #4 yang men-drop semua packet yang tidak sesuai dengan rule-rule di atasnya. 

Contoh 2 chain=input 

Kali ini PC dari VLAN 42 melakukan telnet ke Edge-Router. PC VLAN 42 mengirimkan packet TCP SYN, connection-state=new ke Router. Rule #0 hanya menerima packet dengan connection-state=established,related, sehingga packet ini selanjutnya diperiksa oleh rule #1. Rule #1 menerima semua jenis packet dari VLAN 42, artinya packet ini sesuai dengan persyaratan rule #1. Karena packet ini sesuai dan di-accept oleh rule #1, maka packet tidak dicek lagi oleh rule #2 dan rule-rule di bawahnya. 

Router memproses packet dan selanjutnya mengirim packet balasan berupa SYN,ACK ke PC VLAN 42. PC VLAN 42 menerima packet SYN,ACK dan kembali membalas dengan packet ACK. Router menerima packet ACK ini dan menandainya dengan connection-state=established, karena packet ACK ini adalah lanjutan dari packet-packet sebelumnya di koneksi yang sama. Firewall kembali memeriksa packet ini dimulai dari rule #0. Packet ACK dengan connection-state=established ini memenuhi syarat rule #0 yang kemudian meng-accept packet ini. Karena rule #0 sudah meng-accept packet ini, maka packet tidak dicek lagi oleh rule-rule di bawahnya. 

Begitulah cara kerja rangkaian rule di atas. Jadi Router akan menerima semua packet dari VLAN 42, karena VLAN 42 adalah VLAN manajemen (trusted). Sedangkan packet dari VLAN lain yang bisa diterima oleh Router hanyalah ICMP dan DNS. 

Forward Chain 

Firewall rule dengan chain=forward adalah rule yang mem-filter packet yang melewati Router. Misalnya trafik dari LAN ke WAN, atau WAN ke LAN. Bukan mem-filter packet yang tujuannya Router itu sendiri. 

ip/firewall/filter

#5 Rule ini menerapkan FastTrack ke packet dengan connection-state=established,related yang melewati Router. Singkatnya, FastTrack adalah fitur pada Mikrotik yang berfungsi untuk mengurangi penggunaan CPU secara drastis dan meningkatkan throughput# 
add action=fasttrack-connection chain=forward comment="Fasttrack established and related conn" connection-state=established,related hw-offload=yes 

#6 Rule ini meng-accept packet dengan connection-state=established,related yang melewati Router# 
add action=accept chain=forward comment="Allow established and related conn" connection-state=established,related 

#7 Rule ini meng-accept semua jenis packet dari VLAN 42 yang melewati Router# 
add action=accept chain=forward comment="Allow all conn from VLAN42" connection-state=new in-interface-list=Management 

#8 Rule ini hanya meng-accept packet yang masuk dari VLAN Client apabila tujuan packet tersebut adalah WAN. Jadi apabila tujuan packet tersebut adalah VLAN lainnya, maka packet tersebut tidak memenuhi syarat untuk di-accept oleh rule ini# 
add action=accept chain=forward comment="Allow Clients to access WAN only, not other Clients" connection-state=new in-interface-list=Client out-interface-list=WAN 

#9 Rule ini men-drop semua packet yang melewati Router yang tidak memenuhi syarat rule-rule sebelumnya# 
add action=drop chain=forward comment="Drop everything else" 
Contoh 1 chain=forward 

PC dari VLAN 10 ingin mengakses Internet. Packet request dari VLAN 10 sampai ke Router. Packet ini termasuk chain=forward karena destination packet bukan Router itu sendiri alias hanya lewat. Firewall dengan chain=forward kemudian mengecek packet ini dimulai dari rule #5. Rule #5 dan #6 jelas tidak meng-accept packet ini karena connection-state dari packet ini adalah “new”. Rule #7 hanya menerima semua jenis packet apabila sumbernya adalah VLAN 42, sedangkan packet ini datang dari VLAN 10. Sedangka rule #8 menerima packet dari VLAN Client apabila tujuannya adalah WAN. Jadi packet ini memenuhi persyaratan dari rule #8, maka packet diteruskan ke WAN. 

Kemudian packet balasan untuk PC VLAN 10 akan datang dari WAN (Internet), misalnya packet SYN,ACK. Karena packet SYN,ACK ini adalah lanjutan dari packet sebelumnya, maka connection-state packet ini adalah “established”. Jadi packet ini memenuhi persyaratan rule #5 dan #6, dan Router meneruskan packet ini ke PC VLAN 10. 

Contoh 2 chain=forward 

PC dari VLAN 10 melakukan ping ke PC di VLAN 20. Packet ICMP sampai ke Router dan diperiksa oleh rule dengan chain=forward. Karena tidak ada rule pada chain=forward yang meng-accept packet yang datang dari VLAN Client yang tujuannya ke VLAN Client lainnya, maka rule #9 akan men-drop packet ini. 

Contoh 3 chain=forward 

PC dari VLAN 42 (manajemen) melakukan ping ke PC di VLAN 10. Packet ICMP request sampai ke Router. Connection-state packet ini adalah “new”, jadi tidak memenuhi syarat rule #5 dan #6. Rule #7 meng-accept semua jenis packet yang datang dari VLAN 42 yang melewati Router, jadi packet ini memenuhi syarat dari rule #7. Router kemudian meneruskan packet ICMP request ini ke PC VLAN 10. PC VLAN 10 kemudian membalas dengan packet ICMP reply. Packet ICMP reply sampai ke Router. Router menandai packet ini dengan connection-state=related karena ICMP reply ini berhubungan dengan ICMP request sebelumnya. Packet ini memenuhi persyaratan rule #5 atau #6, sehingga Router meneruskan packet ke PC VLAN 42. 

Contoh 4 chain=forward 

PC dari VLAN 10 melakukan telnet ke Core-Switch. Router menerima packet dari PC VLAN 10 dan memeriksanya dengan rule pada chain=forward. IP yang dipasang pada Core-Switch ada di VLAN 42. Dan tidak ada rule chain=forward yang meng-accept packet dari VLAN Client apabila tujuannya ke VLAN lainnya. Jadi packet ini akan di-drop oleh Router. 

Dengan rangkaian rule chain=input dan chain=forward ini, maka perangkat-perangkat jaringan seperti Router dan Switch hanya bisa diakses dari VLAN 42 saja. Dengan kata lain kita telah mengisolasi VLAN 42 dari VLAN lainnya. 

Kesimpulan 

Firewall dapat dipahami sebagai alat yang digunakan untuk mengizinkan akses untuk siapa ke mana, dan membatasi akses untuk siapa ke mana. 

Untuk memastikan keamanan jaringan pada topologi sederhana seperti pada tulisan ini, maka kita menerapkan beberapa konfigurasi firewall yang sederhana juga. Firewall pada tulisan ini hanya cocok apabila topologi dan tujuan jaringannya seperti pada tulisan ini. Sedangkan untuk datacenter di mana server-server digunakan sebagai web server atau service lainnya, tentu konfigurasi firewall-nya juga akan berbeda. Dokumentasi resmi mengenai firewall Mikrotik bisa dilihat di sini.

Updated on January 9, 2025

Was this article helpful?

Comments

  1. Terima kasih untuk artikelnya yang informatif! Saya ingin bertanya, apakah konfigurasi firewall yang dijelaskan di sini sudah cukup optimal untuk penggunaan jaringan kantor kecil dengan sekitar 20 perangkat? Apakah ada rekomendasi tambahan untuk meningkatkan keamanan, misalnya dalam hal manajemen akses atau perlindungan terhadap serangan dari luar?

    Salam,
    Hanifah

    1. Tulisan ini hanya memuat basis nya saja dalam mengamankan suatu jaringan. Untuk penggunaan yang lebih spesifik, tentu perlu penyesuaian lagi. Misalnya jika perusahaan memiliki server yang bisa diakses dari publik, maka diperlukan konfigurasi firewall untuk mengamankan akses ke server tersebut, misalnya untuk mencegah brute force. Untuk keamanan yang lebih tinggi, sebaiknya gunakan firewall tersendiri dengan fitur IDS atau IPS.

Leave a Comment