🚀 Lihat Portfolio Saya

MIKROTIK ROUTEROS

Membuat Filter Rules (Input, Output, Forward) pada Firewall MikroTik
Konfigurasi aturan firewall untuk keamanan jaringan optimal
Informasi Penulis
Penulis: Jovian Ekasakta
Guru: Arief Wahyudin
Kelas: XI TJKT 03
Sekolah: Dwija Bhakti 01 Jombang

# topologi yang digunakan

SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3

KONSEP DASAR FIREWALL MIKROTIK

Dari sumber MikroTik Documentation (2024), firewall pada MikroTik mengimplementasikan packet filtering yang menyediakan fungsi keamanan untuk mengelola aliran data ke, dari, dan melalui router. Bersama dengan Network Address Translation, firewall berfungsi sebagai alat untuk mencegah akses tidak sah ke jaringan yang langsung terhubung dan router itu sendiri, serta sebagai filter untuk lalu lintas keluar.

Dari sumber NetworkTik (2024), MikroTik Firewall memiliki berbagai fitur seperti filter rules, NAT translation, packet marking, service port helpers, dan banyak lagi untuk melindungi jaringan Anda. Seluruh komponen ini bekerja bersama untuk membentuk sistem keamanan yang komprehensif.

Firewall MikroTik memiliki tiga chain utama yang masing-masing memiliki fungsi spesifik dalam pemfilteran paket data. Ketiga chain ini bekerja secara hirarkis dan memiliki peran penting dalam melindungi router dan jaringan yang terhubung.

Pengertian Chain pada Firewall MikroTik

Dari sumber MikroTik Wiki (2024), terdapat tiga chain yang telah didefinisikan sebelumnya dan tidak dapat dihapus: input - digunakan untuk memproses paket yang memasuki router melalui salah satu interface dengan alamat IP tujuan yang merupakan salah satu alamat router.

Dari sumber Forum MikroTik (2023), penjelasan singkat tentang berbagai chain adalah sebagai berikut:

Chain INPUT - Traffic yang ditujukan ke router MikroTik
# Contoh: Koneksi Winbox, SSH, Web Admin, Ping ke router
Chain FORWARD - Traffic yang melewati router menuju tujuan lain
# Contoh: Lalu lintas dari LAN ke Internet atau antar jaringan
Chain OUTPUT - Traffic yang berasal dari router MikroTik
# Contoh: DNS query yang dilakukan router, NTP update

Dari sumber VRealmatic (2023), chain input menangani lalu lintas masuk ke router (layanan router dan antarmuka) - misalnya, upaya login melalui SSH atau Winbox. Di sini, Anda dapat menentukan aturan untuk memblokir akses tidak sah atau untuk mengizinkan lalu lintas hanya dari sumber terpercaya.

Dari sumber yang sama, chain forward menangani lalu lintas yang melewati router, tidak ditujukan untuk router itu sendiri. Ini adalah lalu lintas antara jaringan yang berbeda, misalnya, antara jaringan internal dan internet.

Selanjutnya, chain output mengontrol lalu lintas keluar dari router - mengontrol lalu lintas yang dihasilkan oleh router dan menuju keluar darinya. Ini mencakup paket yang dikirim dari router ke perangkat atau jaringan lain.

Perlu diperhatikan bahwa urutan pemrosesan aturan firewall sangat penting. Paket data akan diproses berdasarkan urutan aturan dari atas ke bawah. Ketika sebuah paket cocok dengan kriteria suatu aturan, tindakan yang ditentukan akan dilakukan dan aturan selanjutnya tidak akan diproses (kecuali untuk tindakan passthrough).

Dari 2 pendapat tersebut dapat disimpulkan bahwa firewall MikroTik memiliki tiga chain utama (input, forward, dan output) yang masing-masing berfungsi untuk menangani lalu lintas data yang berbeda. Chain input menangani paket yang ditujukan ke router, chain forward menangani paket yang melewati router, dan chain output menangani paket yang berasal dari router. Pemahaman tentang ketiga chain ini sangat penting untuk membangun konfigurasi firewall yang efektif dan aman.

