Dari Kabel ke Cloud: Perjalanan Network Engineer yang Nyemplung ke Dapur System

 

Kadang saya senyum sendiri.

Saya ini seorang Network Engineer, yang biasanya sibuk ngurusin routing, switching, firewall, DNS, BGP, sampai tarik kabel dan radio. Pokoknya kerjaan saya memastikan data bisa lewat dengan cepat, aman, dan stabil.

Tapi belakangan, kok saya sudah nyemplung ke dunia System Engineer?
Ngoprek server, database, API, sampai backend aplikasi. Rasanya kayak lagi ambil dapurnya orang lain 😅.


Mindset yang Berbeda, Tapi Nyambung

  • Network Engineer mindset → fokus ke konektivitas. Dari API exchange ↔ server ↔ dashboard. Pastikan latency rendah, koneksi aman, nggak ada bottleneck.

  • System Engineer mindset → fokus ke backend. Ngurus database, scaling bot, integrasi API, middleware, sampai bikin dashboard frontend.

Nah, di project robot trading ini, ternyata saya harus pakai dua kacamata itu sekaligus. Dan hasilnya, makin sadar kalau dunia network & system itu sebenarnya saling melengkapi.


Kenapa Nggak Bisa Dipisah?

Trading modern itu bukan cuma soal algoritma pintar.

  • Bot bisa kalah hanya karena latency lebih tinggi sepersekian detik.

  • Ada konsep co-location, taruh server sedekat mungkin dengan bursa biar delay minimal.

  • Market data itu mirip traffic. Bot decision itu kayak firewall policy — harus diputuskan cepat dan tepat.

Kalau developer jago algoritma tapi nggak paham network, seringkali kalah di lapangan.
Tapi kalau network engineer ngerti “dapur” sistem, justru punya advantage besar. 🚀


Evolusi yang Alami

Jadi, buat saya ini bukan sekadar “keluar jalur”.
Tapi evolusi natural:

  • Dari Network Engineer

  • Ke System Engineer

  • Lalu gabung jadi Full Stack Infra Engineer (network + sistem + AI).

Dan inilah skillset yang jarang ada. Banyak perusahaan fintech, ISP, bahkan startup AI butuh orang yang bisa ngerti dari kabel sampai cloud.


Penutup

Kalau ada yang tanya: “Kenapa network engineer kok sampai ambil dapurnya system engineer?”
Jawaban saya:
👉 Karena dapurnya memang nyambung ke jaringan.

Kalau mau robot trading benar-benar optimal, kita butuh keduanya: otak algoritma + jalur koneksi kilat.
Dan di situlah seorang network engineer bisa bawa warna baru.


💬 Bagaimana menurut teman-teman?
Apakah batas antara network engineer dan system engineer memang makin tipis sekarang?

CV_SOPHAN_AHMAD

SOPHAN AHMAD
Jln Sejahtera, Kab. Wajo, Sulawesi Selatan, Indonesia
📞 +62 853 9800 6431 | ✉️ cicwarnet@gmail.com
🔗 linkedin.com/in/sophan-ahmad-38ba4a69


Professional Summary

Power & Network Engineer with 20+ years of experience in IT infrastructure, networking, and system administration. Skilled in troubleshooting, server and network management, and implementing reliable power solutions. Experienced in assembling and deploying solar cell backup systems, rectifiers, and batteries for telecom towers in off-grid areas. Adept at site survey, installation, commissioning, monitoring, and ensuring system uptime.


Core Skills

  • Power Systems: Solar cell assembly, Rectifier integration, Lithium/Lead-acid battery handling, UPS

  • Networking: PPPoE, VLAN, DHCP, NAT, Firewall, Hotspot, Bandwidth Management

  • Protocols: TCP/IP, OSPF, BGP, DNS, VPN (PPTP, L2TP)

  • Devices: MikroTik, Ubiquiti, FiberHome ONT

  • Operating Systems: Debian/Ubuntu Server, RouterOS, Windows Server

  • Monitoring: Grafana, Prometheus, AdGuard, Telegram Bots, familiarity with BMS/NMS/PMS

  • Other Skills: Helpdesk, Access Control, Risk Assessment, Policy Writing, Troubleshooting, Project Coordination


Professional Experience

Community FTTH Operator (RT/RW Net) – Wajo, Indonesia | 2021 – Present

  • Built and operated FTTH network with 50+ daily active users.

  • Implemented PPPoE, VLAN, and bandwidth management (1:10 ratio).

  • Assembled solar cell backup systems for towers without electricity, integrating rectifiers and batteries.

  • Automated user isolation/reconnect system for billing.

  • Integrated AdGuard & BIND for DNS filtering.

  • Developed real-time monitoring and alert system with Grafana & Telegram.

Network Engineer – CV Rufaidah Network Solution | 2017 – 2023

  • Optimized network performance (15% faster data transfers).

  • Scaled capacity to maintain 99% uptime.

  • Updated and enforced security policies, reducing breaches by 20%.

System & Network Administrator – LPSE Kabupaten Wajo | 2017 – 2019

  • Installed and configured routers, switches, and firewalls.

  • Diagnosed and resolved network/system issues.

  • Monitored system performance and supported staff.

System Administrator – PT Olami Tinelo Lipu | 2004 – 2006

  • Designed and implemented new network architecture.

  • Developed and enforced IT security policies.

  • Provided user support and ensured system uptime.


Certifications

  • Magma: Cloud Native Wireless Networking – Linux Foundation (2025)

  • Open Source and the 5G Transition – Linux Foundation (2025)

  • Edge IoT Solutions with EdgeX Foundry – Linux Foundation (2025)

  • Cybersecurity Essentials – Linux Foundation (2025)

  • XSS Exploits and Defenses – Linux Foundation (2025)

  • Open Source License Compliance – Linux Foundation (2025)

  • Intro to Cybercrime | Cloud Security | Cyber Security – Linux Foundation (2024)

  • Linux Fundamental – Aguna Course (2024)

  • Network Fundamental – Aguna Course (2024)

  • Certificate of Appreciation – Rumahweb Indonesia, PANDI & Swakarta (2024)

  • D3 Accounting – Universitas Negeri Gorontalo (2003)


Education

Diploma (D3) – Accounting
Universitas Negeri Gorontalo | 2003


References

Available upon request.

FIREWALL MIKROTIK: PROTEKSI DDOS, BOTNET & BLOKIR VPN/PROXY


FIREWALL MIKROTIK: PROTEKSI DDOS, BOTNET & BLOKIR VPN/PROXY

Oleh: Sophan Ahmad


PENDAHULUAN

Jaringan tanpa proteksi rentan terhadap serangan DDoS, botnet, dan penyalahgunaan VPN/proxy oleh klien. DDoS (Distributed Denial of Service) membanjiri server/jaringan dengan trafik sampah. Botnet adalah jaringan komputer yang terinfeksi malware untuk melakukan serangan atau scanning. Sedangkan VPN/proxy sering dipakai klien nakal untuk menghindari aturan bandwidth atau blokir.

MikroTik RouterOS menyediakan fitur firewall lengkap untuk mitigasi masalah-masalah ini. Dokumen ini akan memberikan tutorial praktis step-by-step.

============================================================
PRINSIP KERJA FIREWALL MIKROTIK

  • Chains: Input (untuk router itu sendiri), Forward (trafik melewati router), Output (dari router).

  • Connection tracking: mencatat status koneksi.

  • Filter rules: untuk menerima, drop, atau log paket.

  • Mangle rules: untuk menandai paket/koneksi.

============================================================
MITIGASI DDOS & BOTNET

1. BLOKIR SYN FLOOD

/ip firewall filter add chain=input protocol=tcp tcp-flags=syn connection-limit=30,32 action=drop comment="Drop SYN flood"

2. BLOKIR UDP FLOOD

/ip firewall filter add chain=forward protocol=udp connection-limit=30,32 action=drop comment="Drop UDP flood"

3. BLOKIR ICMP FLOOD

