Langsung ke konten utama

Knock.. Knock | Who's there? - MikroTik Squence Port Knocking



Setelah insiden beberapa bulan yang lalu (lihat  Pembunuhan Berantai, MikroTik Tetap Kokoh), security awarness menjadi sebuah concern bagi sebagian besar administrator jaringan. Karena di luar sana sudah berkeliaran banyak sekali pelaku kejahatan, mulai dari yang punya niat tertentu atau bahkan hanya sekedar iseng.

Sebagian besar pengguna masih mengandalkan username dan password saja. Metode ini sangat kuno dan sangat berbahaya karena bisa jadi pelaku mempunyai teknik untuk mengetahui username dan password. Oleh karena itu dibutuhkan lapisan pengamanan ekstra yang hanya diketahui oleh pengguna RouterOS itu sendiri. Dibawah ini saya akan menjelaskan salah satu teknik yang sudah cukup populer. Ya teknik ini disebut sebagai Sequence Port Knocking (atau orang menyebut Port Knocking saja).

How does it work?
Port Knocking sendiri adalah sebuah teknik memanfaatkan port yang tidak digunakan oleh router untuk menginisiasi pembukaan firewall dalam menerima akses dari IP pengguna.

Pada dasarnya  port service yang ingin digunakan dalam keadaan terbuka. Hanya saja, sebuah filter melakukan drop pada semua akses ke port tersebut kecuali dari IP yang terdaftar (whitelist). Sehingga komputer menganggap port yang dimaksud dalam keadaan tertutup. Nah pertanyaan besarnya, bagaimana pengguna menambahkan IP mereka ke dalam whitelist apabila IP-nya adalah dinamis sedangkan mereka tidak dapat mengakses router?

Anda dapat memanfaatkan fitur add source address to list. Fungsi dari fitur add source address to list  adalah setiap pengguna yang melakukan koneksi dengan kriteria tertentu,  maka IP asal (source address) akan ditambahkan pada sebuah daftar (list).

Dengan fitur ini anda dapat melakukan pemanggilan (knocking - that's why it's called port knocking) pada serangkaian port yang tidak digunakan tadi kemudian source address-nya ditambahkan ke dalam list. Untuk menghindari knocking yang acak (random) sebaiknya knocking yang dilakukan pada setiap port yang berbeda, digunakan list yang berbeda pula. Selain itu, hal ini dapat menambahkan aspek keamanan tambahan karena knocking harus dilakukan secara urut (sequence).

Implementasi pada RouterOS
Untuk melakukan implementasi, ada beberapa tahap yang harus dilakukan.

1. Membuka Akses Publik
Buka dulu seluruh akses publik yang dibutuhkan, misalkan remote DNS (anda bisa menambahkan rule untuk service lain)

/ip firewall filter add chain=input src-address=192.168.1.0/24 protocol=tcp dst-port=53 in-interface=local action=accept

/ip firewall filter add chain=input src-address=192.168.1.0/24 protocol=udp dst-port=53 in-interface=local action=accept

2. Membuka Koneksi yang Sudah Terbuat (Established, Related)
Rule ini dimaksudkan untuk tetap mengizinkan koneksi yang berhasil dibuat. Jika tidak diizinkan, maka akses anda ke router akan langsung terputus dan anda tidak akan bisa mengaksesnya kembali

/ip firewall filter add chain=input connection-state=established,related action=accept

3. Let's Knock
Misalkan knocking dilakukan sebanyak 3 kali pada port 1234, 6969 dan 2203 kali. Anda harus menambahkan rule sejumlah knocking dengan list berbeda.

/ip firewall filter add chain=input action=add-src-to-address-list protocol=tcp address-list=1portKnocking address-list-timeout=10s dst-port=1234

/ip firewall filter add chain=input action=add-src-to-address-list protocol=tcp src-address-list=1portKnocking address-list=2portKnocking address-list-timeout=10s dst-port=6969 

/ip firewall filter add chain=input action=add-src-to-address-list protocol=tcp src-address-list=2portKnocking address-list=let-in address-list-timeout=1m dst-port=2203

4. Don't let their a*ss Touch Your Router
Langkah selanjutnya adalah menolak seluruh akses dengan IP yang tidak ada di dalam list terakhir (let-in).

/ip firewall filter add chain=input action=drop src-address-list=!let-in

PERHATIAN
RULE INI AKAN MEMUTUSKAN SELURUH KONEKSI. PASTIKAN RULE PADA POIN 2 SUDAH DIBUAT

5. Akses Router
Untuk dapat mengakses router, anda harus mengakses dahulu port yang sudah dijadikan acuan sebelumnya. Karena protokol yang digunakan adalah TCP, maka anda bisa menggunakan browser dan mengakses alamat IP beserta port secara berurutan. Misalkan anda harus membuka http://192.168.1.1:1234, setelah loading berhenti dilanjutkan http://192.168.1.1:6969 kemudian http://192.168.1.1:2203

Bisa juga menggunakan aplikasi seperti aplikasi ini atau dapat diakses secara langsung melalui browser secara beraturan. Atau anda bisa membuat sendiri knocker menggunakan Windows Batch (membutuhkan akses telnet) dengan cara:
a. Buka aplikasi notepad.exe
b. Masukkan script berikut:


c. Simpan dengan nama misalkan knock.bat (pastikan Save as type: All files)


Sebagai tambahan, langkah ini juga dapat menghindarkan RouterOS dari port scanner. Terutama dari mesin scanner raksasa shodanhq.com

Terima kasih, semoga bermanfaat.
Salam





Reference:
- Discher, S. (2010). Port Knocking for Security. Presentation, MUM United State.
- Anonymous. Mikrotik.ID : Simple Port Knocking. (2018). Retrieved from http://www.mikrotik.co.id/artikel_lihat.php?id=105

Komentar

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Live Streaming ke Banyak Media Sosial

Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook. Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.