1. INPUT CHAIN RULES

SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3
SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3

Pengertian dan Fungsi Input Chain

Dari sumber MikroTik Documentation (2024), input chain digunakan untuk memproses paket yang memasuki router melalui salah satu interface dengan alamat IP tujuan yang merupakan salah satu alamat router. Chain ini menjadi garis pertahanan pertama untuk router MikroTik Anda.

Dari sumber NetworkTik (2024), Chain Input berarti lalu lintas yang ditujukan dan berakhir di router MikroTik itu sendiri. Contohnya ketika Anda membuka sesi Winbox ke router MikroTik, itu termasuk chain input karena lalu lintas menuju ke router itu sendiri. Begitu juga jika Anda melakukan SSH ke router, atau ping ke router. Semua ini termasuk dalam chain input.

Input chain mengontrol akses ke router itu sendiri, termasuk layanan manajemen seperti Winbox, SSH, dan WebFig. Mengamankan chain ini sangat krusial karena berhubungan langsung dengan keamanan perangkat router Anda.

Membuat Aturan Input Chain Dasar

Dari sumber MikroTik Troubleshooting Guide (2024), aturan dasar yang penting untuk ditambahkan di input chain adalah menerima koneksi yang sudah established dan related:

/ip firewall filter add action=accept chain=input comment="default configuration" connection-state=established,related
# Menerima paket dari koneksi yang sudah dibuat sebelumnya

Dari sumber ShellHacks (2023), salah satu aturan default yang penting adalah memeriksa paket yang masuk ke router apakah mereka merupakan bagian dari koneksi ESTABLISHED, RELATED, atau telah ditandai sebagai UNTRACKED:

/ip firewall filter add action=accept chain=input comment="accept established,related,untracked" connection-state=established,related,untracked
# Menerima koneksi yang sudah dibuat dan terkait

Selanjutnya, penting untuk menambahkan aturan untuk ICMP (ping) agar router dapat dideteksi dalam jaringan:

/ip firewall filter add action=accept chain=input protocol=icmp
# Mengizinkan ping ke router

Aturan untuk mengizinkan akses dari jaringan lokal (misalnya untuk manajemen):

/ip firewall address-list add address=192.168.88.0/24 list=allowed_to_router
# Membuat daftar alamat yang diizinkan
/ip firewall filter add action=accept chain=input src-address-list=allowed_to_router
# Mengizinkan akses dari jaringan lokal

Dan akhirnya, menambahkan aturan untuk menolak semua akses lainnya:

/ip firewall filter add action=drop chain=input
# Menolak semua akses yang tidak diizinkan sebelumnya

Contoh Konfigurasi Input Chain Lengkap

Berikut adalah contoh konfigurasi input chain yang lebih lengkap:

# Menerima koneksi yang sudah established dan related
/ip firewall filter add action=accept chain=input connection-state=established,related,untracked
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=input connection-state=invalid
# Mengizinkan ICMP (ping)
/ip firewall filter add action=accept chain=input protocol=icmp
# Mengizinkan akses SSH dari jaringan lokal
/ip firewall filter add action=accept chain=input protocol=tcp dst-port=22 src-address=192.168.88.0/24
# Mengizinkan akses Winbox dari jaringan lokal
/ip firewall filter add action=accept chain=input protocol=tcp dst-port=8291 src-address=192.168.88.0/24
# Mengizinkan akses WebFig dari jaringan lokal
/ip firewall filter add action=accept chain=input protocol=tcp dst-port=80 src-address=192.168.88.0/24
# Menolak semua akses lainnya
/ip firewall filter add action=drop chain=input

Pastikan Anda tidak mengunci diri sendiri dari akses router saat mengonfigurasi input chain. Selalu periksa kembali aturan yang diterapkan dan pastikan ada jalur akses aman dari jaringan lokal Anda. Jika Anda tidak yakin, gunakan fitur timeout pada aturan pertama kali Anda menerapkannya.