/ip firewall filter add chain=input protocol=icmp limit=50,5 action=accept comment="Allow limited ICMP"
/ip firewall filter add chain=input protocol=icmp action=drop comment="Drop excess ICMP"

4. DETEKSI BOTNET (SCANNING/ANOMALI)

Blokir koneksi yang membuka terlalu banyak port dalam waktu singkat:

/ip firewall filter add chain=forward protocol=tcp psd=21,3s,3,1 action=drop comment="Drop port scan"

Log koneksi mencurigakan:

/ip firewall filter add chain=forward protocol=tcp connection-limit=100,32 action=log log-prefix="BOTNET? "

============================================================
BLOKIR VPN & PROXY

VPN & Proxy sering memakai port & signature tertentu. Kita bisa mendeteksi & memblokir port umum mereka.

1. BLOKIR PSIPHON

Psiphon sering pakai TCP port 443/80 tapi ciri khasnya menginisiasi banyak koneksi TLS cepat:

/ip firewall filter add chain=forward protocol=tcp tcp-flags=syn connection-limit=10,32 dst-port=443,80 action=drop comment="Drop Psiphon"

2. BLOKIR SHADOWSOCKS

Biasanya pakai TCP/UDP di port acak tapi default 8388:

/ip firewall filter add chain=forward protocol=tcp dst-port=8388 action=drop comment="Drop Shadowsocks TCP"
/ip firewall filter add chain=forward protocol=udp dst-port=8388 action=drop comment="Drop Shadowsocks UDP"

3. BLOKIR OPENVPN

OpenVPN default di UDP 1194:

/ip firewall filter add chain=forward protocol=udp dst-port=1194 action=drop comment="Drop OpenVPN"

4. BLOKIR WIREGUARD

WireGuard pakai UDP default 51820:

/ip firewall filter add chain=forward protocol=udp dst-port=51820 action=drop comment="Drop WireGuard"

5. BLOKIR WEB PROXY / HTTP TUNNEL

Blokir koneksi HTTP CONNECT atau header tertentu dengan layer7 (regex):

/ip firewall layer7-protocol add name=proxy-http regexp="^CONNECT"
/ip firewall filter add chain=forward layer7-protocol=proxy-http action=drop comment="Drop HTTP Proxy"

============================================================
TIPS & BEST PRACTICE

✅ Simpan konfigurasi firewall secara berkala.
✅ Monitor log secara aktif untuk pola aneh.
✅ Jangan hanya mengandalkan satu metode, kombinasikan.
✅ Uji coba setiap aturan di jam sepi sebelum diterapkan penuh.

============================================================
PENUTUP

Firewall MikroTik cukup kuat untuk menghadapi DDoS ringan-menengah, botnet scanning, dan klien nakal yang mencoba VPN/proxy. Dengan skrip sederhana di atas, Anda sudah selangkah lebih aman.

Selamat mencoba & semoga jaringan Anda semakin stabil dan aman.

============================================================
SELESAI ✅

Kisah Network Engineer di Polres Bitung: Tantangan & Solusi

 

Awal Perjalanan

Perjalanan saya sebagai network engineer di Polres Bitung berawal ketika saya menerima telepon dari seorang teman lama, Rezky, anak Manado, yang meminta bantuan untuk menyelesaikan pekerjaan jaringan di Polres Bitung, Sulawesi Utara. Saat itu saya masih berada di Sengkang, Kabupaten Wajo, Sulawesi Selatan.

Tanpa banyak pikir panjang, saya bersiap dan melakukan perjalanan panjang naik motor dari Sengkang melewati Trans Sulawesi, hingga tiba di Bitung. Sepanjang perjalanan ini saya juga sempat beberapa kali singgah ke Kota Gorontalo dan Manado, total tiga kali ke Gorontalo dan satu kali ke Manado sebelum akhirnya tiba di Bitung.

Lingkup Pekerjaan

Sesampainya di Polres Bitung, pekerjaan yang sudah menunggu saya ternyata bukan instalasi kabel dari awal. Rekan-rekan di sana sudah menyelesaikan penarikan kabel. Tugas saya adalah menyambungkan kabel dari switch hub Extreme Networks ke access point (AP) Extreme Networks, baik yang di dalam ruangan maupun yang di luar ruangan.

Biasanya saya terbiasa menggunakan RJ45 AMP untuk konektor kabel jaringan, tetapi kali ini saya diminta menggunakan RJ45 model lain yang sudah disatukan menjadi satu dengan beberapa item, total ada lima item yang berbeda. Hal ini cukup membuat saya harus beradaptasi cepat dengan peralatan yang sudah tersedia.

Tantangan di Lapangan

Tantangan terbesar bukan hanya soal peralatan, tetapi juga dokumentasi yang sangat detail dan cukup rumit. Semua perangkat sudah menyala, namun saya tetap harus memastikan setiap sambungan terdokumentasi dengan rapi, termasuk topologi, label kabel, dan konfigurasi.

Selain itu, saya juga memperhatikan bahwa jaringan Polres hanya menggunakan satu jalur internet melalui provider XL yang jalurnya berada di sepanjang Trans Sulawesi. Saya menyampaikan saran kepada pihak Polres Bitung untuk mempertimbangkan penambahan satu jalur backup (redundancy) karena kabel yang ada rawan putus akibat kondisi medan yang berat dan sering tergeletak di tanah.

Hasil & Pengakuan

Alhamdulillah, semua pekerjaan berhasil saya selesaikan dengan baik. Semua perangkat berjalan normal, access point indoor dan outdoor sudah berfungsi optimal, dokumentasi diselesaikan sesuai standar. Atas kontribusi saya, pihak Polres Bitung melalui Kasium memberikan saya sebuah surat pengalaman kerja bilingual (Indonesia & Inggris) yang menjelaskan secara resmi apa yang saya kerjakan beserta hasilnya.

Penutup

Bekerja sebagai network engineer di lingkungan kepolisian seperti Polres Bitung memberi saya pengalaman berharga. Tidak hanya soal teknis jaringan, tetapi juga belajar bagaimana beradaptasi dengan prosedur ketat, peralatan yang berbeda, dan situasi di lapangan yang penuh tantangan.

Perjalanan panjang dari Sengkang ke Bitung melalui darat naik motor terasa terbayar lunas ketika melihat jaringan di sana berjalan lancar dan semua pihak puas dengan hasilnya.


Penulis saat melakukan pemasangan & konfigurasi perangkat jaringan di Polres Bitung.

Firewall Skala ISP Kecil Menggunakan nftables: Blokir Botnet, VPN, dan Tunneling

 

Pendahuluan

Bagi ISP skala kecil atau RT/RW Net, tantangan keamanan utama adalah trafik mencurigakan dari botnet, penyalahgunaan bandwidth oleh VPN/tunneling, dan akses ilegal ke konten terlarang. nftables di Linux menawarkan solusi firewall ringan, efisien, dan fleksibel.

Artikel ini menyajikan praktik nyata dalam menyusun firewall untuk ISP skala kecil yang mampu memblokir:

  • VPN umum seperti OpenVPN, WireGuard, PPTP, L2TP

  • Alat tunneling seperti Psiphon, Shadowsocks, dan proxy

  • Trafik botnet yang sering muncul dari port/ASN tertentu

Kebutuhan

  • Linux router (Debian/Ubuntu/Alpine)

  • nftables terinstal

  • Kemampuan log & analisis (opsional: syslog atau ELK)

Struktur Umum nftables

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
  set whitelist_ips {
    type ipv4_addr;
    elements = { 8.8.8.8, 1.1.1.1, <IP-Layanan-Yang-Diperbolehkan> }
  }

  chain input {
    type filter hook input priority 0; policy drop;

    iif "lo" accept
    ct state established,related accept

    # Allow akses SSH terbatas
    ip saddr @whitelist_ips tcp dport 22 accept

    # Allow DNS
    udp dport 53 accept
  }

  chain forward {
    type filter hook forward priority 0; policy drop;

    # Allow basic browsing dan whitelist
    ip daddr @whitelist_ips accept

    # Blokir port VPN umum
    udp dport {1194, 51820, 1701, 500, 4500} drop   # OpenVPN, WireGuard, L2TP/IPsec
    tcp dport {1723, 1080, 8080, 3128} drop         # PPTP, SOCKS proxy, HTTP proxy

    # Blokir Psiphon & Shadowsocks umum
    udp dport {443, 80} meta length > 512 drop

    # Deteksi dan drop botnet/scan pattern (opsional, basic)
    ip protocol tcp tcp flags & (syn|fin) == (syn|fin) drop
  }
}

