Create by : Naufal Farras Wahyuntitof
Operating System Used in this Tutorial : Linux Ubuntu
Virtual Environment : VMWARE
-
Studi kasus 1
- Defender -> Attacker
-
Studi kasus 2
-
Menampilkan rules:
a. Filter table
b. Mangle table
c. NAT table
d. RAW table
-
Mengubah policy chain dan cek ulang
-
Menambah protokol ICMP, SSH, HTTP, HTTPS, FTP
-
Menghapus satu rules, melihat semua rules, menyimpan konfigurasi iptables
-
Perlu Diperhatikan
- Bagi linuxnya berbeda dengan yang saya pakai, kalian tinggal sesuaikan saja. Namun apabila ada error anda bisa bertanya kepada Chat GPT/OpenAI, Jangan Manja ya Gaes!!!
- lakukan sudo apt update && apt upgrade sebelum memulai apapun
- install ssh dan ftp karena sangat dibutuhkan dalam pengetesan pada studi kasus 1
Install
sudo apt install openssh-server
sudo apt upgrade
Konfigurasi
sudo service ssh restart
sudo systemctl enable ssh
sudo ufw allow 22/tcp
sudo ufw enable
Install
sudo apt install vsftpd
sudo apt upgrade
Konfigurasi
sudo service vsftpd restart
sudo ufw allow 21/tcp
sudo ufw enable
Setelah selesai Install & Konfigurasi silahkan kalian ketikkan ifconfig
. Lalu copy IP Address untuk persiapan studi kasus 1 dengan cara (CTRL + SHIFT + C) setelah itu buka pada windows kalian lalu cari powershell dan dibuka menggunakan Administrator. Pada Powershell ketikkan nmap -p 22,21 -sV IP Address
lalu powershell akan scanning IP Address kalian. setelah muncul hasil SCAN pastikan ssh & ftp berstatus Open.
Sebelum kita melakukan fail2ban sebaiknya kita melakukan Install fail2ban. Buka Terminal pada Linux kalian lalu ketikkan :
sudo apt update
sudo apt install fail2ban
sudo apt upgrade
Setelah kalian install kita buka Powershell yang sudah dibuka tadi.
Setelah itu kalian coba ketiikan ssh root@IP Address
dan akan muncul:
> root@IP Address password :
kalian bisa ketikkan password sembarang sampai salah semua. Apabila tidak muncul]
root@IP Address password :
berarti install ssh kalian belum berhasil.
Itu semua bisa kita lakukan karena kita belum melakukan konfigurasi terhadap fail2ban.
Sekarang kita kembali ke Terminal Linux kita. sekarang kita lakukan konfigurasi dengan mengetikkan:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
gedit /etc/fail2ban/jail.local
(Pada menu gedit perlu kalian perhatikan pada line 92, 101, 105, 108, dan 288. ini bisa juga kalian ubah sesuai keinginan kalian)
Selanjutnya kita mulai proses fail2ban dengan mengetikkan:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo systemctl status fail2ban.service
apabila warna hijau, berarti sudah aktif
Selanjutnya kalian coba pada Powershell dengan mengetikkan ssh root@IP Address
maka return yang dihasilkan adalah error connection dimana itu juga bagian pencegahan oleh fail2ban.
sebelum kita melakukan fail2ban sebaiknya kita melakukan Install iptables. Buka Terminal pada Linux kalian lalu ketikkan :
sudo apt update
sudo apt install iptables
sudo apt install iptables-persistent
sudo apt upgrade
Sebelum kita Menambah atau Mengubah Rules alangkah baiknya kita Tampilkan terlebih dahulu Rules-nya dengan mengetikkan:
- Filter Table:
sudo iptables -t filter --list
- Mangle Table:
sudo iptables -t mangle --list
- NAT Table:
sudo iptables -t nat --list
- RAW Table:
sudo iptables -t raw --list
Sekarang kita akan melakukan perubahan Default Policy Filter, sebelum mengubah kita lihat dulu Default policy-nya bagaimana, dengan mengetikkan :
sudo iptables -L | grep policy
(maka akan muncul 3 Default policy)
Selanjutnya kita akan mengubahnya dengan mengetikkan :
sudo iptables --policy INPUT DROP
(apabila ingin DROP bagian INPUT)sudo iptables --policy FORWARD DROP
(apabila ingin DROP bagian FORWARD)sudo iptables --policy OUTPUT ACCEPT
(apabila ingin ACCEPT bagian OUTPUT)
Setelah itu lihat kembali tampilan bagian policy-nya lagi. ketik :
sudo iptables --policy INPUT DROP
Selanjutnya kita akan Menambahkan Rules, disini kita akan menambahkan protocol icmp,ssh,http,https, dan ftp. Sebelum kita menambahkan kita akan ubah Default policy pada bagian INPUT menjadi ACCEPT. Ketik :
sudo iptables --policy INPUT ACCEPT
Setelah itu kita akan menambahkan semua protocol dengan mengetikkan :
sudo iptables -A INPUT -p icmp -j ACCEPT
(icmp)sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
(ftp)sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
(ssh)sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(http)sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
(https)
Selanjutnya kita cek apakah kita sudah berhasil menambahkan protocol yang sudah kita setting dengan mengetikkan :
sudo iptables -L
Pastikan protocol yang kita tambahkan muncul semuanya. Selanjutnya kita akan mencoba untuk menghapus protocol semisal protocol https/tcp 443 dengan mengetikkan :
sudo iptables -D INPUT tcp --dport 443 -j ACCEPT
cek lagi dengan mengetikkan :
sudo iptables -L
Pastikan protocol HTTPS benar-benar terhapus. selanjutnya kita akan menyimpan konfigurasi IPTABLES dengan mengetikkan :
sudo netfilter-persistent save
sudo netfilter-persistent reload
Rules akan tersimpan di /etc/iptables/rules.v4
Selanjutnya kita akan Mengedit dan menambahkan Docker Rule pada rules.v4
Docker pada rules Filter
sudo iptables -N DOCKER
sudo iptables -N DOCKER-USER
sudo iptables -A DOCKER-USER -j DOCKER
sudo iptables -t filter -N DOCKER-ISOLATION-STAGE-1
sudo iptables -A DOCKER-USER -j DOCKER-ISOLATION-STAGE-1
sudo iptables -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -o docker0 -j DOCKER
sudo iptables -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
sudo iptables -A FORWARD -i docker0 -o docker0 -j ACCEPT
sudo iptables -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
sudo iptables -A FORWARD -i docker0 -o docker0 -j ACCEPT
sudo iptables -t filter -N DOCKER-ISOLATION-STAGE-2
sudo iptables -A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
sudo iptables -A DOCKER-ISOLATION-STAGE-1 -j RETURN
sudo iptables -A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
sudo iptables -A DOCKER-ISOLATION-STAGE-2 -j RETURN
sudo iptables -A DOCKER-USER -j RETURN
Docker pada rules NAT
sudo iptables -t nat -N DOCKER
sudo iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
sudo iptables -t nat -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
sudo iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
sudo iptables -t nat -A DOCKER -i docker0 -j RETURN
Kita simpan konfigurasi Docker terlebih dahulu
sudo iptables-restore -t < /etc/iptables/rules.v4
sudo netfilter-persistent save
sudo netfilter-persistent reload
Selanjutnya kita lihat hasilnya
sudo nano /etc/iptables/rules.v4
untuk keluar dari mode Editor Nano tekan CTRL + X