Pengamanan Server Menggunakan Fail2Ban
Fail2Ban disini ditujukan untuk mengatasi masalah agar web server atau web dapat melihatmemblokir IP publik visitorclient yang ditempatkanmelakukan aktivitas berbahaya pada jaringan mikrotik denga konfigurasi NAT maka dapat menggunakan fitur Hairpin NAT atau NAT Reflection.
Skenarionya sebagaimana contoh berikut:
server 1: 36.67.22.18 -> 192.168.80.50 port 80server 2: 36.67.22.19 -> 192.168.80.51 port 80server 3: 36.67.22.20 -> 192.168.80.52 port 80
permasalahnya adalah saat cek ip lewat internet di server 1, server 2 dan server 3 yang terbaca adalah ip 36.67.22.18. Artinya ip publik pertama saja yang terbaca, sedangkan ip pengunjung server yang terdeteksi hanya ip gateway nya saja:server 1: 36.67.22.18 -> 192.168.80.50 port 80 -> terdeteksi ip pengunjung 192.168.80.1server 2: 36.67.22.19 -> 192.168.80.51 port 80 -> terdeteksi ip pengunjung 192.168.80.1server 3: 36.67.22.20 -> 192.168.80.52 port 80 -> terdeteksi ip pengunjung 192.168.80.1
sedangkan solusi yang diinginkan adalah ketika cek ip lewat internet setiap server terdeteksi ip publiknya masing-masing:server 1: cek ip lewat internet -> 36.67.22.18server 2: cek ip lewat internet -> 36.67.22.19server 3: cek ip lewat internet -> 36.67.22.20
tujuannya adalah agar dapat melihat ip visitor yang mengunjungi aplikasi/website pada server:server 1: 36.67.22.18 -> 192.168.80.50 port 80 -> terdeteksi ip publik pengunjungserver 2: 36.67.22.19 -> 192.168.80.51 port 80 -> terdeteksi ip publik pengunjungserver 3: 36.67.22.20 -> 192.168.80.52 port 80 -> terdeteksi ip publik pengunjungserver.
nahInstallasi:sudo apt install fail2ban
Konfigurasi Dasar untuk ituSSH
sudo konfigurasinyanano adalah sebagai berikut:
buat rule
/ip firewall natadd chain=srcnat src-address=192.168.80.0/24 dst-address=192.168.80.0/24 out-interface=ether8-SERVER action=masquerade
add chain=dstnat dst-address=36.67.22.18 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.80.50 to-ports=80
add chain=dstnat dst-address=36.67.22.19 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.80.51 to-ports=80
add chain=dstnat dst-address=36.67.22.20 protocol=tcp dst-port=80 action=dst-nat to-addresses=192.168.80.52 to-ports=80
add chain=srcnat src-address=192.168.80.50 protocol=tcp out-interface=ether8-SERVER action=masqueradeetc/fail2ban/jail.local
addisi:
[sshd]
enabled chain=srcnat= src-address=192.168.80.51true
port protocol=tcp= out-interface=ether8-SERVERssh
filter action=masquerade= sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 1h
findtime = 10m
add[apache-auth]
enabled chain=srcnat= src-address=192.168.80.52true
port protocol=tcp= out-interface=ether8-SERVERhttp,https
logpath action=masquerade= /var/log/apache*/*error.log
maxretry = 5
addRestart chain=srcnatFail2Ban
sudo out-interface=ether3-WAN-ASTINETsystemctl action=masqueraderestart fail2ban
sudo systemctl enable fail2ban
Cek Status Jail
sudo fail2ban-client status