Konfigurasi Dasar Mengamankan Router Mikrotik Anda

Mikrotik Cloud Core Router

Bagi para pengguna Mikrotik RouterOS baik itu Seri RouterBoard, CCR, x86 ataupun VPS Mikrotik CHR, sangat penting bagi Anda untuk mengetahui cara pengamanan dasar bagi Router Mikrotik Anda.

Pada kesempatan ini, kami ingin membagi kepada para Pelanggan setia Herza.ID, cara atau langkah dasar yang harus kita lakukan untuk Mengamankan Router Mikrotik Anda.

Silahkan baca juga Artikel kami tentang Cara Melindungi Router Mikrotik Anda dari Ransomware

Pengamanan Dasar Mikrotik RouterOS

1. Merubah User Default Mikrotik

Hal dasar yang harus kita lakukan dalam mengamankan Router Mikrotik adalah dengan mengubah User default Mikrotik yaitu admin. Kita tidak pernah menyarankan kepada siapapun untuk tetap menggunakan user admin tersebut, karena ini adalah hal paling mudah untuk meretas Router Mikrotik Anda.

Mengamankan Router Mikrotik Anda

Langkah awal adalah, pada menu di sebelah kiri Mikrotik RouterOS Anda, silahkan klik SYSTEM > USERS.

Setelah Window User List terbuka, klik Icon + untuk membuat user baru pada Router Anda.

Tahapan dalam mengamankan Router Mikrotik Anda

Masukkan Username yang ingin Anda gunakan pada kolom Name, dan pilih FULL pada Group User jika Anda ingin membuat user Administrator. Kemudian masukkan password yang susah ditebak pada kolom Password dibawah. Kemudian klik OK.

Catatan: Jangan lupa untuk DISABLE User default admin agar tidak bisa digunakan.

2. Disable Service / Layanan Yang Tidak di gunakan

Sekarang kita lanjutkan dengan mendisable Layanan atau Service yang kita tidak gunakan pada Mikrotik kita. Pade menu sebelah kiri klik IP > SERVICES.

Disable Service Mikrotik Yang tidak digunakan

Pilih Layanan-Layanan yang tidak Anda gunakan, kemudian klik icon X untuk mendisable layanan tersebut. Ketika layanan dalam disable status, maka warna nya akan berubah menjadi abu-abu.

Dalam hal ini, kami akan mendisable seluruh layanan kecuali Winbox. Karena kami hanya menggunakan Winbox untuk mengakses Mikrotik tersebut.

Rubah Port Winbox Mikrotik Anda

Setekah itu, silahkan ganti Port Winbox dari 8291 menjadi port custom yang Anda ingin gunakan. Dalam hal ini, kami menggantinya dengan Port 9876. Ingat jangan gunakan port 0 sd 1024 karena port tersebut sudah digunakan oleh layanan yang sudah di definisikan secara baku, pakailah port di atas 1024 misalnya menjadi 18291 jangan gunakan port diatas 65535 https://en.wikipedia.org/wiki/Port_(computer_networking)

3. Buat Firewall Rules untuk Mengamankan Router dan Jaringan Anda

Sekarang saatnya membuat beberapa Firewall Rules & RAW untuk mengamankan Router dan Jaringan Anda dari beberapa aksi yang berbahaya dari Internet seperti Port Scanning, Brute Force serta melakukan Blokir Port yang biasa digunakan sebagai Trojan atau Malware.

/ip firewall filter
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="PORT SCANNER" protocol=tcp \
    psd=21,3s,3,1
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" \
    protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="SYN/FIN scan" protocol=tcp \
    tcp-flags=fin,syn
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="SYN/RST scan" protocol=tcp \
    tcp-flags=syn,rst
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" \
    protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="ALL/ALL scan" protocol=tcp \
    tcp-flags=fin,syn,rst,psh,ack,urg
add action=accept chain=output comment="FTP BLAACKLIST" content=\
    "530 Login incorrect" dst-limit=1/1m,9,dst-address/1m protocol=tcp
add action=add-dst-to-address-list address-list=ftp_blacklist \
    address-list-timeout=3h chain=output content="530 Login incorrect" \
    protocol=tcp