Verifikasi Aturan Input Chain

Untuk memeriksa aturan input chain yang telah dikonfigurasi:

/ip firewall filter print where chain=input
# Menampilkan semua aturan di input chain

Untuk melihat statistik aturan:

/ip firewall filter print stats where chain=input
# Menampilkan statistik aturan di input chain
Flags: X - disabled, I - invalid, D - dynamic
# CHAIN ACTION BYTES PACKETS
0 input accept 2356786 18453
1 input drop 125943 2434
2 input accept 634926 7648
3 input drop 4288079 83428

Dari 2 pendapat tersebut dapat disimpulkan bahwa input chain adalah komponen krusial dalam keamanan router MikroTik karena melindungi akses langsung ke router. Konfigurasi input chain yang tepat mencakup menerima koneksi established dan related, mengizinkan protokol seperti ICMP secara terbatas, mengizinkan akses manajemen hanya dari jaringan lokal yang terpercaya, dan menolak semua lalu lintas lainnya. Penting untuk menerapkan prinsip "least privilege" dalam mengonfigurasi input chain agar tidak ada celah keamanan yang terbuka.

2. FORWARD CHAIN RULES

SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3
SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3

Pengertian dan Fungsi Forward Chain

Dari sumber MikroTik Wiki (2024), forward chain digunakan untuk memproses paket yang melewati router. Chain ini menangani semua lalu lintas yang bergerak melalui router tetapi tidak ditujukan untuk router itu sendiri.

Dari sumber NetworkTik (2024), sebagai contoh, jika Anda memiliki PC di LAN dan ingin mengakses google.com di browser Anda, maka lalu lintas berasal dari PC Anda, melewati router menuju server google.com di internet. Inilah yang disebut chain forward.

Forward chain mengontrol aliran data antar jaringan yang terhubung melalui router MikroTik. Ini sangat penting untuk mengatur lalu lintas dari jaringan lokal ke internet dan sebaliknya, serta antara berbagai segmen jaringan internal.

Membuat Aturan Forward Chain Dasar

Dari sumber MikroTik Documentation (2024), Forward chain akan memiliki lebih banyak aturan daripada input: menerima koneksi established, related dan untracked; FastTrack koneksi established dan related (saat ini hanya IPv4); dan berbagai aturan lainnya untuk melindungi serangan langsung pada klien.

Berikut adalah aturan dasar untuk forward chain:

# Mengaktifkan FastTrack untuk koneksi established dan related
/ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related
# Menerima koneksi established, related, dan untracked
/ip firewall filter add action=accept chain=forward connection-state=established,related,untracked
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=forward connection-state=invalid

Dari sumber MikroTik Advanced Firewall (2023), aturan penting lainnya termasuk menerima lalu lintas yang sesuai dengan kebijakan IPSec, melindungi dari paket yang tidak di-NAT, dan menolak alamat IP yang tidak boleh di-forward:

# Menerima lalu lintas yang sesuai dengan kebijakan IPSec
/ip firewall filter add action=accept chain=forward ipsec-policy=in,ipsec
# Menolak lalu lintas dari WAN yang tidak melalui DSTNAT
/ip firewall filter add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

Membuat Address Lists untuk Forward Chain

Dari sumber MikroTik Documentation (2024), sebelum membuat aturan yang sebenarnya, diperlukan untuk membuat address-list yang berisi semua alamat IPv4/6 yang tidak dapat di-forward. Perhatikan bahwa dalam daftar ini rentang alamat multicast ditambahkan.

# Membuat address list untuk alamat yang tidak boleh di-forward
/ip firewall address-list add address=0.0.0.0/8 comment="RFC6890" list=no_forward_ipv4
/ip firewall address-list add address=169.254.0.0/16 comment="RFC6890" list=no_forward_ipv4
/ip firewall address-list add address=224.0.0.0/4 comment="multicast" list=no_forward_ipv4
/ip firewall address-list add address=255.255.255.255/32 comment="RFC6890" list=no_forward_ipv4
# Menolak forwarding untuk alamat dalam list
/ip firewall filter add action=drop chain=forward src-address-list=no_forward_ipv4
/ip firewall filter add action=drop chain=forward dst-address-list=no_forward_ipv4

