Basic Firewall under Mikrotik

Posted on

Bagi yang sering bergelut dalam dunia jaringan komputer, tentu sudah mengenal yang namanya Mikrotik. Mikrotik adalah solusi cerdas dan handal dalam urusan routing, alternatif murah daripada menggunakan router cisco atau huawei. Saya sendiri berkenalan dengan mikrotik baru sekitar tahun 2007, saat masih aktif kuliah. Nah, kali ini saya mau sedikit sharing pengalaman saya dalam mengkonfigurasi basic firewall under mikrotik.

Dalam artikel saya terdahulu, saya pernah membahas bagaimana membangun router PC dan firewall dengan linux debian.  Nah, kosep firewall yang sama akan saya terapkan di mikrotik, yaitu menutup (drop) semua service port dan membuka (open/allow) beberapa port saja yang kita anggap perlu. Sampai sekarang saya selalu menggunakan cara ini untuk mengkonfigurasi router mikrotik, dan terbukti cukup handal bagi saya.

Kenapa saya bilang cukup ampuh bagi saya, karena secara default konsep firewall seperti ini akan menolak dan membuang semua layanan yang tidak saya indenfitikasikan (diperbolehkan) dari luar ke dalam jaringan komputer.

Konsep seperti ini dalam mikrotik dapat kita terapkan di Chain INPUT (mengatur akses ke router mikrotik) dan Chain FORWARD (mengatur aliran data yang melewati router mikrotik tersebut). Berikut ini contoh sederhana dari konsep basic firewall under mikrotik yang biasa saya terapkan, selebihnya dapat dimodifikasi sesuai keutuhan jaringan Anda.

Catatan : LAN Address = 192.168.232.0/24

Basic Firewall Chain INPUT

add chain=input connection-state=established comment="Accept established connections"
add chain=input connection-state=related comment="Accept related connections"
add chain=input connection-state=invalid action=drop comment="Drop invalid connections"

add chain=input protocol=icmp limit=50/sec,2 comment="Allow limited pings to RB"
add chain=input protocol=icmp action=drop comment="Drop excess pings to RB"
add chain=input protocol=tcp dst-port=22 src-address=192.168.232.0/24 comment="Allow SSH Access"
add chain=input protocol=udp dst-port=5678 src-address=192.168.232.0/24 comment="Allow Discover Winbox"
add chain=input protocol=tcp dst-port=8291 src-address=192.168.232.0/24 comment="Allow Winbox Access"

add chain=input action=drop comment="Drop everything else"

Basic Firewall Chain FORWARD

add chain=forward connection-state=established comment="Accept established connections"
add chain=forward connection-state=related comment="Accept related connections"
add chain=forward connection-state=invalid action=drop comment="Drop invalid connections"

add chain=forward protocol=udp dst-port=53 src-address=192.168.232.0/24 action=accept comment="Allow DNS"
add chain=forward protocol=tcp dst-port=53 src-address=192.168.232.0/24 action=accept comment="Allow DNS"
add chain=forward protocol=tcp dst-port=80 src-address=192.168.232.0/24 action=accept comment="Allow HTTP"
add chain=forward protocol=tcp dst-port=443 src-address=192.168.232.0/24 action=accept comment="Allow HTTPS"

add chain=forward action=drop comment="Drop everything else"

Ini hanya sekedar contoh sederhana saja, selebihnya dapat Anda kembangkan lagi sesuai dengan kebutuhan firewall jaringan ditempat Anda. Semoga bermanfaat…