add action=add-src-to-address-list address-list=ssh_blacklist \
    address-list-timeout=1w3d chain=input comment="SSH BLACKLIST" \
    connection-state=new dst-port=22 protocol=tcp src-address-list=\
    ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp
add action=add-src-to-address-list address-list=proxy-socks-exploit \
    address-list-timeout=5m chain=forward comment="PROXY SOCKS EXPLOIT" \
    dst-port=8000,3128,1080,4145 in-interface=ether1 log-prefix=\
    "PROXY SOCKS EXPLOIT : " protocol=tcp
/ip firewall raw
add action=drop chain=prerouting comment="DROP ACTIVE DIRECTORY" dst-port=\
    445 log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="DROP TCPMUX" dst-port=1 \
    log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="SSH BLACKLIST" in-interface=\
    ether1 src-address-list=ssh_blacklist
add action=drop chain=prerouting comment="DROP WINBOX" dst-port=8291 \
    in-interface=ether1 log-prefix="DROP WINBOX EXPLOIT : " \
    protocol=tcp src-address-list=winbox-exploit
add action=drop chain=prerouting comment="DROP PORT SCANNER" \
    in-interface=ether1 log-prefix="DROP PORT SCANER : " \
    src-address-list="port scanners"
add action=drop chain=prerouting comment="DROP PROXY SOCKS" \
    in-interface=ether1 log-prefix="DROP PROXY SOCKS : " \
    src-address-list=proxy-socks-exploit
add action=drop chain=prerouting comment="DROP NETBIOS" dst-port=137-139 \
    log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="DROP NETBIOS" dst-port=137-139 \
    log-prefix="drop 445 : " protocol=udp

Pada Firewall Rules dan RAW yang telah konfigurasikan diatas, perlu Anda ketahui fungsi masing masing Rules dan Raw tersebut.

  • Firewall Rules nomor 0 – 5 adalah mengcapture IP yang melakukan Port Scanning ke Mikrotik Anda kemudian dimasukkan ke dalam Address-List yang bernama Port_Scanning yang mana Filter Raw kami gunakan untuk memblokir Akses dari IP pada Address-List tersebut dilevel Pre-Routing.
  • Firewall Rules nomor 6 & 7 adalah mengcaptured IP yang mencoba melakukan brute force ke FTP Server Anda secara berulang-ulang dengan username atau password yang salah, mengirimkan IP ke Address-List bernama ftp_blacklist. Kemudian Filter Raw akan memblokir Akses dari IP yang terdaftar pada Address-List tersebut pada level Pre-Routing.
  • Sedangkan pada Firewall Rules nomor 8-11, berfungsi untuk memblokir Brute Force pada sisi Port SSH dengan tahapan-tahapan yang kita telah buat. Ketika masuk pada stage3, dan visitor tersebut tetap melakukan Brute Force, maka IP visitor tersebut akan diforward ke Address-List bernama ssh_blacklist. Dan Filter Raw akan melakukan blokir atas source IP tersebut pada Level Pre-Routing.
  • Pada Firewall Raw sendiri, ada beberapa Rules yang kita peruntukkan untuk memblokir akses ke beberapa Port yang sering digunakan para hacker untuk melakukan penetrasi ke jaringan kita. Diantara lain adalah:
    • Rules 0: Port TCP 445 untuk akses Active Directory
    • Rules 1: Port TCP 1 untuk akses TCPMux
    • Rules 6: Port TCP 137-139 untuk akses Netbios
    • Rules 7: Port UDP 137-139 untuk akses Netbios
    • Rules 8: Port TCP 27374 untuk akses Trojan Sub7
    • Rules 9: Port UDP 27374 untuk akses Trojan Sub7
    • Rules 10: Port UDP 4444 untuk akses dari beberapa Trojan berbahaya. Selengkapnya silahkan baca https://www.speedguide.net/port.php?port=4444.

Baca Artikel kami tentang Cara Penggunaan CLI Dasar pada Mikrotik RouterOS.

Penutup