Contoh Konfigurasi Forward Chain Lengkap

Berikut adalah contoh konfigurasi forward chain yang lengkap:

# FastTrack untuk koneksi established dan related
/ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related
# Menerima koneksi established, related, dan untracked
/ip firewall filter add action=accept chain=forward connection-state=established,related,untracked
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=forward connection-state=invalid log=yes
# Menerima lalu lintas IPSec
/ip firewall filter add action=accept chain=forward ipsec-policy=in,ipsec
/ip firewall filter add action=accept chain=forward ipsec-policy=out,ipsec
# Menolak lalu lintas dari WAN yang tidak melalui DSTNAT
/ip firewall filter add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
# Menolak lalu lintas dari/ke alamat yang tidak boleh di-forward
/ip firewall filter add action=drop chain=forward src-address-list=no_forward_ipv4
/ip firewall filter add action=drop chain=forward dst-address-list=no_forward_ipv4

Dari sumber VRealmatic (2023), aturan FastTrack (chain=forward action=fasttrack-connection) memungkinkan pemrosesan lalu lintas reguler yang lebih cepat dengan melewati beberapa pemeriksaan lebih lanjut. Ini harus ditempatkan relatif tinggi dalam daftar aturan tetapi setelah aturan yang menolak lalu lintas invalid dan berpotensi berbahaya.

Pastikan untuk selalu menerapkan prinsip "deny by default" pada forward chain, artinya hanya mengizinkan lalu lintas yang secara eksplisit diizinkan dan menolak semua lalu lintas lainnya. Ini akan memberikan tingkat keamanan yang lebih tinggi untuk jaringan Anda.

Verifikasi Aturan Forward Chain

Untuk memeriksa aturan forward chain yang telah dikonfigurasi:

/ip firewall filter print where chain=forward
# Menampilkan semua aturan di forward chain

Untuk melihat statistik aturan:

/ip firewall filter print stats where chain=forward
# Menampilkan statistik aturan di forward chain
Flags: X - disabled, I - invalid, D - dynamic
# CHAIN ACTION BYTES PACKETS
0 D forward passthrough 50507925242 50048246
1 forward fasttrack-connection 28505528775 31504682
2 forward accept 28505528775 31504682
3 forward drop 432270 9719

Dari 2 pendapat tersebut dapat disimpulkan bahwa forward chain adalah komponen penting dalam keamanan jaringan karena mengontrol lalu lintas yang melewati router MikroTik antara berbagai jaringan. Konfigurasi forward chain yang efektif mencakup penggunaan FastTrack untuk meningkatkan kinerja, menerima koneksi yang sudah established dan related, menolak koneksi invalid, dan menerapkan pembatasan untuk alamat IP yang tidak boleh di-forward. Forward chain juga penting untuk melindungi jaringan lokal dari ancaman eksternal dengan menolak lalu lintas dari WAN yang tidak melalui DSTNAT.

3. OUTPUT CHAIN RULES

SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3
SERVICE IP pada MikroTik RouterOS
Tampilan topologi di gns3

Pengertian dan Fungsi Output Chain

Dari sumber MikroTik Wiki (2024), output chain digunakan untuk memproses paket yang berasal dari router dan meninggalkannya melalui salah satu interface.

Dari sumber NetworkTik (2024), Chain Output berkaitan dengan lalu lintas yang berasal dari router MikroTik dan menuju ke tempat lain. Misalnya, jika Anda melakukan ping dari router MikroTik itu sendiri ke google.com, itu termasuk dalam chain output.