Penjelasan

  • Whitelist digunakan untuk menjaga akses ke layanan tertentu (DNS, SSH, CDN, dan sebagainya).

  • Blok VPN dan proxy: memblokir port umum yang sering digunakan oleh VPN dan tunneling.

  • Heuristik paket besar di port 80/443 adalah trik mendeteksi lalu lintas abnormal dari aplikasi seperti Psiphon.

Tips Tambahan

  • Kombinasikan dengan geoip (nftables+ipset) untuk blokir negara tertentu

  • Tambahkan logging: log prefix "DROP_VPN: " untuk analisa

  • Gunakan nft monitor trace untuk debugging aturan

  • Sinkronisasi rules dengan Ansible/script

Penutup

Firewall berbasis nftables sangat cocok untuk ISP kecil dan RT/RW Net karena ringan, efisien, dan sangat fleksibel. Dengan pendekatan whitelist + blok port strategis, kamu bisa melindungi jaringan dari abuse, botnet, dan penyalahgunaan VPN tanpa mengganggu pengguna yang sah.

Selalu uji rules di test-bed sebelum produksi agar tidak salah blokir!

Zero Trust Network (ZTNA) Ringan dengan WireGuard + nftables di LinuxZero Trust Network (ZTNA) Ringan dengan WireGuard + nftables di Linux

 


Pendahuluan

Di era serangan siber yang makin kompleks, model keamanan tradisional berbasis perimeter sudah tidak cukup. Solusi modern adalah Zero Trust Network Access (ZTNA), di mana tidak ada yang dipercaya secara default, bahkan dari dalam jaringan.

Artikel ini membahas cara membuat solusi ZTNA ringan berbasis Linux, menggunakan WireGuard untuk enkripsi dan nftables untuk kontrol akses berbasis identitas dan IP-binding.

Konsep Arsitektur

  • WireGuard VPN sebagai tiket masuk terenkripsi dan identitas pengguna.

  • nftables sebagai kontrol siapa boleh akses ke resource mana.

  • Binding IP dengan public key WireGuard.

Cocok untuk:

  • Admin mengakses server internal (Debian, MikroTik, OLT, dll)

  • Akses teknisi ke router klien atau sistem monitoring

  • Tanpa solusi ZTNA komersial

Langkah 1: Instal WireGuard di Linux

sudo apt update && sudo apt install wireguard -y

Buat folder config dan key:

mkdir -p /etc/wireguard && cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

Contoh /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = <ISI-DARI-server.key>
Address = 10.20.0.1/24
ListenPort = 51820
SaveConfig = true

# Client 1: Teknisi A
[Peer]
PublicKey = <PUBKEY-KLIEN-A>
AllowedIPs = 10.20.0.10/32

Langkah 2: Tambah Klien WireGuard (Teknisi A)

Di sisi klien:

wg genkey | tee client.key | wg pubkey > client.pub

File konfigurasi klien:

[Interface]
PrivateKey = <ISI-DARI-client.key>
Address = 10.20.0.10/32
DNS = 1.1.1.1

[Peer]
PublicKey = <PUBKEY-SERVER>
Endpoint = your.server.ip:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Langkah 3: Konfigurasi nftables untuk Zero Trust

Instalasi:

sudo apt install nftables -y

Contoh /etc/nftables.conf:

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
  chain input {
    type filter hook input priority 0; policy drop;

    iif "lo" accept
    ct state established,related accept

    # allow WireGuard
    tcp dport 51820 accept
    udp dport 51820 accept

    # hanya izinkan IP tertentu dari WireGuard
    ip saddr 10.20.0.10 accept  # Teknisi A
  }

  chain forward {
    type filter hook forward priority 0; policy drop;
    ip saddr 10.20.0.10 ip daddr 192.168.1.0/24 accept  # akses subnet tertentu
  }
}

Aktifkan:

sudo systemctl enable nftables
sudo systemctl start nftables

Tips ZTNA Lanjutan

  • Gunakan 1 key per orang → identitas unik.

  • Pantau koneksi: wg show

  • Kombinasikan dengan fail2ban

  • Aktifkan logging di nftables

  • Tambahkan notifikasi Telegram untuk koneksi mencurigakan

Bonus: Skrip Auto-Tambahkan Peer

#!/bin/bash
NAME=$1
IP=$2

wg genkey | tee ${NAME}.key | wg pubkey > ${NAME}.pub

echo "[Peer]
PublicKey = $(cat ${NAME}.pub)
AllowedIPs = ${IP}/32" >> /etc/wireguard/wg0.conf

wg addconf wg0 <(wg-quick strip wg0)

Penutup

ZTNA tidak harus mahal dan kompleks. Dengan WireGuard dan nftables, kamu bisa menciptakan sistem otentikasi berbasis identitas dan IP secara ringan, cepat, dan aman.

Zero Trust Network (ZTNA) Ringan dengan WireGuard + nftables di Linux

Pendahuluan

Di era serangan siber yang makin kompleks, model keamanan tradisional berbasis perimeter sudah tidak cukup. Solusi modern adalah Zero Trust Network Access (ZTNA), di mana tidak ada yang dipercaya secara default, bahkan dari dalam jaringan.

Artikel ini membahas cara membuat solusi ZTNA ringan berbasis Linux, menggunakan WireGuard untuk enkripsi dan nftables untuk kontrol akses berbasis identitas dan IP-binding.

Konsep Arsitektur

  • WireGuard VPN sebagai tiket masuk terenkripsi dan identitas pengguna.

  • nftables sebagai kontrol siapa boleh akses ke resource mana.

  • Binding IP dengan public key WireGuard.

Cocok untuk:

  • Admin mengakses server internal (Debian, MikroTik, OLT, dll)

  • Akses teknisi ke router klien atau sistem monitoring

  • Tanpa solusi ZTNA komersial

Langkah 1: Instal WireGuard di Linux

sudo apt update && sudo apt install wireguard -y

Buat folder config dan key:

mkdir -p /etc/wireguard && cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

Contoh /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = <ISI-DARI-server.key>
Address = 10.20.0.1/24
ListenPort = 51820
SaveConfig = true

# Client 1: Teknisi A
[Peer]
PublicKey = <PUBKEY-KLIEN-A>
AllowedIPs = 10.20.0.10/32

Langkah 2: Tambah Klien WireGuard (Teknisi A)

Di sisi klien:

wg genkey | tee client.key | wg pubkey > client.pub

File konfigurasi klien:

[Interface]
PrivateKey = <ISI-DARI-client.key>
Address = 10.20.0.10/32
DNS = 1.1.1.1

[Peer]
PublicKey = <PUBKEY-SERVER>
Endpoint = your.server.ip:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Langkah 3: Konfigurasi nftables untuk Zero Trust

Instalasi:

sudo apt install nftables -y

Contoh /etc/nftables.conf:

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
  chain input {
    type filter hook input priority 0; policy drop;

    iif "lo" accept
    ct state established,related accept

    # allow WireGuard
    tcp dport 51820 accept
    udp dport 51820 accept

    # hanya izinkan IP tertentu dari WireGuard
    ip saddr 10.20.0.10 accept  # Teknisi A
  }

  chain forward {
    type filter hook forward priority 0; policy drop;
    ip saddr 10.20.0.10 ip daddr 192.168.1.0/24 accept  # akses subnet tertentu
  }
}

Aktifkan:

sudo systemctl enable nftables
sudo systemctl start nftables

Tips ZTNA Lanjutan

  • Gunakan 1 key per orang → identitas unik.

  • Pantau koneksi: wg show

  • Kombinasikan dengan fail2ban

  • Aktifkan logging di nftables

  • Tambahkan notifikasi Telegram untuk koneksi mencurigakan