Seluruh Firewall Rules dan Raw diatas adalah bukan bentuk baku yang harus Anda ikuti. Anda harus mengikuti sesuai dengan kebutuhan dan Topologi jaringan Anda. Kemungkinan ada beberapa Rules yang butuh adjustment ataupun revisi untuk disesuaikan dengan kebutuhan jaringan Anda.

Melindungi Router Mikrotik dari Ransomware

Melindungi Mikrotik dari Ransomware

Akhir akhir ini marak kejadian Router Mikrotik di Hack oleh orang-orang yang tidak bertanggung jawab dengan mengunci Boot Loader di Mikrotik Router tersebut sehingga tidak dapat dilakukan reset ataupun netinstall dan melakukan permintaan imbalan untuk membuka kunci Boot Loader Mikrotik tersebut. Hal ini kita sebutkan sebagai Ransomware.

Apa itu Ransomware? Ransomware adalah jenis perangkat lunak berbahaya yang dirancang untuk memblokir akses ke sistem komputer, router atau perangkat dalam sebuah jaringan dan bahkan sebuah file di komputer Anda hingga sejumlah uang dibayarkan. Dalam hal Router Mikrotik, pelaku mengunci Boot Loader Router yang terpengaruh, membuatnya tidak dapat diakses, dan meminta pembayaran tebusan untuk memulihkan akses perangkat tersebut.

Apakah Anda membutuhkan IP Publik untuk Mikrotik atau Server lokal Anda? Atau mungkin Anda mencari solusi Tunneling untuk mengganti nama ISP di Speedtest Anda. VPS Mikrotik CHR Murah dari Herza.ID adalah solusinya.

Nah, maka dari itu, mari kita menyimak beberapa tahapan yang dapat membantu Anda dalam melindungi Router Mikrotik Anda dari Ransomware.

Cara Melindungi Router Mikrotik dari Ransomware

Lakukan Daily Backup

Lakukan backup secara berkala atas konfigurasi router mikrotik Anda untuk menghindari lamanya downtime ketika Router Anda bermasalah. Dengan melakukan backup secara berkala, ketika Router Anda bermasalah, Anda dengan mudah dapat mengganti Router Anda dengan Router cadangan dengan mengimport file konfigurasi yang telah terbackup sebelumnya. Hal ini dapat kita lakukan menggunakan scheduler script untuk membackup ke email.

/system script
add dont-require-permissions=yes name=EmailBackup source=":\
    log info \"Starting Backup Script...\"\r\
    \n:global backupfile ([/system identity get name] . \".backup\")\r\
    \n:if ([/file find name=\$backupfile] != \"\") do={/file rem \$backu\
    pfile}\r\
    \n:delay 2s\r\
    \n/system backup save name=\$backupfile\r\
    \n:log info \"Waiting 7s for backup to complete...\"\r\
    \n:delay 7s\r\
    \n:log info \"Backup being emailed...\"\r\
    \n/tool e-mail send to=\"[email protected]\" subject=([/system ide\
    ntity get name] . \" Backup\") [email protected] user=\"[email protected]\" password=\"passwordemailku\" file=\$backupfile server=smtp.emailku.com\r\
    \n:log info \"Finished Backup Script!\""
/system scheduler
add interval=1d name=EmailBackup on-event=ebackup start-date=\
    mar/04/2019 start-time=01:00:00

Jangan lupa untuk mengganti domain @emailku.com dengan domain ISP atau perusahaan anda, ganti passwordemailku dengan password email anda yang digunakan untuk mengirim email, ganti smtp.emailku.com dengan smtp ISP atau perusahaan anda.

Silahkan baca Panduan Dasar Mikrotik CLI (Command Line Interface), mungkin bermanfaat buat Anda.

Pengamanan Dasar Mikrotik

Selanjutnya, untuk mengamankan Router Mikrotik Anda, sangat disarankan bagi seluruh User Mikrotik untuk melakukan beberapa langkah dasar berikut untuk pengamanan di Router Anda.

Jangan Pernah Menggunakan Port Default Winbox

Selalu untuk merubah port standar winbox dari 8291 menjadi port lainnya, ingat jangan gunakan port 0 sd 1024 karena port tersebut sudah digunakan oleh layanan yang sudah di definisikan secara baku, pakailah port di atas 1024 misalnya menjadi 18291 jangan gunakan port diatas 65535 https://en.wikipedia.org/wiki/Port_(computer_networking)

