ABDURROZAK
HOME ABOUT ME MICROSITE KONTAK PERSEMBAHAN HELP
ABDURROZAK.MY.ID // MIKROTIK TUTORIAL

FIREWALL MIKROTIK

RB941 hAP LITE - KEAMANAN JARINGAN LENGKAP

Panduan mendalam implementasi Firewall MikroTik: filter rules, connection tracking, address list, port scanner protection, brute force defense, anti spoofing, rate limiting, logging, dan monitoring. Konfigurasi dual: CLI (Terminal) & WinBox (GUI).

SPESIFIKASI HARDWARE RB941-2nD

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).

INTERNET Attackers / Scanners Port Scan / Brute Force MIKROTIK RB941 FIREWALL SECURITY WAN ether1 FIREWALL ENGINE Connection Tracking Stateful Inspection e2 LAN e3 LAN WIFI wlan1 INPUT: Protect Router | FORWARD: Protect LAN PC 192.168.10.101 LAPTOP 192.168.10.102 HP 192.168.10.103 DROP // FIREWALL FLOW // GREEN = ALLOWED (ESTABLISHED) | RED = DROPPED (SCAN/BRUTE) | SHIELD = STATEFUL INSPECTION
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
STATEARTICONTOH
newKoneksi baru, packet pertamaSYN packet (awal TCP handshake)
establishedKoneksi sudah establishedPacket setelah TCP handshake selesai
relatedKoneksi terkait dengan koneksi establishedFTP data connection, ICMP error
invalidPacket tidak validPacket yang tidak belong ke koneksi manapun
FIREWALL ACTIONS
ACTIONFUNGSIKEGUNAAN
acceptTerima packet, lanjutkanAllow traffic yang valid
dropBuang packet, tidak kirim replyBlock traffic berbahaya (stealth)
rejectBuang packet, kirim reply (ICMP unreachable)Block tapi beri tahu pengirim
jumpLompat ke chain lainOrganisasi rule kompleks
logLog packet ke system logMonitoring & debugging
add-src-to-address-listTambah IP ke address listDeteksi 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
ITEMKETERANGANCATATAN
Router RB941Sudah terpasang adaptor 5VLED PWR harus menyala
Kabel UTPMinimal 2 buah (straight)1 untuk WAN, 1 untuk PC
PC/LaptopDengan port ethernetUntuk akses awal via kabel
WinBoxDownload dari mikrotik.comAtau pakai browser (WebFig)
Koneksi DasarRouter sudah bisa internetDHCP client, NAT, DNS sudah setup
IP AddressIP gateway sudah di-setContoh: 192.168.10.1/24
DHCP ServerDHCP server aktif di LANClient 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-configuration Do you really want to reset configuration? [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.

VIA CLI
# 1. Cek bridge port default [admin@FW-GATEWAY] > /interface bridge port print # INTERFACE BRIDGE PVID 0 ether2 bridge1 1 1 ether3 bridge1 1 2 ether4 bridge1 1 # 2. Optimasi bridge [admin@FW-GATEWAY] > /interface bridge set bridge1 protocol-mode=rstp fast-forward=yes
VIA WINBOX
1
Menu: Bridge -> Tab Ports
2
Cek ether2-4 sudah ada di bridge
3
Double-click bridge1
4
Tab Advanced: Protocol Mode: rstp
5
Tab HW: centang Fast Forward
PENTING: Jangan masukkan ether1 (WAN) ke bridge! ether1 harus terpisah sebagai WAN.
IP ADDRESS GATEWAY STEP 06

Setup IP address untuk bridge (gateway LAN).

VIA CLI
# 1. Ganti IP gateway [admin@FW-GATEWAY] > /ip address set [find interface=bridge] address=192.168.10.1/24 # 2. Verifikasi [admin@FW-GATEWAY] > /ip address print # ADDRESS NETWORK INTERFACE 0 192.168.10.1/24 192.168.10.0 bridge
VIA WINBOX
1
Menu: IP -> Addresses
2
Double-click entry bridge
3
Address: 192.168.10.1/24
4
Interface: bridge
DHCP CLIENT (WAN) STEP 07

Setup DHCP client di WAN agar router dapat IP dari ISP.

VIA CLI
[admin@FW-GATEWAY] > /ip dhcp-client add interface=ether1 disabled=no use-peer-dns=yes add-default-route=yes # Cek status - harus "bound" [admin@FW-GATEWAY] > /ip dhcp-client print # INTERFACE STATUS ADDRESS 0 ether1 bound 10.10.10.5/24
VIA WINBOX
1
Menu: IP -> DHCP Client
2
+ Add: Interface: ether1
3
Add Default Route: yes
4
Use Peer DNS: yes
5
Status harus bound
DHCP SERVER (LAN) STEP 08

Setup DHCP server agar client dapat IP otomatis.

VIA CLI
# 1. Buat IP pool [admin@FW-GATEWAY] > /ip pool add name="pool-lan" ranges=192.168.10.100-192.168.10.200 # 2. Buat DHCP server [admin@FW-GATEWAY] > /ip dhcp-server add name="dhcp-lan" interface=bridge address-pool="pool-lan" lease-time=10m authoritative=yes # 3. Buat DHCP network [admin@FW-GATEWAY] > /ip dhcp-server network add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=192.168.10.1,8.8.8.8 # 4. Verifikasi [admin@FW-GATEWAY] > /ip dhcp-server print # NAME INTERFACE ADDRESS-POOL 0 dhcp-lan bridge pool-lan
VIA WINBOX
1
Menu: IP -> Pool -> + Add
2
Name: pool-lan, Ranges: 192.168.10.100-200
3
Menu: IP -> DHCP Server -> DHCP Setup
4
Interface: bridge -> Next (sampai selesai)
NAT MASQUERADE STEP 09

NAT masquerade WAJIB agar client LAN bisa akses internet.

VIA CLI
[admin@FW-GATEWAY] > /ip firewall nat add chain=srcnat action=masquerade out-interface=ether1 comment="NAT to ISP" [admin@FW-GATEWAY] > /ip firewall nat print # CHAIN ACTION OUT-INTERFACE 0 srcnat masquerade ether1
VIA WINBOX
1
Menu: IP -> Firewall -> Tab NAT
2
+ Add
3
Chain: srcnat
4
Out. Interface: ether1
5
Action: masquerade
DNS FORWARDING STEP 10

Setup DNS agar client bisa resolve domain.

VIA CLI
[admin@FW-GATEWAY] > /ip dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes cache-size=2048KiB [admin@FW-GATEWAY] > /ip dns print servers: 1.1.1.1, 8.8.8.8 allow-remote-requests: yes [admin@FW-GATEWAY] > /ping google.com count=4
VIA WINBOX
1
Menu: IP -> DNS
2
Servers: 1.1.1.1, 8.8.8.8
3
Centang Allow Remote Requests
4
Cache Size: 2048 KiB
NTP & TIMEZONE STEP 11

Setup NTP agar waktu router akurat. Penting untuk logging.

VIA CLI
[admin@FW-GATEWAY] > /system ntp client set enabled=yes mode=unicast primary-ntp=132.163.96.1 secondary-ntp=8.8.8.8 [admin@FW-GATEWAY] > /system clock set time-zone-name="Asia/Jakarta" [admin@FW-GATEWAY] > /system clock print date and time: 2024-11-15 14:32:08 time-zone-name: Asia/Jakarta
VIA WINBOX
1
Menu: System -> NTP Client
2
Centang Enabled
3
Primary NTP: 132.163.96.1
4
Menu: System -> Clock
5
Time Zone Name: Asia/Jakarta
WIRELESS SETUP STEP 12

Setup WiFi agar client wireless bisa connect.

VIA CLI
# 1. Set mode AP, SSID [admin@FW-GATEWAY] > /interface wireless set wlan1 mode=ap-bridge ssid="FW-NETWORK" country=indonesia # 2. Set channel [admin@FW-GATEWAY] > /interface wireless set wlan1 channel=6 band=2ghz-b/g/n # 3. Setup WPA2-PSK security [admin@FW-GATEWAY] > /interface wireless security-profiles set [find default=yes] mode=dynamic-keys authentication-types=wpa2-psk wpa2-pre-shared-key="wifi@fw2024!" # 4. Set tx-power [admin@FW-GATEWAY] > /interface wireless set wlan1 tx-power-mode=all-rates-fixed tx-power=17
VIA WINBOX
1
Menu: Wireless
2
Double-click wlan1
3
Tab Wireless: Mode: ap-bridge, SSID: FW-NETWORK
4
Band: 2GHz-B/G/N, Channel: 6
5
Tab Security Profiles: Mode: dynamic-keys, Auth: wpa2-psk
6
WPA2 Pre-Shared Key: wifi@fw2024!
JANGAN: pakai WEP/WPA (sudah jebol). Selalu WPA2-PSK minimal. Password 12+ karakter.
FIREWALL BASIC - CONNECTION TRACKING FIREWALL CORE

Rule firewall paling dasar dan WAJIB: accept established/related dan drop invalid. Ini adalah fondasi stateful firewall.

VIA CLI
# 1. ACCEPT established/related (WAJIB PALING ATAS) [admin@FW-GATEWAY] > /ip firewall filter add chain=forward connection-state=established,related action=accept comment="Accept Established" # 2. DROP invalid [admin@FW-GATEWAY] > /ip firewall filter add chain=forward connection-state=invalid action=drop log=yes log-prefix="INVALID:" # 3. Verifikasi [admin@FW-GATEWAY] > /ip firewall filter print # CHAIN ACTION CONN-STATE LOG-PREFIX 0 forward accept established,related 1 forward drop invalid INVALID:
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules
2
+ Add Rule 1:
3
Chain: forward, Conn. State: established,related, Action: accept
4
+ Add Rule 2:
5
Chain: forward, Conn. State: invalid, Action: drop, Log: yes
KENAPA RULE INI PENTING?
ESTABLISHED FIRST
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 add chain=input connection-state=established,related action=accept in-interface=ether1 comment="Accept Input Established" # 2. DROP invalid [admin@FW-GATEWAY] > /ip firewall filter add chain=input connection-state=invalid action=drop in-interface=ether1 log=yes log-prefix="INPUT-INVALID:" # 3. ACCEPT ICMP (ping) - optional [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=icmp action=accept in-interface=ether1 comment="Allow ICMP" # 4. DROP semua dari WAN (default deny) [admin@FW-GATEWAY] > /ip firewall filter add chain=input action=drop in-interface=ether1 log=yes log-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:
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules
2
+ Add Rule 1: Chain: input, Conn. State: established,related, In. Interface: ether1, Action: accept
3
+ Add Rule 2: Chain: input, Conn. State: invalid, In. Interface: ether1, Action: drop
4
+ Add Rule 3: Chain: input, Protocol: icmp, In. Interface: ether1, Action: accept
5
+ Add Rule 4: Chain: input, In. Interface: ether1, Action: drop
PENJELASAN RULE
RULEFUNGSIKETERANGAN
accept establishedAccept koneksi yang sudah establishedWAJIB di paling atas
drop invalidDrop packet invalidKeamanan
accept icmpAllow ping dari WANOptional, untuk troubleshooting
drop allDrop semua dari WANDefault 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 add chain=forward connection-state=established,related action=accept comment="Accept Forward Established" # 2. DROP invalid [admin@FW-GATEWAY] > /ip firewall filter add chain=forward connection-state=invalid action=drop log=yes log-prefix="FWD-INVALID:" # 3. DROP semua dari WAN ke LAN [admin@FW-GATEWAY] > /ip firewall filter add chain=forward action=drop in-interface=ether1 log=yes log-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:
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules
2
+ Add Rule 1: Chain: forward, Conn. State: established,related, Action: accept
3
+ Add Rule 2: Chain: forward, Conn. State: invalid, Action: drop
4
+ Add Rule 3: Chain: forward, In. Interface: ether1, Action: drop
PENJELASAN RULE
RULEFUNGSIKETERANGAN
accept establishedAccept koneksi yang sudah establishedWAJIB di paling atas
drop invalidDrop packet invalidKeamanan
drop all from WANDrop semua dari WAN ke LANDefault 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 add list="blocklist" address=1.2.3.4 comment="Known attacker" [admin@FW-GATEWAY] > /ip firewall address-list add list="blocklist" address=5.6.7.0/24 comment="Malicious network" # 2. Block address list di firewall [admin@FW-GATEWAY] > /ip firewall filter add chain=forward src-address-list="blocklist" action=drop in-interface=ether1 log=yes log-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
TIPECARA BUATKEGUNAAN
Manual/ip firewall address-list addBlocklist IP known attacker
Auto (port scanner)Rule add-src-to-address-listAuto block port scanner
Auto (brute force)Rule add-src-to-address-listAuto block brute force
WhitelistManualAllow 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 add chain=input action=add-src-to-address-list address-list="port-scanners" address-list-timeout=10m protocol=tcp psd=21:3s,3:1s,1:1s,1:1s in-interface=ether1 comment="Detect Port Scanner" # 2. Drop port scanners [admin@FW-GATEWAY] > /ip firewall filter add chain=input src-address-list="port-scanners" action=drop in-interface=ether1 log=yes log-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
3
Tab Extra: PSD: 21:3s,3:1s,1:1s,1:1s
4
Tab Action: Action: add-src-to-address-list, Address List: port-scanners, Timeout: 10m
5
+ Add rule kedua: Chain: input, Src. Address List: port-scanners, Action: drop
PARAMETER PSD
PARAMETERARTI
21:3s21 port dalam 3 detik = scanner
3:1s3 port dalam 1 detik = scanner
1:1s1 port dalam 1 detik = scanner
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.

VIA CLI
# 1. Deteksi brute force SSH (port 22) [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list="ssh-brute" address-list-timeout=1h src-address-list="ssh-brute" in-interface=ether1 comment="Detect SSH Brute" # 2. Drop SSH brute force [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list="ssh-brute" action=drop in-interface=ether1 # 3. Deteksi brute force Winbox (port 8291) [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp dst-port=8291 connection-state=new action=add-src-to-address-list address-list="winbox-brute" address-list-timeout=1h src-address-list="winbox-brute" in-interface=ether1 # 4. Drop Winbox brute force [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp dst-port=8291 src-address-list="winbox-brute" action=drop in-interface=ether1
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules -> + Add
2
Tab General: Chain: input, Protocol: tcp, Dst. Port: 22, Conn. State: new, In. Interface: ether1
3
Tab Action: Action: add-src-to-address-list, Address List: ssh-brute, Timeout: 1h, Src. Address List: ssh-brute
4
+ Add rule kedua: Chain: input, Protocol: tcp, Dst. Port: 22, Src. Address List: ssh-brute, Action: drop
5
Ulangi untuk Winbox (port 8291)
CARA KERJA
DETECT
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 add chain=input in-interface=ether1 src-address=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 action=drop log=yes log-prefix="SPOOF-PRIVATE:" # 2. Block loopback dari WAN [admin@FW-GATEWAY] > /ip firewall filter add chain=input in-interface=ether1 src-address=127.0.0.0/8 action=drop log=yes log-prefix="SPOOF-LOOPBACK:" # 3. Block broadcast dari WAN [admin@FW-GATEWAY] > /ip firewall filter add chain=input in-interface=ether1 packet-type=broadcast action=drop log=yes log-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
3
Tab Action: Action: drop, Log: yes, Log Prefix: SPOOF-PRIVATE:
4
Ulangi untuk loopback (127.0.0.0/8) dan broadcast
IP YANG HARUS DI-BLOCK DARI WAN
IP RANGETIPEALASAN
192.168.0.0/16PrivateTidak valid di internet
172.16.0.0/12PrivateTidak valid di internet
10.0.0.0/8PrivateTidak valid di internet
127.0.0.0/8LoopbackLoopback address
0.0.0.0/8ReservedReserved address
169.254.0.0/16Link-localAPIPA (auto IP)
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.

VIA CLI
# 1. Limit ICMP rate (anti ping flood) [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=icmp action=accept in-interface=ether1 limit=10,5 # 10 packet, burst 5 # 2. Drop ICMP yang melebihi limit [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=icmp action=drop in-interface=ether1 # 3. Limit connection rate (anti SYN flood) [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp connection-state=new action=accept in-interface=ether1 limit=50,10 # 50 connection, burst 10 # 4. Drop connection yang melebihi limit [admin@FW-GATEWAY] > /ip firewall filter add chain=input protocol=tcp connection-state=new action=drop in-interface=ether1
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules -> + Add
2
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
PARAMETERFORMATARTI
limitrate,burstRate = packet/5 detik, Burst = burst size
10,5ICMP10 ICMP packet per 5 detik, burst 5
50,10TCP new50 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=yes log-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.

VIA CLI
# 1. Cek hit count per rule [admin@FW-GATEWAY] > /ip firewall filter print stats # CHAIN ACTION PACKETS BYTES 0 forward accept 154320 120MB 1 forward drop 120 15KB 2 input accept 54320 45MB 3 input drop 45 5KB # 2. Cek address list [admin@FW-GATEWAY] > /ip firewall address-list print # LIST ADDRESS TIMEOUT 0 port-scanners 1.2.3.4 8m 32s 1 ssh-brute 5.6.7.8 45m 12s # 3. Cek CPU load [admin@FW-GATEWAY] > /system resource print cpu-load: 25% free-memory: 12288KiB # 4. Cek log [admin@FW-GATEWAY] > /log print where message~"DROP"
VIA WINBOX
1
Menu: IP -> Firewall -> Tab Filter Rules
2
Lihat kolom Packets dan Bytes (hit count)
3
Menu: Tab Address Lists -> lihat IP yang di-block
4
Menu: System -> Resources -> cek CPU load
5
Menu: Log -> filter: DROP
METRIK YANG PERLU DIMONITOR
METRIKCARA CEKKETERANGAN
Hit Count/ip firewall filter print statsBerapa packet yang di-process per rule
Drop Count/ip firewall filter print statsBerapa packet yang di-drop
Address List/ip firewall address-list printIP yang di-block (scanner, brute force)
CPU Load/system resource printJangan >80% dengan banyak rule
Memory/system resource printFree memory harus cukup
Log/log printLog packet drop untuk analisis
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.
DIAGNOSTIC COMMANDS
# Cek semua rule > /ip firewall filter print > /ip firewall filter print stats # Cek address list > /ip firewall address-list print # Cek connection tracking > /ip firewall service-port print > /ip firewall connection print count-only # Cek log > /log print > /log print where message~"DROP" # Cek CPU & memory > /system resource print # Test connectivity > /ping 8.8.8.8 > /ping google.com # Disable semua rule (emergency) > /ip firewall filter disable [find]
BEST PRACTICE FIREWALL TIPS
ESTABLISHED FIRST
Rule accept established/related HARUS di paling atas. Ini fondasi stateful firewall.
DEFAULT DROP
Default policy = DROP. Hanya ACCEPT yang eksplisit diizinkan. Lebih aman.
SPECIFIC FIRST
Rule spesifik di atas, rule general di bawah. Rule pertama yang match dieksekusi.
LOG IMPORTANT
Log rule drop untuk monitoring. Tapi jangan log semua rule (memberatkan CPU).
PROTECT ROUTER
Chain input melindungi router. Chain forward melindungi client LAN. Keduanya WAJIB.
ANTI SPOOFING
Block IP private dari WAN. Attacker sering spoof IP untuk menyembunyikan identitas.
BRUTE FORCE PROTECT
Detect dan block brute force ke SSH, Winbox, FTP. Pakai address-list + timeout.
PORT SCANNER DETECT
Pakai PSD (Port Scan Detection) untuk detect dan block port scanner otomatis.
RATE LIMIT
Limit ICMP dan connection rate untuk mencegah DoS attack sederhana.
MONITOR RUTIN
Cek hit count, drop count, address list, CPU load. Deteksi dini masalah.
TEST DI LAB
Test rule firewall di lab environment sebelum production. Salah config bisa lock out.
BACKUP ACCESS
Selalu sediakan akses fisik (tombol reset) sebagai backup jika firewall salah config.
FIREWALL CHEATSHEET QUICK REF
FIREWALL COMMANDS
# BASIC FIREWALL > /ip firewall filter add chain=forward connection-state=established,related action=accept > /ip firewall filter add chain=forward connection-state=invalid action=drop > /ip firewall filter add chain=forward action=drop in-interface=ether1 # PROTECT ROUTER > /ip firewall filter add chain=input connection-state=established,related action=accept in-interface=ether1 > /ip firewall filter add chain=input connection-state=invalid action=drop in-interface=ether1 > /ip firewall filter add chain=input protocol=icmp action=accept in-interface=ether1 > /ip firewall filter add chain=input action=drop in-interface=ether1 # PORT SCANNER PROTECTION > /ip firewall filter add chain=input action=add-src-to-address-list address-list="port-scanners" address-list-timeout=10m protocol=tcp psd=21:3s,3:1s,1:1s,1:1s in-interface=ether1 > /ip firewall filter add chain=input src-address-list="port-scanners" action=drop in-interface=ether1 # BRUTE FORCE PROTECTION > /ip firewall filter add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list="ssh-brute" address-list-timeout=1h src-address-list="ssh-brute" in-interface=ether1 > /ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list="ssh-brute" action=drop in-interface=ether1 # ANTI SPOOFING > /ip firewall filter add chain=input in-interface=ether1 src-address=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8 action=drop # RATE LIMIT > /ip firewall filter add chain=input protocol=icmp action=accept in-interface=ether1 limit=10,5 > /ip firewall filter add chain=input protocol=icmp action=drop in-interface=ether1 # MONITORING > /ip firewall filter print > /ip firewall filter print stats > /ip firewall address-list print > /log print where message~"DROP" # EMERGENCY > /ip firewall filter disable [find] # Disable semua rule jika salah config
ABDURROZAK.MY.ID // JARINGAN SOSIAL

s.id

Link Tree Utama

GitHub

Repositori Kode

Instagram

Galeri Visual

Threads

Diskusi Ringkas

Facebook

Jaringan Sosial

TikTok

Konten Video Pendek

YT Teacher

Edukasi & Tutorial

YT Course

Materi Pembelajaran

YT Studio

Produksi Konten

Hashnode

Artikel Teknis

WhatsApp

Komunikasi Langsung

Email

abdurrozak.skom@gmail.com