Output chain umumnya kurang diperketat dibandingkan dengan input dan forward chain, karena lalu lintas yang dihasilkan oleh router sendiri biasanya sudah terpercaya. Namun, mengonfigurasi output chain dengan tepat tetap penting untuk mencegah komunikasi yang tidak diinginkan jika router terinfeksi malware.

Membuat Aturan Output Chain Dasar

Dari sumber Forum MikroTik (2013), biasanya hanya ada satu aturan output yang mengizinkan semua lalu lintas, sehingga sebenarnya tidak melakukan apa-apa karena semua lalu lintas diizinkan secara default.

Namun, untuk keamanan yang lebih baik, berikut adalah beberapa aturan output chain dasar:

# Menerima semua koneksi established dan related
/ip firewall filter add action=accept chain=output connection-state=established,related
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=output connection-state=invalid

Dari sumber VRealmatic (2023), output chain mengontrol lalu lintas yang dihasilkan oleh router dan menuju keluar darinya. Ini mencakup paket yang dikirim dari router ke perangkat atau jaringan lain. Chain ini dapat digunakan untuk memantau atau membatasi lalu lintas keluar dari router, seperti peringatan sistem, kueri DNS, atau upaya pembaruan firmware.

Contoh Konfigurasi Output Chain Khusus

Berikut adalah contoh konfigurasi output chain yang lebih spesifik:

# Menerima semua koneksi established dan related
/ip firewall filter add action=accept chain=output connection-state=established,related
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=output connection-state=invalid
# Mengizinkan DNS query
/ip firewall filter add action=accept chain=output protocol=udp dst-port=53
# Mengizinkan NTP update
/ip firewall filter add action=accept chain=output protocol=udp dst-port=123
# Mengizinkan ICMP
/ip firewall filter add action=accept chain=output protocol=icmp
# Mengizinkan akses ke server pembaruan MikroTik
/ip firewall filter add action=accept chain=output dst-address=159.148.172.0/24
# Menolak semua lalu lintas lainnya
/ip firewall filter add action=drop chain=output

Berhati-hatilah saat mengonfigurasi aturan output chain yang sangat ketat, karena dapat mengganggu fungsi penting router seperti pembaruan waktu, resolusi DNS, atau akses ke server pembaruan. Selalu pastikan Anda mengizinkan lalu lintas yang diperlukan untuk operasi normal router.

Verifikasi Aturan Output Chain

Untuk memeriksa aturan output chain yang telah dikonfigurasi:

/ip firewall filter print where chain=output
# Menampilkan semua aturan di output chain

Untuk melihat statistik aturan:

/ip firewall filter print stats where chain=output
# Menampilkan statistik aturan di output chain
Flags: X - disabled, I - invalid, D - dynamic
# CHAIN ACTION BYTES PACKETS
0 output accept 134562 2134
1 output drop 0 0
2 output accept 8742 158

Dari 2 pendapat tersebut dapat disimpulkan bahwa output chain adalah bagian dari firewall MikroTik yang menangani lalu lintas yang dihasilkan oleh router itu sendiri. Meskipun sering kali kurang dibatasi dibandingkan input dan forward chain, mengonfigurasi output chain dengan tepat dapat memberikan lapisan keamanan tambahan dengan membatasi jenis lalu lintas yang dapat diinisiasi oleh router. Konfigurasi yang umum mencakup mengizinkan koneksi established dan related, DNS query, NTP update, dan mengizinkan akses ke server pembaruan MikroTik sambil menolak lalu lintas lainnya.

4. PRAKTIK TERBAIK KONFIGURASI FIREWALL

Urutan Aturan Firewall

Dari sumber Forum MikroTik (2020), urutan aturan sangat penting, karena memengaruhi jumlah pemrosesan yang diperlukan untuk setiap paket. Aturan yang paling sering digunakan harus diletakkan sebelum aturan yang jarang digunakan.

Dari sumber ShellHacks (2023), ketika memproses sebuah chain, aturan diambil dari chain dalam urutan yang tercantum di sana dari atas ke bawah. Jika sebuah paket cocok dengan kriteria aturan, maka tindakan yang ditentukan akan dilakukan padanya, dan tidak ada lagi aturan yang diproses dalam chain tersebut (pengecualian adalah tindakan PASSTHROUGH).