Caranya, di RouterOS Anda klik IP > SERVICE kemudian akan muncul window IP SERVICE LIST seperti dibawah ini. Double Klik Winbox, kemudian ganti Port sesuai dengan yang Anda inginkan.

Kemudian, layanan-layanan yang Anda tidak butuhkan seperti API, FTP, SSH, Telnet, WWW jika tidak butuhkan sebaiknya di Non Aktifkan dengan cara memilih layanan tersebut kemudian mngklik tombok X pada window IP SERVICE LIST tersebut.

Grouping Interface ke Interface-List

Membuat grouping interface ke dalam interface-list untuk memudahkan dalam pembuatan rule firewall yang akan kita buat.

Pada script berikut saya membuat interface list dengan nama “Upstream” dengan memasukkan interface VLAN dengan nama OpenIXP, CDIX dan ether4 kedalam list Upstream tersebut. Kita bisa memasukan beberapa interface fisik ataupun VLAN ke sebuah list interface.

/interface list
add comment="Interface Upstream" name=Upstream
/interface list member
add interface=ether4 list=Upstream
add interface=OpenIXP list=Upstream
add interface=CDIX list=Upstream
Grouping IP Address sebagai ournetwork

Sekarang kita akan membuat grouping IP Address dan/atau Network Address “ournetwork” yang akan berisi seluruh prefix IP yang Anda gunakan serta IP PTP Upstream Anda.

/ip firewall address-list
add address=103.152.XXX.XXX/23 list=ournetwork
add address=192.168.XXX.XXX/24 list=ournetwork
add address=202.78.XXX.XXX/27 comment=DTP-IIX list=PTP-Upstream
add address=218.100.XXX.XXX/24 comment=OpenIXP list=PTP-Upstream
add address=103.30.XXX.XXX/23 comment=CDIX list=PTP-Upstream
add address=103.225.XXX.XXX/25 comment=CXC list=PTP-Upstream
Buat Firewall Rules & Raw untuk Mengamankan Router Anda

Setelah Interface List dan IP Address telah kita grouping, sekarang kita bisa dengan mudah menggunakan list tersebut kedalam Firewall Rules & Raw yang akan kita gunakan.

/ip firewall filter
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="PORT SCANNER" protocol=tcp \
    psd=21,3s,3,1
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" \
    protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="SYN/FIN scan" protocol=tcp \
    tcp-flags=fin,syn
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="SYN/RST scan" protocol=tcp \
    tcp-flags=syn,rst
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" \
    protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="Port_Scanner" \
    address-list-timeout=2w chain=input comment="ALL/ALL scan" protocol=tcp \
    tcp-flags=fin,syn,rst,psh,ack,urg
add action=accept chain=output comment="FTP BLAACKLIST" content=\
    "530 Login incorrect" dst-limit=1/1m,9,dst-address/1m protocol=tcp
add action=add-dst-to-address-list address-list=ftp_blacklist \
    address-list-timeout=3h chain=output content="530 Login incorrect" \
    protocol=tcp
add action=add-src-to-address-list address-list=ssh_blacklist \
    address-list-timeout=1w3d chain=input comment="SSH BLACKLIST" \
    connection-state=new dst-port=22 protocol=tcp src-address-list=\
    ssh_stage3
add action=add-src-to-address-list address-list=ssh_stage3 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp src-address-list=ssh_stage2
add action=add-src-to-address-list address-list=ssh_stage2 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp src-address-list=ssh_stage1
add action=add-src-to-address-list address-list=ssh_stage1 \
    address-list-timeout=1m chain=input connection-state=new dst-port=22 \
    protocol=tcp
add action=accept chain=input comment="ACCEPT BGP DARI Upstream" \
    in-interface-list=Upstream log-prefix="bgp  : " protocol=tcp \
    src-address-list=PTP-Upstream
add action=accept chain=input comment="ACCEPT BGP DARI Upstream" \
    dst-address-list=PTP-Upstream in-interface-list=Upstream log-prefix=\
    "bgp  : " protocol=tcp
