Filter Serangan Bruto Force pada L2TP Server

Tentu, sama seperti PPTP, L2TP juga rentan terhadap serangan brute force di Mikrotik. Konsep pemfilteran untuk L2TP akan sangat mirip dengan PPTP, namun dengan penyesuaian pada protokol dan port yang digunakan.

L2TP menggunakan:

  • UDP Port 1701 (untuk inisiasi koneksi)

  • UDP Port 500 (untuk ISAKMP/IKE, bagian dari IPsec yang sering digunakan bersama L2TP)

  • UDP Port 4500 (untuk IPsec NAT-T, jika klien berada di belakang NAT)

  • IP Protocol 50 (ESP) (untuk enkapsulasi data IPsec)

Berikut adalah contoh konfigurasi firewall filter rules di Mikrotik untuk memfilter serangan brute force L2TP:

1. Buat Address List untuk Blokir Bertahap

/ip firewall address-list
add name=l2tp_blacklist_DROP comment="L2TP Brute Force - Final Block"
add name=l2tp_blacklist_stage_3 comment="L2TP Brute Force - Stage 3"
add name=l2tp_blacklist_stage_2 comment="L2TP Brute Force - Stage 2"
add name=l2tp_blacklist_stage_1 comment="L2TP Brute Force - Stage 1"

2. Tambahkan Firewall Filter Rules

/ip firewall filter
# Rule 1: Drop koneksi dari IP yang sudah masuk blacklist final
add action=drop chain=input comment="L2TP Brute Force DROP - Block all L2TP traffic" \
    disabled=no log=yes log-prefix="Block_L2TP_bruteforce" \
    src-address-list=l2tp_blacklist_DROP

# Rule 2: Tambahkan ke stage 3 jika sudah di stage 2 dan gagal lagi
# Cek pesan log untuk "failed to get secret", "bad username or password" atau sejenisnya
add action=add-src-to-address-list address-list=l2tp_blacklist_DROP \
    address-list-timeout=10m chain=input comment="L2TP Brute Force - Stage 3" \
    content="failed to get secret for user" disabled=no \
    src-address-list=l2tp_blacklist_stage_2 protocol=udp dst-port=1701

# Rule 3: Tambahkan ke stage 2 jika sudah di stage 1 dan gagal lagi
add action=add-src-to-address-list address-list=l2tp_blacklist_stage_3 \
    address-list-timeout=5m chain=input comment="L2TP Brute Force - Stage 2" \
    content="failed to get secret for user" disabled=no \
    src-address-list=l2tp_blacklist_stage_1 protocol=udp dst-port=1701

# Rule 4: Tambahkan ke stage 1 untuk percobaan gagal pertama
add action=add-src-to-address-list address-list=l2tp_blacklist_stage_2 \
    address-list-timeout=2m chain=input comment="L2TP Brute Force - Stage 1" \
    content="failed to get secret for user" disabled=no \
    src-address-list=l2tp_blacklist_stage_1 protocol=udp dst-port=1701
# Note: Ini adalah kesalahan ketik, seharusnya rule ini mengisi l2tp_blacklist_stage_1.
# Mari kita perbaiki dan tambahkan rule untuk mengisi l2tp_blacklist_stage_1 dari awal.

# Perbaikan dan penyempurnaan Rules:

# Rule 1: Drop koneksi dari IP yang sudah masuk blacklist final
add action=drop chain=input comment="L2TP Brute Force DROP - Block all L2TP traffic" \
    disabled=no log=yes log-prefix="Block_L2TP_bruteforce" \
    src-address-list=l2tp_blacklist_DROP

# Rule 2: Tambahkan ke stage 3 (l2tp_blacklist_DROP) jika sudah di stage 2 dan gagal lagi
add action=add-src-to-address-list address-list=l2tp_blacklist_DROP \
    address-list-timeout=10m chain=input comment="L2TP Brute Force - Escalation to DROP" \
    content="failed to get secret for user" disabled=no \
    src-address-list=l2tp_blacklist_stage_2 protocol=udp dst-port=1701

# Rule 3: Tambahkan ke stage 2 jika sudah di stage 1 dan gagal lagi
add action=add-src-to-address-list address-list=l2tp_blacklist_stage_2 \
    address-list-timeout=5m chain=input comment="L2TP Brute Force - Escalation to Stage 2" \
    content="failed to get secret for user" disabled=no \
    src-address-list=l2tp_blacklist_stage_1 protocol=udp dst-port=1701

# Rule 4: Tambahkan ke stage 1 untuk percobaan gagal pertama
add action=add-src-to-address-list address-list=l2tp_blacklist_stage_1 \
    address-list-timeout=2m chain=input comment="L2TP Brute Force - Initial Detection (Stage 1)" \
    content="failed to get secret for user" disabled=no \
    protocol=udp dst-port=1701