14 comments

  1. mas gmna ya klo yg di atas tuh buka port buat email imap sma smpt nt port 993 sma 465 gmna buat filternya.. thx

    1. sama saja mas tinggal di tambahkan saja

      add chain=forward protocol=tcp dst-port=993 src-address=192.168.232.0/24 action=accept
      add chain=forward protocol=tcp dst-port=465 src-address=192.168.232.0/24 action=accept

  2. Mas saya sudah coba script diatas, kendalanya kalau web proxy = enable malah nggak bisa browsing terus untuk yang add chain=forward action=drop comment=”Drop everything else” malah menutup semuanya

    Mohon pencerahannya Mas
    Terima kasih

  3. Mas mau nanya berkenaan tutorial Anda

    1. /ip firewall filter add chain=forward action=drop comment=”Drop everything else”

    2. /ip firewall nat
    add chain=dstnat in-interface=ether2-Local protocol=tcp dst-port=80 action=redirect to-ports=8080

    Yang no 1. dari tutorial Anda sementara yang no. 2 sebagai Nat untuk web proxy yang saya buat di mikrotik saya rb 751U-2HnD

    Permasalahan jika kedua script diatas posisi enable maka semua komputer client tidak dapat browsing sehingga kedua script diatas terpaksa saya disable agar semua komputer bisa browsing tapi kan firewallnya jadi tidak sempurna sesuai tutorial Anda
    Mohon pencerahannya apa yah masalahnya, saya sangat suka firewall yang Anda tulis tapi masih terkendala

    Terima kasih
    Salam

    1. /ip firewall filter add chain=forward action=drop comment=”Drop everything else”

      Rule ini digunakan memang untuk memblock semua package yang tidak kita definisikan pada rule diatasnya. Makanya rule ini diletakan di paling bawah. Coba perhatikan urutan pada CHAIN FORWARD

      /ip firewall nat add chain=dstnat in-interface=ether2-Local protocol=tcp dst-port=80 action=redirect to-ports=8080

      Kalau saya lihat ini bukan rule untuk NAT (Translasi ke Internet) tetapi untuk rule untuk redirect ke proxy server untuk traffic HTTP (port 80)

  4. Terima kasih atas bantuannya setelah saya pindahkan ke bawah emang semua komputer dah bisa browsing namun rule untuk redirect belum teratasi, apakah ada yang salah di rule tersebut ? kalau nggak keberatan mohon bantuan saran rule yang benar untuk redirect bagaimana

    Mohon maaf sebelumnya karena melenceng dari tutorialnya

    Terima kasih

    1. Kalau redirect ini maksutnya untuk membuat transparent web proxy, mungkin bisa dicoba rule seperti ini :

      ip firewall nat add in-interface=ether2 dst-port=80 protocol=tcp action=redirect to-ports=8080 chain=dstnat

      Aktifkan proxy internal di mikrotiknya

      ip proxy set enabled=yes port=8080

  5. Mas sekali lagi terima kasih atas bantuannya jalan keluarnya pada ip firewall nat add in-interface=ether2 dst-port=80 protocol=tcp action=redirect to-ports=8080 chain=dstnat harus menjadi

    ip firewall nat add src-address=192.168.x.x in-interface=ether2 dst-port=80 protocol=tcp action=redirect to-ports=8080 chain=dstnat jadi src address nggak boleh kosong

    Tapi hari ini saya nemu kendala lagi
    ether2 = 192.168.2.0/24
    ether3 = 192.168.3.0/24
    ether4 = 192.168.4.0/24
    dst

    Setelah saya menggunakan firewall sesuai tutorialnya koq antar ethernet tidak dapat berkomunikasi kalau di ping selalu RTO dan kendala lain tidak dapat sharing printer namun semua client dari dapat internetan

    Mohon pencerahannya
    Terima kasih

    1. Oke, untuk memastikan setiap LAN bisa saling ping-pong bisa di tambahankan rule yang mengijinkan protokol ICMP :


      /ip firewall filter
      add chain=forward protocol=icmp limit=50/sec,2 comment="Allow limited pings to LAN"
      add chain=forward protocol=icmp action=drop comment="Drop excess pings"

      pastikan dari semua LAN bisa saling ping-pong satu sama lain.

      Kalau tidak salah port untuk share file dan printer adalah UDP port 137 dan 138 , TCP port 139 445, bisa di coba tambahkan rule di chain forwardnya

      supaya lebih gampang bikin address list saja dulu buat ournetwork nya


      / ip firewall address-list
      add list=ournetwork address=192.168.2.0/24 comment="LAN1"
      add list=ournetwork address=192.168.3.0/24 comment="LAN2"
      add list=ournetwork address=192.168.4.0/24 comment="LAN3"


      /ip firewall filter
      add chain=forward protocol=udp dst-port=137-138 src-address-list=ournetwork action=accept comment="Allow Sharing File & Printer"
      add chain=forward protocol=tcp dst-port=137-138 src-address-list=ournetwork action=accept comment="Allow Sharing File & Printer"

      aku sebentarnya belum pernah mencoba hal ini sama sekali, aku coma melogica saja, bisa di explore lebih jauh di forum mikrotik.

  6. Kelihatannya script ini

    “add chain=forward action=drop comment=”Drop everything else”

    masih kendala di firewall sesuai tutorialnya boss,
    sekalipun sudah saya tempatkan di paling bawah dia selalu menutup sehingga semua client tidak bisa browsing dan tidak bisa sharing File dan Printer akhirnya saat ini saya disable dulu.

    Tapi saya sangat suka konsep firewallnya (Menutup semua port dan membuka port sesuai kebutuhan)

    Terima kasih
    salam

  7. Mas…. mau tanya… IP yg dipake (192.168.232.0/24) itu IP ether yg dari modem masuk ke ether router mikrotik atau ip dari mikrotik ke lokal ?

  8. Setelah saya mencoba firewall sesuai tutorial Agan, saya sangat suka, yang menjadi masalah untuk web proxy kayaknya HIT di web proxynya tidak jalan alias kosong terus, pertanyaannya apa ada pengaruhnya karena firewall sesuai tutorial agan, khususnya pada chain output seolah-olah tidak ada trafik

    /ip firewall mangle add chain=output out-interface=LAN1-Ether2 dscp=4 action=accept comment=Cache_Hit_Proxy

    /ip firewall mangle add chain=output out-interface=LAN1-Ether2 dscp=!4 action=mark-packet new-packet-mark=browsing-lan1 passthrough=no

    /ip firewall mangle add chain=prerouting src-address=192.168.2.0/24 in-interface=LAN1-Ether2 action=mark-packet new-packet-mark=browsing-lan1 \
    passthrough=no
    /ip firewall mangle add chain=forward src-address=192.168.2.0/24 action=mark-connection new-connection-mark=browsing-lan1-pm passthrough=yes

    /ip firewall mangle add chain=forward in-interface=WAN-Ethernet connection-mark=browsing-lan1-pm action=mark-packet new-packet-mark=browsing-lan1 \
    passthrough=no

    /ip firewall mangle add chain=output dst-address=!192.168.2.0/24 out-interface=!LAN1-Ether1 action=mark-packet new-packet-mark=download passthrough=no

    Mohon pendapatnya
    Terima kasih

Leave a Reply

Your email address will not be published.