add action=accept chain=input comment="ACCEPT ICMP" log-prefix="icmp  : " \
    protocol=icmp src-address-list=ournetwork
add action=accept chain=input comment="ACCEPT ICMP" log-prefix="icmp  : " \
    protocol=icmp src-address-list=PTP-Upstream
add action=accept chain=input comment="ACCEPT ALL DARI ROUTER DISTRIBUSI" \
    in-interface-list=!Upstream log-prefix="not Upstream : " \
    src-address-list=ournetwork
add action=accept chain=input comment="ACCEPT ALL DARI ROUTER DISTRIBUSI" \
    dst-address-list=ournetwork in-interface-list=!Upstream log-prefix=\
    "not Upstream : "
add action=add-src-to-address-list address-list=winbox-exploit \
    address-list-timeout=5m chain=forward comment="WINBOX EXPLOIT" \
    dst-port=8291 in-interface-list=Upstream log-prefix="WINBOX EXPLOIT : " \
    protocol=tcp
add action=add-src-to-address-list address-list=proxy-socks-exploit \
    address-list-timeout=5m chain=forward comment="PROXY SOCKS EXPLOIT" \
    dst-port=8000,3128,1080,4145 in-interface-list=Upstream log-prefix=\
    "PROXY SOCKS EXPLOIT : " protocol=tcp

Dari script firewall rules diatas bisa kami jelaskan adalah mengenai akss yang dibolehkan ke Mikrotik RouterOS hanya dari address-list=ournetwork dan PTP-Upstream sedangkan akses dari interface distribusi atau “!Upstream” = bukan Upstream di ALLOW. Serta koneksi BGP via TCP di ALLOW dari dan ke interface “Upstream”

Sedangkan pada IP > FIREWALL > RAW, saya manDROP seluruh aktivitas yang telah ditangkap oleh Firewall Rules yang kami buat diatas seperti SSH BLACKLIST (Percobaan bruteforce ke SSH Router Mikrotik), DROP WINBOX (Seluruh Akses ke Port Winbox Default 8291 akan ditolak demi keamanan) dan juga DROP PORT SCANNER (Seluruh aktivitas Scanning akan diblok oleh Filter Raw ini. Disamping itu, saya juga menangkap dan DROP semua traffic ke yang mengarah ke Port 8000,3128,1080,4145 yang masuk via interface Upstream menuju ke jaringan distribusi yang dikawatirkan digunakan hacker untuk menyerang Mikrotik RouterOS distribusi dan pelanggan di melalui IP->Firewall->Raw

/ip firewall raw
add action=drop chain=prerouting comment="DROP ACTIVE DIRECTORY" dst-port=\
    445 log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="DROP TCPMUX" dst-port=1 \
    log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="SSH BLACKLIST" in-interface-list=\
    Upstream src-address-list=ssh_blacklist
add action=drop chain=prerouting comment="DROP WINBOX" dst-port=8291 \
    in-interface-list=Upstream log-prefix="DROP WINBOX EXPLOIT : " \
    protocol=tcp src-address-list=winbox-exploit
add action=drop chain=prerouting comment="DROP PORT SCANNER" \
    in-interface-list=Upstream log-prefix="DROP PORT SCANER : " \
    src-address-list="port scanners"
add action=drop chain=prerouting comment="DROP PROXY SOCKS" \
    in-interface-list=Upstream log-prefix="DROP PROXY SOCKS : " \
    src-address-list=proxy-socks-exploit
add action=drop chain=prerouting comment="DROP NETBIOS" dst-port=137-139 \
    log-prefix="drop 445 : " protocol=tcp
add action=drop chain=prerouting comment="DROP NETBIOS" dst-port=137-139 \
    log-prefix="drop 445 : " protocol=udp

Penutup

Seluruh Firewall Rules dan Raw diatas adalah bukan bentuk baku yang harus Anda ikuti. Anda harus mengikuti sesuai dengan kebutuhan dan Topologi jaringan Anda. Kemungkinan ada beberapa Rules yang butuh adjustment ataupun revisi untuk disesuaikan dengan kebutuhan jaringan Anda.