Bonus: Skrip Auto-Tambahkan Peer

#!/bin/bash
NAME=$1
IP=$2

wg genkey | tee ${NAME}.key | wg pubkey > ${NAME}.pub

echo "[Peer]
PublicKey = $(cat ${NAME}.pub)
AllowedIPs = ${IP}/32" >> /etc/wireguard/wg0.conf

wg addconf wg0 <(wg-quick strip wg0)

Penutup

ZTNA tidak harus mahal dan kompleks. Dengan WireGuard dan nftables, kamu bisa menciptakan sistem otentikasi berbasis identitas dan IP secara ringan, cepat, dan aman.

Seri Lengkap Setup Gateway Debian Open Source untuk PPPoE, Billing, DNS Filtering, dan Monitoring


Topologi Dasar:

  • eth0 (WAN1): 192.168.1.1 — konek ke ISP 1 (PPPoE1)

  • eth1 (WAN2): 192.168.2.1 — konek ke ISP 2 (PPPoE2)

  • eth2 (WAN3): 192.168.3.1 — konek ke ISP 3 (PPPoE3)

  • LAN via VLAN di satu interface trunk (misal br0):

    • VLAN10 → 192.168.10.1 (PPPoE1 untuk klien VLAN10)

    • VLAN11 → 192.168.11.1 (PPPoE2 untuk klien VLAN11)

    • VLAN12 → 192.168.12.1 (PPPoE3 untuk klien VLAN12)


1. Konfigurasi Debian Gateway

Instalasi paket dasar

apt update && apt install -y pppoe ppp iptables isc-dhcp-server vlan bridge-utils ifupdown net-tools

Aktifkan IP forwarding

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

Setup interfaces (/etc/network/interfaces)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0

auto eth1
iface eth1 inet static
  address 192.168.2.1
  netmask 255.255.255.0

auto eth2
iface eth2 inet static
  address 192.168.3.1
  netmask 255.255.255.0

# Trunk interface untuk VLAN LAN
auto br0
iface br0 inet manual
  bridge_ports none
  bridge_stp off

# VLAN10
auto vlan10
iface vlan10 inet static
  vlan-raw-device br0
  address 192.168.10.1
  netmask 255.255.255.0

# VLAN11
auto vlan11
iface vlan11 inet static
  vlan-raw-device br0
  address 192.168.11.1
  netmask 255.255.255.0

# VLAN12
auto vlan12
iface vlan12 inet static
  vlan-raw-device br0
  address 192.168.12.1
  netmask 255.255.255.0

2. Setup PPPoE Server

Lanjutkan setup PPPoE untuk masing-masing VLAN (misalnya menggunakan rp-pppoe-server atau accel-ppp).

Pastikan setiap VLAN hanya mengarah ke gateway yang sesuai (routing & mark).

Contoh rp-pppoe-server.conf:

pppoe-server -I vlan10 -L 192.168.10.1 -R 192.168.10.100 -N 100 -C VLAN10
pppoe-server -I vlan11 -L 192.168.11.1 -R 192.168.11.100 -N 100 -C VLAN11
pppoe-server -I vlan12 -L 192.168.12.1 -R 192.168.12.100 -N 100 -C VLAN12

3. Integrasi PHPNuxBill

  • Install PHPNuxBill di server

  • Atur radius client Debian untuk autentikasi PPPoE

  • Sinkronisasi dengan VLAN tag & interface mapping

  • Konfigurasi DHCP server disable, hanya via PPPoE

  • Aktifkan fitur: auto isolir, auto reconnect setelah bayar


4. DNS Filtering: AdGuard Home + BIND

  • BIND digunakan sebagai authoritative internal DNS

  • AdGuard Home sebagai DNS filter di port 53

  • Atur iptables agar semua trafik port 53 dari klien diarahkan ke AdGuard:

iptables -t nat -A PREROUTING -i vlan10 -p udp --dport 53 -j DNAT --to 172.16.0.1:53
iptables -t nat -A PREROUTING -i vlan11 -p udp --dport 53 -j DNAT --to 172.16.0.1:53
iptables -t nat -A PREROUTING -i vlan12 -p udp --dport 53 -j DNAT --to 172.16.0.1:53
  • Gunakan resolv.conf klien PPPoE diarahkan ke IP gateway VLAN


5. Monitoring Trafik: Prometheus + Grafana

  • Install exporter seperti node_exporter, ppp_exporter

  • Buat dashboard per-VLAN (VLAN10, VLAN11, VLAN12)

  • Tambahkan alert:

    • Bandwidth usage lebih dari batas

    • User PPPoE disconnect atau offline

    • Notifikasi ke Telegram/email


Catatan Penting:

  • Semua klien HARUS konek via PPPoE, tidak ada IP statik manual.

  • Pembeda jalur koneksi adalah VLAN ID, bukan interface fisik.

  • Tidak ada load balancing: tiap VLAN/PPPoE mengarah ke jalur ISP yang berbeda (dedicated).

  • Disarankan menggunakan firewall iptables-persistent

  • Cek log PPPoE via /var/log/syslog


Fitur Selanjutnya yang Bisa Ditambahkan:

  • Isolasi user per VLAN berdasarkan IP range/mark

  • Backup otomatis PHPNuxBill (rsync/crontab)

  • Notifikasi Telegram untuk:

    • Status koneksi PPPoE

    • Pelanggan jatuh tempo

    • Klien yang melebihi kuota


Dokumen ini bisa digunakan sebagai panduan dasar setup Debian Gateway multi-ISP dengan segmentasi VLAN + PPPoE + Billing + Monitoring modern berbasis open source.

"Panduan Lengkap Setup Hotspot & PPPoE Server dengan Billing dan Otomatisasi di Debian"

 

BAB 1: Pendahuluan dan Arsitektur

Deskripsi lengkap mengenai arsitektur jaringan:

  • WAN masuk ke satu interface Debian

  • LAN menggunakan bridge (br0) untuk distribusi layanan

  • Di atas bridge tersebut berjalan PPPoE dan Hotspot

  • Semua distribusi akses menggunakan FreeRADIUS sebagai backend autentikasi

  • Billing menggunakan PHP berbasis Radius Manager open source atau custom

  • Tidak ada akses IP statik, semua user harus melalui autentikasi

BAB 2: Instalasi Dasar Debian

  1. Pasang Debian minimal (CLI Only)

  2. Konfigurasi IP statik untuk WAN (misal eth0)

  3. Instalasi tools dasar: apt install sudo net-tools iproute2 curl wget nano

  4. Update system: apt update && apt upgrade -y

BAB 3: Setup Bridge LAN + Interface

Instal bridge-utils:

apt install bridge-utils -y

Edit /etc/network/interfaces atau gunakan systemd-networkd/Netplan tergantung versi Debian. Contoh (interfaces):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.88.2
  netmask 255.255.255.0
  gateway 192.168.88.1

auto br0
iface br0 inet static
  address 172.16.0.1
  netmask 255.255.252.0
  bridge_ports eth1 eth2 wlan0

BAB 4: Instalasi dan Konfigurasi PPPoE Server

  1. Instalasi PPPoE Server:

apt install pppoe ppp -y
  1. Konfigurasi /etc/ppp/pppoe-server-options

require-pap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 172.16.0.1
asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1492
mru 1492
  1. File /etc/ppp/chap-secrets (gunakan radius nantinya)

  2. Aktifkan dengan:

pppoe-server -I br0 -L 172.16.0.1 -R 172.16.1.2 -N 100

BAB 5: Setup Hotspot dengan CoovaChilli

  1. Instalasi CoovaChilli:

apt install coova-chilli -y
  1. Edit /etc/chilli/defaults

HS_WANIF=eth0
HS_LANIF=br0
HS_NETWORK=172.16.100.0
HS_NETMASK=255.255.252.0
HS_UAMLISTEN=172.16.100.1
HS_UAMPORT=3990
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=testing123
HS_UAMALLOW=www.google.com
HS_UAMSECRET=testing123
  1. Aktifkan dan jalankan coova:

systemctl enable chilli
systemctl start chilli

BAB 6: Billing dan Autentikasi

  1. Instalasi FreeRADIUS:

apt install freeradius freeradius-mysql -y
  1. Setup database MySQL dan integrasikan dengan FreeRADIUS

  2. Gunakan billing berbasis PHP seperti:

    • DaloRADIUS (open source)

    • RadiusDesk (open source)

    • Custom PHP + Bootstrap

  3. Semua user harus login via PPPoE atau Hotspot, tanpa IP statik langsung

BAB 7: Pengamanan dan Pemantauan

7.1 Proteksi Dasar Firewall

Konfigurasi awal firewall dengan iptables atau UFW untuk membatasi akses hanya pada port yang dibutuhkan (misalnya, port 22, 80, 443, 1812 untuk FreeRADIUS).

7.2 IDS/IPS dengan Suricata

Instalasi Suricata dan konfigurasi rule set untuk mendeteksi dan mencegah serangan pada port publik dan servis penting seperti FreeRADIUS, CoovaChilli, dan antarmuka web.

7.3 Tambahan Pengamanan Server

a. Instalasi dan Konfigurasi Fail2Ban

Fail2Ban melindungi dari brute force login:

apt install fail2ban -y

Salin konfigurasi default:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Aktifkan untuk SSH dan Freeradius:

[sshd]
enabled = true

[freeradius-auth]
enabled = true
port = 1812
protocol = udp
logpath = /var/log/freeradius/radius.log

Restart service:

systemctl restart fail2ban
systemctl enable fail2ban

b. Konfigurasi UFW (Uncomplicated Firewall)

Instal dan konfigurasi UFW:

apt install ufw -y
ufw default deny incoming
ufw default allow outgoing

Buka port penting:

ufw allow ssh
ufw allow 80
ufw allow 443
ufw allow 1812/udp    # Freeradius
ufw allow 3990/tcp    # CoovaChilli UAM
ufw allow 3000/tcp    # AdGuard Home UI (opsional)

Aktifkan UFW:

ufw enable

c. Hardening SSH

Edit /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
AllowUsers adminuser

Restart SSH:

systemctl restart ssh

Gunakan login SSH dengan SSH key:

ssh-keygen -t rsa -b 4096
ssh-copy-id user@server_ip

BAB 8: Konfigurasi DNS: BIND dan AdGuard Home

8.1 Instalasi dan Setup DNS BIND untuk Cache Resolver

  1. Instalasi paket:

apt install bind9 dnsutils -y
  1. Konfigurasi named.conf.options:

options {
    directory "/var/cache/bind";

    recursion yes;
    allow-query { any; };

    forwarders {
        8.8.8.8;
        1.1.1.1;
    };

    dnssec-validation auto;
};
  1. Restart layanan BIND:

systemctl restart bind9
systemctl enable bind9

8.2 Instalasi dan Setup AdGuard Home untuk Blokir Konten Dewasa

  1. Unduh dan instal AdGuard Home:

curl -s -S -L https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz | tar xz
cd AdGuardHome
./AdGuardHome -s install
  1. Akses antarmuka web di http://IP:3000 dan selesaikan wizard

  2. Tambahkan filter:

    • Gunakan filter blokir konten dewasa dari AdGuard atau EasyList

    • Tambahkan rule blokir manual jika diperlukan

  3. Setup redirect konten dewasa:

    • Arahkan DNS domain tertentu ke IP lokal, misal 172.16.0.5

    • Jalankan web server (nginx/lighttpd) di 172.16.0.5 untuk menampilkan halaman peringatan atau edukasi

  4. Integrasi DNS AdGuard dan BIND:

    • BIND sebagai resolver internal dan caching

    • Forward DNS dari BIND ke AdGuard Home untuk filtering:

Edit named.conf.options:

forwarders {
    127.0.0.1 port 5353;
};

AdGuard Home bisa dikonfigurasi listen di port 5353 agar tidak konflik dengan BIND.

BAB 8,2: Isolasi Otomatis dan Pembukaan Otomatis PPPoE

Fitur ini memungkinkan pelanggan diisolasi secara otomatis pada saat jatuh tempo, dan akan dibuka kembali secara otomatis 1 menit setelah melakukan pembayaran yang tervalidasi oleh sistem billing.

Konsep dan Mekanisme:

  • Sistem billing (misalnya DaloRADIUS atau custom PHP) mencatat tanggal jatuh tempo setiap user.

  • Setiap hari atau setiap jam, cron job mengecek user yang jatuh tempo.

  • Sistem menghapus akun PPPoE atau memindahkan user ke profil terbatas (jika menggunakan MikroTik).

  • Setelah pembayaran terverifikasi, akun diaktifkan kembali, dan sistem mengirim sinyal ke Mikrotik/Server PPPoE untuk reconnect.

Implementasi dengan Skrip Otomatis:

Skrip isolasi otomatis (isolasi_pppoe.py):

#!/usr/bin/env python3

import mysql.connector

import os

import datetime


conn = mysql.connector.connect(

    host="localhost",

    user="radius",

    password="password_db",

    database="radius"

)

cursor = conn.cursor()


today = datetime.date.today().isoformat()

query = "SELECT username FROM users WHERE expire_date <= %s AND active = 1"

cursor.execute(query, (today,))

users = cursor.fetchall()


for (username,) in users:

    os.system(f"radclient -x localhost:3799 disconnect secret <<EOF\nUser-Name = \"{username}\"\nEOF")

    cursor.execute("UPDATE users SET active = 0 WHERE username = %s", (username,))

    print(f"Isolated: {username}")


conn.commit()

conn.close()

Skrip buka otomatis setelah pembayaran (open_pppoe.py):

#!/usr/bin/env python3
import mysql.connector
import os

conn = mysql.connector.connect(
    host="localhost",
    user="radius",
    password="password_db",
    database="radius"
)
cursor = conn.cursor()

query = "SELECT username FROM users WHERE paid = 1 AND active = 0"
cursor.execute(query)
users = cursor.fetchall()

for (username,) in users:
    cursor.execute("UPDATE users SET active = 1 WHERE username = %s", (username,))
    print(f"User reactivated: {username}")

conn.commit()
conn.close()

Tambahkan ke crontab:

# Isolasi user setiap jam
0 * * * * /usr/bin/python3 /opt/scripts/isolasi_pppoe.py

# Buka user setiap 5 menit
*/5 * * * * /usr/bin/python3 /opt/scripts/open_pppoe.py

Integrasi dengan Billing PHP:

  • Tambahkan kolom expire_date, active, dan paid ke tabel users.

  • Pastikan sistem billing otomatis mengubah paid=1 saat pembayaran berhasil.

  • Tambahkan opsi untuk mengatur tanggal jatuh tempo pada saat registrasi atau pembayaran.


Deteksi & Blokir VPN/Proxy (Psiphon, Shadowsocks, OpenVPN) Menggunakan Firewall MikroTik




Deskripsi:

Tutorial ini bertujuan untuk membantu Anda sebagai admin jaringan RT/RW Net atau sekolah dalam mencegah penggunaan VPN/Proxy oleh klien. Kita akan menggunakan fitur firewall MikroTik untuk mendeteksi signature TLS abnormal, port yang tidak biasa, dan traffic VPN umum.


1. Tujuan

  • Mencegah akses internet melalui VPN/Proxy seperti Psiphon, Shadowsocks, OpenVPN, dll.

  • Mengamankan bandwidth dan menjaga kontrol konten.


2. Persiapan

  • Router MikroTik dengan versi RouterOS 6.45+ atau 7+

  • Akses Winbox/SSH/WebFig

  • Interface internet dan LAN sudah disetup


3. Deteksi VPN Berdasarkan Port Umum

VPN sering menggunakan port tertentu, seperti:

  • OpenVPN: TCP/UDP 1194

  • Shadowsocks: TCP 8388, 8389

  • Psiphon: TCP 443, 80 dengan TLS/SSH abnormal

Tambahkan rule berikut:

/ip firewall filter
add chain=forward protocol=tcp dst-port=1194 action=drop comment="Block OpenVPN TCP"
add chain=forward protocol=udp dst-port=1194 action=drop comment="Block OpenVPN UDP"
add chain=forward protocol=tcp dst-port=8388-8390 action=drop comment="Block Shadowsocks"
add chain=forward protocol=tcp dst-port=443 content="psiphon" action=drop comment="Block Psiphon TLS Signature"

4. Deteksi Berdasarkan TLS SNI atau Payload (Layer 7)

Buat L7 rule untuk mendeteksi SNI atau hostname VPN:

/ip firewall layer7-protocol
add name=vpn-https regexp="(vpn|psiphon|shadow|openvpn|tunnel|tor|hotspotshield|ultrasurf|secure|anonym)"
/ip firewall filter
add chain=forward protocol=tcp dst-port=443 layer7-protocol=vpn-https action=drop comment="Block VPN HTTPS TLS SNI"

5. Blokir DNS VPN Domain (Optional)

Jika Anda menggunakan DNS MikroTik atau AdGuard:

/ip dns static
add name="psiphon3.com" address=127.0.0.1 ttl=1h comment="Block Psiphon"
add name="openvpn.net" address=127.0.0.1 ttl=1h comment="Block OpenVPN"
add name="shadowsocks.org" address=127.0.0.1 ttl=1h comment="Block Shadowsocks"

6. Tambahkan Logging (Opsional)

Agar bisa menganalisis jika ada upaya VPN:

/ip firewall filter
add chain=forward protocol=tcp dst-port=443 layer7-protocol=vpn-https action=log log-prefix="VPN Attempt: " comment="Log VPN TLS"

7. Blokir Port Abnormal/Random (>50000)

/ip firewall filter
add chain=forward protocol=tcp dst-port=50000-65535 action=drop comment="Block abnormal VPN port"
add chain=forward protocol=udp dst-port=50000-65535 action=drop comment="Block abnormal VPN UDP port"

8. Tambahan untuk Blokir SSH Tunnel

/ip firewall filter
add chain=forward protocol=tcp dst-port=22 action=drop comment="Block SSH Tunnel"

9. Penutup & Tips Tambahan

  • Gunakan AdGuard Home atau Pi-hole untuk memblokir domain DNS VPN

  • Update daftar Layer7 dan domain block secara berkala

  • Gunakan mikrotik-script scheduler untuk otomatisasi pemantauan


Dengan setup ini, Anda dapat secara efektif mencegah pengguna menyembunyikan trafik mereka menggunakan VPN dan proxy, sangat cocok untuk jaringan RT/RW Net, sekolah, warnet, atau kantor yang ingin menjaga kendali atas trafik internet pengguna.

Implementasi ZTNA (Zero Trust Network Access) dengan MikroTik dan Debian Linux


Deskripsi Singkat:
ZTNA adalah pendekatan keamanan yang memastikan bahwa tidak ada perangkat atau pengguna yang dipercaya secara otomatis, baik dari dalam maupun luar jaringan. Akses diberikan berdasarkan identitas, perangkat, dan kebijakan yang terkontrol. Di bawah ini adalah panduan implementasi dasar ZTNA menggunakan MikroTik dan server Debian Linux.


1. Topologi Dasar

  • Client (Laptop/HP)Router MikroTikDebian Gateway (ZTNA Agent/Verifier)Internal Resource (DB/Web Server)

  • Semua trafik dari klien tidak langsung ke server, tetapi diverifikasi dulu oleh gateway Debian.


2. Komponen Utama

  • MikroTik RouterOS

  • Debian Linux (ZTNA Gateway)

  • Firewall, NAT, dan tagging koneksi di MikroTik

  • Autentikasi token atau sertifikat

  • (Opsional) VPN untuk tunneling traffic internal


3. Langkah Implementasi

A. MikroTik Setup (Edge)

a. Buat VLAN/Subnet untuk pengguna

/ip address add address=192.168.100.1/24 interface=bridge-user
/ip pool add name=ztna-pool ranges=192.168.100.10-192.168.100.254
/ip dhcp-server add name=ztna-dhcp interface=bridge-user address-pool=ztna-pool
/ip dhcp-server network add address=192.168.100.0/24 gateway=192.168.100.1

b. Routing ke Debian Gateway (ZTNA Verifier)

/ip route add dst-address=10.99.99.0/24 gateway=192.168.100.2

c. Drop semua koneksi langsung ke internal

/ip firewall filter add chain=forward src-address=192.168.100.0/24 dst-address=10.99.99.0/24 action=drop comment="ZTNA enforce"

B. Debian Linux Setup (ZTNA Gateway)

a. Install Firewall dan Proxy Gateway

sudo apt install iptables netfilter-persistent squid openssl

b. Generate sertifikat untuk autentikasi klien

openssl req -x509 -newkey rsa:2048 -keyout ztna.key -out ztna.crt -days 365 -nodes

c. Konfigurasi Proxy yang hanya izinkan klien valid

Contoh squid.conf:

https_port 3128 cert=/etc/ssl/ztna.crt key=/etc/ssl/ztna.key
acl allowed_users ssl::certCN clients.allowed.local
http_access allow allowed_users
http_access deny all

4. Mekanisme Kerja

  • Klien mendapatkan IP dari MikroTik.

  • Semua trafik ke internal diblok oleh MikroTik kecuali yang melalui Debian.

  • Debian bertindak sebagai proxy/gateway dan memverifikasi identitas klien.

  • Jika valid, Debian meneruskan trafik ke resource internal.


5. Penambahan Keamanan

  • Gunakan JWT atau mTLS untuk autentikasi per klien.

  • Tambahkan Fail2ban di Debian untuk brute force detection.

  • Integrasikan Grafana + Loki untuk logging request klien.


6. Manfaat ZTNA dengan MikroTik + Debian

  • Tidak ada akses langsung ke internal.

  • Akses berdasarkan identitas (bukan hanya IP).

  • Bisa diperluas ke sistem monitoring, IoT, dan remote work.


Catatan Tambahan:

  • Untuk skala besar, bisa pakai HashiCorp Boundary atau OpenZiti di sisi Debian.

  • Bisa juga kombinasikan dengan WireGuard untuk secure tunnel.


Selesai. Dengan pendekatan ini, jaringan Anda lebih aman dari lateral movement dan internal compromise.

Tutorial: Membangun Centralized Logging Server dengan Syslog-ng di Debian Linux

 

Topologi: Centralized Logging System

+----------------+   +----------------+   +----------------+
|   VPN Server   |   | Payload Server |   | Phishing Server|
+--------+-------+   +--------+-------+   +--------+--------+
         |                    |                    |
         |                    |                    |
         |                    |                    |
         |      +-------------+--------------------+--------+
         |      |                                      |     |
+--------v------+   +----------------+   +-------------v--+  |
|  Mail Server  |   | HTTP Redirector|   | Short Term C2  |  |
+--------+------+   +--------+-------+   +--------+--------+  |
         |                  |                    |           |
         |                  |                    |           |
         +------------------+--------------------+-----------+
                                      |
                                      v
                         +------------+-------------+
                         |       Logging Server     |
                         |  (Syslog-ng Listener)    |
                         +------------+-------------+
                                      |
                                      v
                             +--------+--------+
                             |     Dashboard     |
                             |   (OSSEC/Graylog) |
                             +--------+--------+
                                      |
                                      v
                                  +---+---+
                                  |Operator|
                                  +-------+


Topologi:

  • Semua server (VPN, Payload, Phishing, Mail, dll) mengirim log ke satu Logging Server.

  • Logging Server menampilkan log dalam dashboard via OSSEC atau tool lain.


1. Persiapan

a. Update Sistem

sudo apt update && sudo apt upgrade -y

b. Install Syslog-ng

sudo apt install syslog-ng -y

2. Konfigurasi Logging Server (Syslog-ng sebagai Penerima Log)

a. Buka konfigurasi utama

sudo nano /etc/syslog-ng/syslog-ng.conf

b. Tambahkan sumber log dari jaringan:

source s_network {
    tcp(ip(0.0.0.0) port(514));
    udp(ip(0.0.0.0) port(514));
};

c. Tambahkan tujuan penyimpanan log berdasarkan host:

destination d_remote_logs {
    file("/var/log/remote/$HOST/$YEAR$MONTH$DAY.log"
        create-dirs(yes)
        owner(root) group(root) perm(0644));
};

d. Tambahkan rule log:

log {
    source(s_network);
    destination(d_remote_logs);
};

e. Restart syslog-ng

sudo systemctl restart syslog-ng

3. Konfigurasi Server Klien (Pengirim Log)

a. Install syslog-ng

sudo apt install syslog-ng -y

b. Tambahkan tujuan log ke logging server:

# Edit /etc/syslog-ng/syslog-ng.conf

destination d_loghost {
    udp("IP_LOGGING_SERVER" port(514));
};

log {
    source(s_src);
    destination(d_loghost);
};

c. Restart syslog-ng

sudo systemctl restart syslog-ng

4. Monitoring dengan OSSEC (opsional)

a. Install OSSEC server

wget -q -O - https://updates.atomicorp.com/installers/atomic | sudo bash
sudo apt install ossec-hids-server -y

b. Konfigurasikan agent di masing-masing server dan tambahkan ke OSSEC Manager.

c. Akses dashboard melalui web browser jika menggunakan Web UI (Kibana, Graylog, atau OSSEC Web UI).


5. Troubleshooting

  • Periksa log: /var/log/syslog, /var/log/remote/

  • Tes konektivitas port 514 dari klien ke server:

nc -vzu IP_LOGGING_SERVER 514

Penutup

Dengan setup ini, kamu bisa memusatkan semua log ke satu server untuk dianalisis dan dipantau secara real-time melalui dashboard OSSEC atau tool lainnya.

Tutorial Konfigurasi IPSec VPN MikroTik ke SAP HANA Enterprise Cloud (HEC)

 

Topologi:

+-------------------+                 +---------------------------+
|                   |                 |                           |
|  Customer Network |                 | SAP HANA Enterprise Cloud |
|   (MikroTik)      |                 |         (HEC)             |
|   192.168.88.0/24 |                 |     10.10.0.0/16          |
|   IP:198.51.100.2 |                 |     IP:203.0.113.1        |
+--------+----------+                 +-----------+---------------+
         |                                        |
         |             Internet                  |
         +----------------+-----------------------+
                          |
                    IPSec VPN Tunnel
                          |
         +----------------+-----------------------+
         |                                        |
+--------v----------+                 +-----------v---------------+
| VPN Gateway       |                 |    L3 Router              |
| (203.0.113.1)     |---------------->|                           |
+-------------------+                 +-----------+---------------+
                                                 |
                                  +--------------+-------------+
                                  |                            |
                     +------------v------+       +-------------v-----+
                     |  SAP App Server   |       |   SAP DB Server    |
                     +------------------+       +--------------------+

Tujuan:
Membangun koneksi IPSec Site-to-Site VPN yang aman antara MikroTik (Customer) dan SAP HEC, dengan keamanan tingkat tinggi.


1. Persiapan Data yang Dibutuhkan:

Dari SAP HEC:

  • IP Publik VPN Gateway SAP HEC: 203.0.113.1

  • Network di SAP HEC: 10.10.0.0/16

  • Pre-shared key (PSK): StrongSAPvpnKey123

Dari Customer:

  • IP Publik MikroTik: 198.51.100.2

  • Network lokal Customer: 192.168.88.0/24


2. Konfigurasi di MikroTik (Customer Network)

a. Konfigurasi Phase 1 (IKE Policy)

/ip ipsec proposal
add name="sap-proposal" auth-algorithms=sha256 enc-algorithms=aes-256-cbc pfs-group=modp2048 lifetime=1h

/ip ipsec peer
add address=203.0.113.1/32 name=sap-peer exchange-mode=ike2 secret=StrongSAPvpnKey123 \
policy-template-group=default send-initial-contact=yes nat-traversal=yes dpd-interval=2m \
dpd-maximum-failures=5 ike-version=2

/ip ipsec identity
add peer=sap-peer auth-method=pre-shared-key secret=StrongSAPvpnKey123 generate-policy=port-strict

b. Konfigurasi Phase 2 (IPSec Policy)

/ip ipsec policy
add src-address=192.168.88.0/24 dst-address=10.10.0.0/16 sa-dst-address=203.0.113.1 sa-src-address=198.51.100.2 \
proposal=sap-proposal tunnel=yes action=encrypt

c. Firewall Configuration (Optional but recommended)

/ip firewall filter
add chain=input protocol=udp port=500,4500 src-address=203.0.113.1 action=accept comment="Allow IPSec VPN"
add chain=input protocol=ipsec-esp src-address=203.0.113.1 action=accept comment="Allow IPSec ESP"
add chain=input protocol=ipsec-ah src-address=203.0.113.1 action=accept comment="Allow IPSec AH"

3. Validasi dan Monitoring

/ip ipsec active-peers
/ip ipsec installed-sa

Pastikan status tunnel = established dan paket dapat mengalir ke network SAP.


4. Security Tips:

  • Gunakan PSK yang kuat dan rahasiakan.

  • Batasi akses VPN hanya dari IP Gateway SAP.

  • Monitor trafik dan log koneksi IPsec secara berkala.

  • Gunakan firewall rule untuk membatasi akses antar subnet.

  • Pertimbangkan penggunaan certificate (X.509) jika SAP mendukung, untuk keamanan tambahan.


Selesai.
Kini jaringan lokal Anda bisa berkomunikasi dengan layanan SAP HEC secara aman dan terenkripsi via IPSec VPN.

Untuk peningkatan visibilitas, bisa digabungkan dengan monitoring tools seperti The Dude, Zabbix, atau Prometheus-Grafana untuk tunnel status.

Anti-Looping Skema Setting Lengkap

 # MikroTik Anti-Looping Skema Setting Lengkap


# 1. Buat Bridge dan aktifkan RSTP

/interface bridge

add name=bridge1 protocol-mode=rstp


# 2. Tambahkan interface ke bridge dan atur horizon

/interface bridge port

add bridge=bridge1 interface=ether1 horizon=1

add bridge=bridge1 interface=ether2 horizon=1

add bridge=bridge1 interface=ether3 horizon=1

add bridge=bridge1 interface=ether4 horizon=1

add bridge=bridge1 interface=ether5 horizon=1


# 3. Aktifkan BPDU Guard untuk port ke klien

/interface bridge port

set [find interface=ether3] bpdu-guard=yes

set [find interface=ether4] bpdu-guard=yes

set [find interface=ether5] bpdu-guard=yes


# 4. Setup Storm Control pada port

/interface ethernet switch port

set ether1 storm-rate=broadcast-5000

set ether2 storm-rate=broadcast-5000

set ether3 storm-rate=broadcast-5000

set ether4 storm-rate=broadcast-5000

set ether5 storm-rate=broadcast-5000


# 5. Tambahkan monitoring sederhana CPU (optional)

/system scheduler

add interval=1m name=cpu-check on-event=":if ([/system resource get cpu-load] > 80) do={/log warning message=\"CPU usage high, possible loop!\"}" start-time=startup


# 6. Opsional: Tambahkan filter bridge untuk membatasi broadcast lebih lanjut

/interface bridge filter

add action=drop chain=forward mac-protocol=ip multicast=yes


# End of Anti-Looping Setting

# -- Semoga jaringanmu aman dari looping! :) --


Tutorial Pencegahan Serangan UDP Flood/DNS Amplification


Target: Memblokir serangan dari IP DNS ISP dan mengamankan jaringan Anda.


Langkah 1: Cek Sumber Serangan

  1. Identifikasi IP Penyerang:

    • Lihat log di perangkat Ruijie Anda, cari pola IP yang muncul terus-menerus (contoh: Blocked attacks: 8014).

    • Catat alamat IP sumber yang tercantum di log (misal: 192.168.x.x atau IP publik ISP).

  2. Verifikasi Jenis Serangan:

    • Jika serangan berasal dari port 53/UDP (port DNS), maka ini adalah DNS Amplification Attack.

    • Jika tidak, mungkin serangan UDP Flood biasa.