# Urutan yang direkomendasikan untuk Input Chain
1. Menerima koneksi established,related,untracked
2. Menolak koneksi invalid
3. Menerima ICMP (dengan pembatasan)
4. Menerima akses dari jaringan lokal
5. Menerima layanan tertentu (SSH, Winbox, dll)
6. Menolak semua lalu lintas lainnya
# Urutan yang direkomendasikan untuk Forward Chain
1. FastTrack untuk koneksi established,related
2. Menerima koneksi established,related,untracked
3. Menolak koneksi invalid
4. Menerima lalu lintas IPSec
5. Menerima lalu lintas yang diizinkan (berdasarkan port, protokol, dll)
6. Menolak lalu lintas yang tidak diinginkan

Penggunaan Connection Tracking

Dari sumber MikroTik Documentation (2024), firewall MikroTik mengimplementasikan packet filtering stateful (dengan memanfaatkan connection tracking) dan stateless untuk menyediakan fungsi keamanan yang digunakan untuk mengelola aliran data ke, dari, dan melalui router.

Contoh penggunaan connection tracking:

# Mengizinkan koneksi established dan related
/ip firewall filter add action=accept chain=input connection-state=established,related
# Menolak koneksi invalid
/ip firewall filter add action=drop chain=input connection-state=invalid
# Mengizinkan koneksi baru hanya untuk protokol tertentu
/ip firewall filter add action=accept chain=input connection-state=new protocol=tcp dst-port=22,8291

Penggunaan Address Lists

Dari sumber Basic Universal Firewall Script (2023), pertama kita perlu membuat ADDRESS LIST dengan semua IP yang akan kita gunakan sebagian besar waktu.

# Membuat address list untuk jaringan yang diizinkan mengakses router
/ip firewall address-list add address=192.168.88.0/24 list=allowed_to_router
# Membuat address list untuk alamat yang tidak boleh di-forward
/ip firewall address-list add address=0.0.0.0/8 list=no_forward_ipv4
# Menggunakan address list dalam aturan firewall
/ip firewall filter add action=accept chain=input src-address-list=allowed_to_router
/ip firewall filter add action=drop chain=forward src-address-list=no_forward_ipv4

Monitoring dan Troubleshooting

Dari sumber MikroTik Documentation (2024), untuk melihat statistik pencocokan berdasarkan aturan firewall, jalankan perintah /ip firewall filter print stats atau /ipv6 firewall filter print stats untuk firewall IPv6.

# Melihat statistik aturan firewall
/ip firewall filter print stats
# Melihat log firewall
/log print where topics~"firewall"
# Mengaktifkan log untuk aturan tertentu
/ip firewall filter add action=drop chain=input connection-state=invalid log=yes log-prefix="invalid-input"

Selalu lakukan backup konfigurasi sebelum melakukan perubahan besar pada firewall. Jika sesuatu tidak berjalan sesuai rencana, Anda dapat dengan cepat mengembalikan konfigurasi yang berfungsi. Juga, pertimbangkan untuk menggunakan fitur timeout saat menerapkan aturan baru untuk menghindari terkunci keluar dari router.

Dari 2 pendapat tersebut dapat disimpulkan bahwa praktik terbaik dalam konfigurasi firewall MikroTik meliputi penempatan aturan yang tepat dengan aturan yang paling sering digunakan ditempatkan di atas, penggunaan connection tracking untuk membedakan berbagai jenis koneksi, penggunaan address lists untuk manajemen alamat IP yang lebih efisien, dan monitoring rutin untuk memastikan firewall berfungsi sebagaimana mestinya. Mengikuti praktik-praktik ini akan membantu memastikan bahwa firewall MikroTik Anda tidak hanya aman tetapi juga efisien dalam memproses lalu lintas jaringan.

DAFTAR PUSTAKA