RB941 hAP lite cocok untuk firewall skala kecil-menengah. Dengan CPU AR9344 650MHz, RB941 bisa handle
~50-100 filter rules dengan performa yang memadai untuk jaringan rumah/kantor kecil.
CPU
AR9344 - 650MHz
RAM
32 MB DDR2
STORAGE
16 MB FLASH
ETHERNET
4x 10/100 Mbps
WIRELESS
2.4GHz b/g/n
FIREWALL
STATEFUL
FILTER RULES
~50-100
CLIENT MAX
~20 DEVICE
POWER
5V DC / USB
OS
RouterOS v6 L4
DIMENSI
113 x 89 x 28mm
BERAT
160 gram
KEMAMPUAN FIREWALL: RB941 bisa handle 50-100 filter rules dengan CPU load <50%. Untuk rule >200 atau traffic tinggi, pertimbangkan upgrade ke hAP ac^2 atau CCR series.
TOPOLOGI FIREWALL
SCHEMA
// TOPOLOGI FIREWALL MIKROTIK //[ INTERNET / ATTACKER ]
|
| kabel UTP
v
+--------------------------------------+
| MikroTik RB941 |
| FIREWALL SECURITY |
| |
| ether1 = WAN (untrusted) |
| |
| [ FIREWALL FILTER ] |
| |- chain=input (protect router) |
| |- chain=forward (protect LAN) |
| |- address-list (blocklist) |
| |- port scanner detect |
| |- brute force protect |
| |- anti spoofing |
| |
| bridge1 (LAN - trusted) |
| |- ether2-4 + wlan1 |
+--------------------------------------+
|
v
[ PC / LAPTOP / HP ]-- protected by firewall
FIREWALL LAYERS: (1) Input chain = melindungi router itu sendiri dari akses WAN. (2) Forward chain = melindungi client LAN dari akses WAN. (3) Address list = blocklist IP berbahaya. (4) Connection tracking = stateful inspection.
ANIMASI FIREWALL FLOW
LIVE FLOW
Visualisasi firewall filtering: packet dari internet masuk, diperiksa oleh firewall rules.
Hijau = allowed (established/related),
Merah = dropped (invalid/scan/brute force).
Allowed (Established/Related)
Dropped (Scan/Brute Force)
Response Packet
Request Packet
STATEFUL FIREWALL: MikroTik firewall melakukan stateful inspection. Packet yang merupakan bagian dari koneksi yang sudah established otomatis di-accept. Packet baru dari WAN yang tidak valid (scan, brute force) di-drop.
KONSEP DASAR FIREWALL MIKROTIK
FUNDAMENTAL
Firewall MikroTik adalah stateful packet filter. Artinya firewall mengingat state koneksi
(new, established, related, invalid) dan membuat keputusan berdasarkan state tersebut. Ini lebih efisien dan aman
daripada stateless firewall.
FIREWALL CHAINS
chain=input
Packet yang dituju ke ROUTER itu sendiri (SSH, Winbox, DNS query ke router)
chain=forward
Packet yang LEWAT router dari LAN ke WAN atau sebaliknya (client browsing)
chain=output
Packet yang DIHASILKAN router (DNS response, DHCP reply, dll)
CONNECTION STATES
STATE
ARTI
CONTOH
new
Koneksi baru, packet pertama
SYN packet (awal TCP handshake)
established
Koneksi sudah established
Packet setelah TCP handshake selesai
related
Koneksi terkait dengan koneksi established
FTP data connection, ICMP error
invalid
Packet tidak valid
Packet yang tidak belong ke koneksi manapun
FIREWALL ACTIONS
ACTION
FUNGSI
KEGUNAAN
accept
Terima packet, lanjutkan
Allow traffic yang valid
drop
Buang packet, tidak kirim reply
Block traffic berbahaya (stealth)
reject
Buang packet, kirim reply (ICMP unreachable)
Block tapi beri tahu pengirim
jump
Lompat ke chain lain
Organisasi rule kompleks
log
Log packet ke system log
Monitoring & debugging
add-src-to-address-list
Tambah IP ke address list
Deteksi port scanner, brute force
PRINSIP FIREWALL YANG BAIK
DEFAULT DROP
Default policy = DROP semua. Hanya ACCEPT yang eksplisit diizinkan. Lebih aman daripada default accept.
ESTABLISHED FIRST
Rule accept established/related HARUS di paling atas. Lebih efisien karena mayoritas traffic adalah established.
SPECIFIC FIRST
Rule spesifik di atas, rule general di bawah. Rule pertama yang match akan dieksekusi.
LOG IMPORTANT
Log rule drop untuk monitoring. Tapi jangan log semua rule (bisa membanjiri log dan memberatkan CPU).
PERINGATAN: Salah konfigurasi firewall bisa mengunci Anda dari router! Selalu sediakan akses fisik (tombol reset) sebagai backup. Test rule di lab environment sebelum production.
PERSIAPAN SEBELUM KONFIGURASI
STEP 01
Pastikan router sudah dikonfigurasi dasar sebelum setup firewall.
YANG HARUS DISIAPKAN
ITEM
KETERANGAN
CATATAN
Router RB941
Sudah terpasang adaptor 5V
LED PWR harus menyala
Kabel UTP
Minimal 2 buah (straight)
1 untuk WAN, 1 untuk PC
PC/Laptop
Dengan port ethernet
Untuk akses awal via kabel
WinBox
Download dari mikrotik.com
Atau pakai browser (WebFig)
Koneksi Dasar
Router sudah bisa internet
DHCP client, NAT, DNS sudah setup
IP Address
IP gateway sudah di-set
Contoh: 192.168.10.1/24
DHCP Server
DHCP server aktif di LAN
Client dapat IP otomatis
PENTING: Pastikan router sudah bisa akses internet SEBELUM setup firewall. Jika firewall salah config, Anda bisa kehilangan akses. Test ping ke 8.8.8.8 dulu.
RESET & AKSES ROUTER
STEP 02
Jika router bekas pakai atau ingin mulai dari nol, reset ke factory default.
VIA HARDWARE
1
Cabut power router
2
Tekan tombol RESET dengan pin
3
Colok power sambil tekan RESET
4
Tunggu ~5 detik sampai LED ACT berkedip
5
Lepas tombol, router reboot
6
Tunggu 1-2 menit sampai fully boot
VIA CLI
# Reset dengan default config[admin@MikroTik] > /system reset-configurationDo you really want to resetconfiguration? [y/N]y
AKSES ROUTER
VIA WINBOX
1
Colok kabel UTP dari PC ke ether2
2
Buka WinBox
3
Tab Neighbors, klik MAC address
4
Login: admin | Password: (kosong)
VIA WEBFIG
1
Buka browser
2
Ketik: http://192.168.88.1
3
Login: admin | Password: (kosong)
PENTING: Selalu connect via MAC address di WinBox. Jika IP berubah atau salah konfigurasi, Anda masih bisa akses via MAC.
IDENTITY & GANTI PASSWORD
STEP 03
Beri nama router dan GANTI PASSWORD ADMIN. WAJIB sebelum router terhubung internet.
VIA CLI
# 1. Set identity[admin@MikroTik] > /system identity set name="FW-GATEWAY"# 2. Ganti password admin (WAJIB!)[admin@FW-GATEWAY] > /user set admin password="Rozak@FW2024!"# 3. Cek list user[admin@FW-GATEWAY] > /user print # NAME GROUP 0 admin full
VIA WINBOX
1
Menu: System -> Identity -> Name: FW-GATEWAY
2
Menu: System -> Users
3
Double-click admin -> tombol Password
4
Password baru (min 12 karakter)
KRITIS: Password admin harus KUAT. Minimal 12 karakter, kombinasi huruf besar, kecil, angka, dan simbol. CATAT di tempat aman.
CEK & NAMA INTERFACE
STEP 04
Cek interface, beri nama yang jelas. ether1 = WAN, ether2-4 = LAN.
VIA CLI
# 1. Cek interface[admin@FW-GATEWAY] > /interface print # NAME TYPE MTU 0 ether1 ether 1500 1 ether2 ether 1500 2 ether3 ether 1500 3 ether4 ether 1500# 2. Rename interface[admin@FW-GATEWAY] > /interface set ether1 name="WAN"[admin@FW-GATEWAY] > /interface set ether2 name="LAN1"[admin@FW-GATEWAY] > /interface set ether3 name="LAN2"[admin@FW-GATEWAY] > /interface set ether4 name="LAN3"
VIA WINBOX
1
Menu: Interfaces
2
Double-click ether1 -> Name: WAN
3
Ulangi untuk ether2-4: LAN1, LAN2, LAN3
BRIDGE SETUP
STEP 05
Bridge menyatukan LAN (ether2-4) menjadi satu jaringan.
90%+ traffic adalah established. Rule ini di paling atas agar efisien. Packet established langsung di-accept tanpa cek rule lain.
DROP INVALID
Packet invalid = tidak valid (malformed, tidak belong ke koneksi manapun). Drop untuk keamanan.
STATEFUL INSPECTION
Firewall mengingat state koneksi. Packet yang merupakan bagian dari koneksi established otomatis di-accept.
EFFICIENT
Dengan rule established first, firewall tidak perlu cek semua rule untuk setiap packet. Lebih cepat dan hemat CPU.
WAJIB: Rule accept established/related HARUS di paling atas. Jika di bawah rule drop, koneksi yang sudah established akan ter-drop dan internet akan putus!
PROTECT ROUTER (CHAIN=INPUT)
FIREWALL CORE
Chain input melindungi ROUTER ITU SENDIRI dari akses WAN. Tanpa rule ini, attacker dari internet bisa akses SSH, Winbox, DNS router.
VIA CLI
# 1. ACCEPT established/related (WAJIB)[admin@FW-GATEWAY] > /ip firewall filter addchain=inputconnection-state=established,relatedaction=acceptin-interface=ether1comment="Accept Input Established"# 2. DROP invalid[admin@FW-GATEWAY] > /ip firewall filter addchain=inputconnection-state=invalidaction=dropin-interface=ether1log=yeslog-prefix="INPUT-INVALID:"# 3. ACCEPT ICMP (ping) - optional[admin@FW-GATEWAY] > /ip firewall filter addchain=inputprotocol=icmpaction=acceptin-interface=ether1comment="Allow ICMP"# 4. DROP semua dari WAN (default deny)[admin@FW-GATEWAY] > /ip firewall filter addchain=inputaction=dropin-interface=ether1log=yeslog-prefix="INPUT-DROP:"# 5. Verifikasi[admin@FW-GATEWAY] > /ip firewall filter print where chain=input # CHAIN ACTION IN-INTERFACE LOG-PREFIX 0 input accept ether1 1 input drop ether1 INPUT-INVALID: 2 input accept ether1 3 input drop ether1 INPUT-DROP:
+ Add Rule 4: Chain: input, In. Interface: ether1, Action: drop
PENJELASAN RULE
RULE
FUNGSI
KETERANGAN
accept established
Accept koneksi yang sudah established
WAJIB di paling atas
drop invalid
Drop packet invalid
Keamanan
accept icmp
Allow ping dari WAN
Optional, untuk troubleshooting
drop all
Drop semua dari WAN
Default deny, melindungi router
PENTING: Rule ini melindungi ROUTER. Jika Anda ingin akses SSH/Winbox dari WAN, tambahkan rule accept SEBELUM rule drop all. Tapi ini tidak recommended untuk keamanan.
PROTECT LAN (CHAIN=FORWARD)
FIREWALL CORE
Chain forward melindungi CLIENT LAN dari akses WAN. Tanpa rule ini, attacker dari internet bisa akses PC, laptop, HP di LAN.
VIA CLI
# 1. ACCEPT established/related (WAJIB)[admin@FW-GATEWAY] > /ip firewall filter addchain=forwardconnection-state=established,relatedaction=acceptcomment="Accept Forward Established"# 2. DROP invalid[admin@FW-GATEWAY] > /ip firewall filter addchain=forwardconnection-state=invalidaction=droplog=yeslog-prefix="FWD-INVALID:"# 3. DROP semua dari WAN ke LAN[admin@FW-GATEWAY] > /ip firewall filter addchain=forwardaction=dropin-interface=ether1log=yeslog-prefix="FWD-DROP:"# 4. Verifikasi[admin@FW-GATEWAY] > /ip firewall filter print where chain=forward # CHAIN ACTION IN-INTERFACE LOG-PREFIX 0 forward accept 1 forward drop FWD-INVALID: 2 forward drop ether1 FWD-DROP:
+ Add Rule 3: Chain: forward, In. Interface: ether1, Action: drop
PENJELASAN RULE
RULE
FUNGSI
KETERANGAN
accept established
Accept koneksi yang sudah established
WAJIB di paling atas
drop invalid
Drop packet invalid
Keamanan
drop all from WAN
Drop semua dari WAN ke LAN
Default deny, melindungi client LAN
PENTING: Rule ini melindungi CLIENT LAN. Client LAN tetap bisa akses internet karena traffic dari LAN ke WAN tidak di-block (tidak match in-interface=ether1).
ADDRESS LIST - BLOCKLIST
FIREWALL ADVANCED
Address list untuk menyimpan daftar IP yang akan di-block. Bisa manual atau otomatis dari deteksi port scanner/brute force.
VIA CLI
# 1. Buat address list manual[admin@FW-GATEWAY] > /ip firewall address-list addlist="blocklist"address=1.2.3.4comment="Known attacker"[admin@FW-GATEWAY] > /ip firewall address-list addlist="blocklist"address=5.6.7.0/24comment="Malicious network"# 2. Block address list di firewall[admin@FW-GATEWAY] > /ip firewall filter addchain=forwardsrc-address-list="blocklist"action=dropin-interface=ether1log=yeslog-prefix="BLOCKLIST:"# 3. Verifikasi[admin@FW-GATEWAY] > /ip firewall address-list print # LIST ADDRESS COMMENT 0 blocklist 1.2.3.4 Known attacker 1 blocklist 5.6.7.0/24 Malicious network
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Address Lists
2
+ Add: List: blocklist, Address: 1.2.3.4
3
+ Add: List: blocklist, Address: 5.6.7.0/24
4
Menu: Tab Filter Rules -> + Add
5
Chain: forward, Src. Address List: blocklist, In. Interface: ether1, Action: drop
TIPE ADDRESS LIST
TIPE
CARA BUAT
KEGUNAAN
Manual
/ip firewall address-list add
Blocklist IP known attacker
Auto (port scanner)
Rule add-src-to-address-list
Auto block port scanner
Auto (brute force)
Rule add-src-to-address-list
Auto block brute force
Whitelist
Manual
Allow IP trusted
TIPS: Address list bisa di-export dan di-import. Berguna untuk backup blocklist atau share blocklist antar router.
PORT SCANNER PROTECTION
FIREWALL ADVANCED
Deteksi dan block port scanner. Port scanner adalah tool yang dipakai attacker untuk scan port terbuka di router.
VIA CLI
# 1. Deteksi port scanner (PSD)[admin@FW-GATEWAY] > /ip firewall filter addchain=inputaction=add-src-to-address-listaddress-list="port-scanners"address-list-timeout=10mprotocol=tcppsd=21:3s,3:1s,1:1s,1:1sin-interface=ether1comment="Detect Port Scanner"# 2. Drop port scanners[admin@FW-GATEWAY] > /ip firewall filter addchain=inputsrc-address-list="port-scanners"action=dropin-interface=ether1log=yeslog-prefix="PORT-SCANNER:"# 3. Verifikasi[admin@FW-GATEWAY] > /ip firewall filter print where comment~"Port Scanner"
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules -> + Add
2
Tab General: Chain: input, Protocol: tcp, In. Interface: ether1
TIPS: PSD (Port Scan Detection) otomatis detect port scanner berdasarkan pola scanning. IP scanner akan di-add ke address-list dan di-drop selama 10 menit.
BRUTE FORCE PROTECTION
FIREWALL ADVANCED
Proteksi dari brute force attack ke SSH, Winbox, FTP, dll. Deteksi dan block IP yang mencoba login berulang kali.
Rule pertama detect connection baru (new) ke port SSH/Winbox. Jika dari IP yang sama berulang kali, IP di-add ke address-list.
BLOCK
Rule kedua drop semua traffic dari IP yang ada di address-list selama 1 jam.
TIMEOUT
Address-list timeout 1 jam. Setelah 1 jam, IP dihapus dari list dan bisa coba lagi.
EFFECTIVE
Efektif untuk block brute force. Attacker tidak bisa coba password berulang kali.
PENTING: Rule detect HARUS di atas rule drop. Dan parameter src-address-list di rule detect harus sama dengan address-list yang sama. Ini untuk menghindari infinite loop.
ANTI SPOOFING
FIREWALL ADVANCED
Block packet dengan IP source yang tidak valid (private IP dari WAN, loopback, dll). Attacker sering spoof IP untuk menyembunyikan identitas.
VIA CLI
# 1. Block private IP dari WAN[admin@FW-GATEWAY] > /ip firewall filter addchain=inputin-interface=ether1src-address=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8action=droplog=yeslog-prefix="SPOOF-PRIVATE:"# 2. Block loopback dari WAN[admin@FW-GATEWAY] > /ip firewall filter addchain=inputin-interface=ether1src-address=127.0.0.0/8action=droplog=yeslog-prefix="SPOOF-LOOPBACK:"# 3. Block broadcast dari WAN[admin@FW-GATEWAY] > /ip firewall filter addchain=inputin-interface=ether1packet-type=broadcastaction=droplog=yeslog-prefix="SPOOF-BROADCAST:"# 4. Verifikasi[admin@FW-GATEWAY] > /ip firewall filter print where log-prefix~"SPOOF"
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules -> + Add
2
Tab General: Chain: input, In. Interface: ether1, Src. Address: 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
TIPS: Anti spoofing efektif untuk mencegah attacker menyembunyikan identitas. IP private dari WAN pasti spoof karena IP private tidak boleh muncul di internet.
RATE LIMIT - ICMP & CONNECTION
FIREWALL ADVANCED
Limit rate ICMP (ping flood) dan connection rate untuk mencegah DoS attack.
Tab General: Chain: input, Protocol: icmp, In. Interface: ether1
3
Tab Extra: Limit: 10,5 (10 packet, burst 5)
4
Tab Action: Action: accept
5
+ Add rule kedua: Chain: input, Protocol: icmp, Action: drop
PARAMETER LIMIT
PARAMETER
FORMAT
ARTI
limit
rate,burst
Rate = packet/5 detik, Burst = burst size
10,5
ICMP
10 ICMP packet per 5 detik, burst 5
50,10
TCP new
50 connection baru per 5 detik, burst 10
TIPS: Rate limit efektif untuk mencegah DoS attack sederhana. Untuk DoS attack yang lebih sophisticated, butuh hardware yang lebih powerful.
LOGGING FIREWALL
MONITORING
Log firewall untuk monitoring dan troubleshooting. Log packet yang di-drop untuk analisis.
VIA CLI
# 1. Log di rule drop[admin@FW-GATEWAY] > /ip firewall filter set [find action=drop]log=yeslog-prefix="FW-DROP:"# 2. Cek log[admin@FW-GATEWAY] > /log print where message~"FW-DROP"nov/15 14:32:08 firewall,info FW-DROP: in:ether1 out:(none)...# 3. Live log[admin@FW-GATEWAY] > /log print follow where message~"FW-DROP"# 4. Limit log (jangan membanjiri)[admin@FW-GATEWAY] > /system logging set [find topics=firewall]lines=1000
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules
2
Double-click rule drop
3
Tab Action: centang Log, Log Prefix: FW-DROP:
4
Menu: Log -> filter: FW-DROP:
5
Menu: System -> Logging -> set lines: 1000
TIPS LOGGING
LOG DROP SAJA
Hanya log rule drop, jangan log accept. Log accept akan membanjiri log dan memberatkan CPU.
LOG PREFIX
Pakai log prefix untuk identifikasi rule. Contoh: "FW-DROP:", "SCANNER:", "BRUTE:".
LIMIT LOG
Set memory lines untuk batasi jumlah log. Default 1000 sudah cukup.
REMOTE LOG
Untuk monitoring terpusat, kirim log ke syslog server external.
PERINGATAN: Jangan log semua rule! Log yang terlalu banyak akan membanjiri memory dan memberatkan CPU. Hanya log rule penting (drop, scanner, brute force).
MONITORING FIREWALL
MONITORING
Monitor performa firewall: hit count, packet drop, CPU load, dll.
TIPS: Monitor hit count secara berkala. Rule dengan hit count tinggi = rule yang sering dipakai. Rule drop dengan hit count tinggi = banyak attack yang di-block.
TROUBLESHOOTING FIREWALL
SUPPORT
Masalah umum firewall dan solusinya.
INTERNET PUTUS SETELAH AKTIFKAN FIREWALL
KEMUNGKINAN PENYEBAB:
1. Rule accept established tidak di paling atas
2. Rule drop all di atas rule accept established
3. Rule drop chain=forward terlalu ketat
4. Rule drop chain=input memblokir DNS response SOLUSI: Pastikan rule accept established di PALING ATAS. Cek urutan rule. Test dengan disable rule drop satu per satu.
TIDAK BISA AKSES ROUTER DARI LAN
KEMUNGKINAN PENYEBAB:
1. Rule drop chain=input memblokir akses dari LAN
2. Rule drop tidak exclude interface LAN
3. Service (SSH, Winbox) disabled SOLUSI: Tambahkan in-interface=!bridge atau in-interface=ether1 di rule drop. Jangan drop semua interface.
FIREWALL TIDAK BEKERJA (PACKET TETAP LOLOS)
KEMUNGKINAN PENYEBAB:
1. Rule disabled
2. Rule di chain yang salah
3. Rule di bawah rule accept (rule pertama yang match dieksekusi)
4. Connection tracking tidak aktif SOLUSI: Cek rule enabled. Cek chain. Cek urutan rule. Cek connection tracking: /ip firewall service-port print.
CPU OVERLOAD (>80%)
KEMUNGKINAN PENYEBAB:
1. Terlalu banyak rule firewall
2. Rule dengan log aktif (terlalu banyak log)
3. Rule complex (regex, layer7)
4. Traffic sangat tinggi SOLUSI: Kurangi jumlah rule. Disable log di rule yang tidak perlu. Simplify rule complex. Upgrade hardware jika perlu.
ADDRESS LIST TIDAK TERISI
KEMUNGKINAN PENYEBAB:
1. Rule add-src-to-address-list tidak match
2. Rule di bawah rule accept (packet sudah di-accept sebelum sampai rule detect)
3. Rule detect di chain yang salah SOLUSI: Cek rule detect di atas rule accept. Cek chain. Test dengan log di rule detect.