Penjelasan dan Penyesuaian:

  1. content="failed to get secret for user": Ini adalah bagian yang sangat krusial. Anda harus memastikan bahwa pesan log Mikrotik Anda untuk kegagalan login L2TP adalah persis seperti ini atau mirip.

    • Cara Memeriksa: Lakukan percobaan login L2TP yang sengaja gagal (salah username atau password) dari klien Anda.

    • Buka System > Logging di Winbox atau ketik /log print di terminal Mikrotik.

    • Cari pesan yang muncul saat login L2TP gagal. Contohnya bisa seperti:

      • l2tp,info,debug,account,ppp,info <l2tp-client>: authentication failed

      • l2tp,debug,ppp,debug <l2tp-client>: L2TP: authentication failed for user <username>

      • l2tp,info,debug,account,ppp,info <l2tp-client>: failed to get secret for user <username>

    • Gunakan bagian string yang paling spesifik dan konsisten. Dalam contoh di atas, saya menggunakan "failed to get secret for user". Jika Mikrotik Anda mengeluarkan pesan yang berbeda, ubah content di aturan firewall Anda sesuai dengan pesan log tersebut.

  2. protocol=udp dst-port=1701: Ini menargetkan koneksi L2TP awal.

  3. address-list-timeout: Sesuaikan waktu timeout sesuai kebutuhan Anda.

    • Stage 1 (initial): Blokir sebentar, misal 1-2 menit.

    • Stage 2 (escalation): Blokir lebih lama, misal 5 menit.

    • DROP (final): Blokir cukup lama, misal 10 menit, 30 menit, atau bahkan 1 jam. Anda juga bisa membuatnya permanen jika ingin memblokir IP tersebut selamanya (tanpa address-list-timeout).

  4. Urutan Aturan Penting: Pastikan aturan drop untuk l2tp_blacklist_DROP berada di urutan paling atas dari semua aturan L2TP, diikuti oleh aturan eskalasi dari stage 3 ke 2, dan terakhir stage 1. Mikrotik memproses aturan dari atas ke bawah.

Cara Mengimplementasikan:

  1. Login ke Mikrotik menggunakan Winbox atau SSH.

  2. Buka IP > Firewall.

  3. Pilih tab Address Lists dan tambahkan address list seperti yang dicontohkan di atas.

  4. Pilih tab Filter Rules dan tambahkan aturan satu per satu dari atas ke bawah.

Langkah-langkah Pencegahan Tambahan untuk L2TP:

  • Kata Sandi yang Kuat: Ini adalah pertahanan paling fundamental. Gunakan kombinasi karakter yang kompleks.

  • Gunakan IPsec (Pre-Shared Key): Pastikan Anda menggunakan IPsec dengan Pre-Shared Key (PSK) yang kuat untuk koneksi L2TP/IPsec Anda. Ini akan memberikan lapisan keamanan tambahan terhadap upaya penyadapan dan tampering. Jangan gunakan PSK yang mudah ditebak.

  • Batasi Akses IP ke Server L2TP: Jika memungkinkan, izinkan hanya alamat IP tertentu untuk terhubung ke server L2TP Anda.

    /ip firewall filter
    # Izinkan port L2TP/IPsec dari IP terpercaya
    add action=accept chain=input protocol=udp dst-port=1701,500,4500 src-address=YOUR_ALLOWED_IP comment="Allow L2TP/IPsec from trusted IP"
    add action=accept chain=input protocol=ipencap src-address=YOUR_ALLOWED_IP comment="Allow ESP (IPsec) from trusted IP" # Protocol 50 for ESP
    
    # Drop koneksi L2TP/IPsec dari IP lain
    add action=drop chain=input protocol=udp dst-port=1701,500,4500 comment="Drop L2TP/IPsec from others"
    add action=drop chain=input protocol=ipencap comment="Drop ESP (IPsec) from others"
    

    Pastikan aturan accept berada di atas aturan drop.

  • Perbarui RouterOS Secara Teratur: Pastikan RouterOS Anda selalu diperbarui ke versi stabil terbaru untuk mendapatkan perbaikan keamanan.

  • Pantau Log Sistem: Secara rutin periksa log sistem Anda untuk aktivitas L2TP yang mencurigakan. Aktifkan logging yang lebih detail untuk PPP/L2TP jika perlu, namun ingat bahwa ini bisa mengisi log dengan cepat.

Dengan penerapan aturan firewall yang tepat dan praktik keamanan yang baik, Anda dapat secara efektif melindungi server L2TP Anda dari serangan brute force.

DMCA.com Protection Status
|
Scroll to top
Code Copied!