Langkah 2: Blokir Manual via Web Interface Ruijie (GUI)

  1. Login ke Dashboard Ruijie:

    • Buka browser, ketik alamat IP perangkat Ruijie (misal: 192.168.1.1).

    • Masuk dengan username/password admin.

  2. Buat Access Control List (ACL):

    • Navigasi ke menu Security > ACL.

    • Buat ACL baru:

      • Nama ACLBLOCK-UDP-FLOOD

      • Rule 1: Blokir semua traffic UDP dari IP sumber serangan (masukkan IP yang dicatat di Langkah 1).

      • Rule 2: Blokir traffic UDP ke port 53 (DNS) jika tidak digunakan di jaringan Anda.

    • Simpan konfigurasi.

  3. Terapkan ACL ke Interface:

    • Pilih interface yang terhubung ke internet (misal: GigabitEthernet 0/1).

    • Arahkan ACL BLOCK-UDP-FLOOD sebagai Inbound Policy.


Langkah 3: Hubungi ISP untuk Mitigasi

  1. Laporkan Serangan:

    • Kirim log dan detail IP sumber serangan ke ISP.

    • Minta mereka untuk:

      • Memperbaiki server DNS yang menjadi open resolver (sumber amplifikasi).

      • Memblokir traffic mencurigakan dari sisi mereka.

  2. Minta Implementasi BCP38:

    • Pastikan ISP mengaktifkan anti-spoofing untuk mencegah pemalsuan alamat IP.


Langkah 4: Aktifkan Fitur Bawaan Anti-DDoS di Ruijie

  1. Aktifkan DDoS Protection:

    • Di dashboard Ruijie, cari menu Security > Anti-DDoS.

    • Aktifkan fitur UDP Flood Protection dan atur parameter:

      • Threshold: 500 paket/detik (sesuaikan dengan kebutuhan).

      • ActionBlock atau Limit.

  2. Aktifkan Geo-Blocking (Opsional):

    • Jika serangan berasal dari luar negeri, blokir traffic dari negara tertentu via menu Firewall > Geo-IP Filtering.


Langkah 5: Hardening Jaringan

  1. Matikan Layanan DNS Lokal (Jika Tidak Dipakai):

    • Jika tidak pakai DNS server sendiri, matikan layanan DNS di Ruijie via menu Services > DNS.

  2. Ganti Port DNS (Jika Memakai DNS Lokal):

    • Ubah port DNS default (53/UDP) ke port acak (misal: 5353) untuk hindari target serangan.

  3. Pasang Pembatas Bandwidth:

    • Di menu QoS > Bandwidth Management, batasi bandwidth untuk traffic UDP (misal: maksimal 10% dari total bandwidth).


Langkah 6: Monitoring & Peringatan Dini

  1. Pasang Network Monitoring Tool:

    • Gunakan tools gratis seperti Wireshark atau PRTG untuk pantau traffic UDP.

    • Setel alert jika ada lonjakan traffic UDP melebihi 500 paket/detik.

  2. Cek Log Rutin:

    • Buka menu Log > Security Log di Ruijie setiap hari untuk lacak serangan baru.


Langkah 7: Backup dan Update

  1. Backup Konfigurasi:

    • Di menu Maintenance > Backup, simpan konfigurasi terbaru ke komputer Anda.

  2. Update Firmware Ruijie:

    • Cek update firmware di Maintenance > System Update.

    • Firmware terbaru biasanya menyertakan patch keamanan untuk serangan DDoS.


Contoh Kasus Praktis

Masalah: Serangan UDP Flood dari IP 203.160.92.1 (DNS ISP) ke port 53.
Solusi:

  1. Blokir IP 203.160.92.1 via ACL di Ruijie.

  2. Hubungi ISP untuk minta mereka mematikan open resolver di IP tersebut.

  3. Aktifkan QoS untuk batasi bandwidth UDP maksimal 5 Mbps.

  4. Setel alert di PRTG jika traffic UDP > 1.000 paket/detik.


Poin Penting!

  • Jangan sembarangan blokir port 53/UDP jika jaringan Anda memakai DNS internal.

  • Koordinasi dengan ISP adalah kunci utama untuk serangan DNS Amplification!

  • Jika serangan masih parah, sewa layanan cloud-based DDoS protection seperti Cloudflare.

TUTORIAL BLOKIR APLIKASI NETSHARE DI JARINGAN



Alat yang Digunakan:

  • Router MikroTik (ROS 6/7)

  • (Opsional) Server Linux (Debian/Ubuntu) untuk DNS hijack

Target:

  • Blokir penggunaan proxy/vpn yang dibuat oleh aplikasi NetShare.

  • Mencegah sharing internet via tethering tersembunyi.


1. Blokir Port Proxy dan VPN

Firewall Filter Rule:

/ip firewall filter
add chain=forward protocol=tcp dst-port=1080,3128,8080,8000 action=drop comment="Blokir Proxy umum NetShare"
add chain=forward protocol=udp dst-port=1080,3128,8080,8000 action=drop comment="Blokir Proxy umum UDP"

Catatan: Bisa tambah port lain sesuai log hasil monitoring.


2. Paksa Semua DNS ke Server Lokal

Firewall NAT Redirect Rule:

/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 action=redirect to-ports=53 comment="Paksa DNS redirect UDP"
add chain=dstnat protocol=tcp dst-port=53 action=redirect to-ports=53 comment="Paksa DNS redirect TCP"

Opsional:

  • Setup AdGuard Home atau Unbound di server DNS internal untuk filtering lebih ketat.


3. Blokir DoH (DNS over HTTPS)

Blokir IP Provider DoH Umum:

/ip firewall address-list
add list=DoH-Servers address=1.1.1.1
add list=DoH-Servers address=1.0.0.1
add list=DoH-Servers address=8.8.8.8
add list=DoH-Servers address=8.8.4.4
add list=DoH-Servers address=9.9.9.9

/ip firewall filter
add chain=forward dst-address-list=DoH-Servers action=drop comment="Blokir akses DNS over HTTPS"

Tambahkan IP lain sesuai kebutuhan (lihat log trafik!).


4. Deteksi dan Drop TTL Tidak Wajar

Firewall Mangle + Drop Rule:

/ip firewall mangle
add chain=prerouting protocol=ip ttl=65 action=drop comment="Blokir TTL manipulasi tethering"

TTL Normal:

  • Android: 64

  • iPhone: 64

  • Windows: 128

  • Linux: 64

Kalau perlu, atur sendiri.


5. Client Isolation

Wireless Access List:

  • Aktifkan "Client-to-Client Isolation" di Access Point.

  • Cegah HP yang "jadi router" share koneksi ke HP lain via WiFi lokal.

Di MikroTik:

/interface wireless set [ find default-name=wlan1 ] default-forwarding=no

6. Wajibkan PPPoE Login (Opsional)

Setup PPPoE Server di MikroTik:

/interface pppoe-server server add interface=ether2 service-name=pppoe-user disabled=no
/ppp profile add name=profile-pppoe local-address=10.10.10.1 remote-address=pool-pppoe
/ip pool add name=pool-pppoe ranges=10.10.10.2-10.10.10.254
/ppp secret add name=user1 password=pass1 profile=profile-pppoe service=pppoe

Dengan ini:

  • Tidak bisa asal connect, harus autentikasi.

  • NetShare tidak mudah bypass autentikasi PPPoE.


Bonus: Monitoring User Nakal

Simple Torch untuk Analisa:

/tool torch ether2
  • Lihat MAC/IP yang trafiknya tidak wajar.

Atau pakai:

/ip firewall connection print where protocol=tcp
  • Untuk lihat koneksi aneh.


Penutup:

  • Tidak ada sistem yang 100% anti NetShare, tapi kombinasi ini bisa membuat mereka susah dan menyerah.

  • Update terus firewall dan monitoring untuk deteksi teknik baru.



 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | coupon codes