Konfigurasi Dasar Firewal pada Sistem Operasi Linux (Iptables)
https://www.freepik.com/free-vector/man-holding-security-shield-developer-using-laptop-data-applications-protection-network-information-security-safe-cloud-storage-concept-vector-isolated-illustration_11668693.htm#page=1&query=firewall&position=14
Firewal merupakan sebuah software atau perangkat lunak yang digunakan sebagai pelindung pada jaringan sekaligus memfilter data yang masuk pada jaringan. Firewall sendiri bisa berupa Aplikasi, maupun perangkat keras yang sebenarnya sama - sama memiliki fungsi utama untuk melindungi konetivitas pribadi pada server sehingga apabila terdapat akses yang tidak sah, maka akses tersebut tidak dapat diteruskan menuju server karena sudah terfilter oleh Firewall. Berikut merupakan konfigurasi dasar firewall pada sistem operasi linux atau biasa disebut dengan iptables.
1. Cara Menginstall Firewall pada Linux atau Iptables
# sudo apt-get install iptables iptables-persistent
2. Konfigurasi Sistem atau Chain
Sistem Firewall sendiri memiliki 3 buah role atau perintah diantaranya :
1) INPUT
INPUT merupakan filterisasi yang terdapat pada jalur masuk Router dimana input sendiri bertugas untuk memfilter data yang akan Masuk menuju Router.
2) OUTPUT
OUTPUT merupakan filterisasi yang terdaoat pada jalur keluar pada Router, dimana Output sendiri bertugas memfilter data yang Keluar dari Router.
3) FORWARD
FORWARD merupakan sebuah perintah yang tidak memfilter tetapi hanya meneruskan paket yang akan Masuk dan Keluar dari maupun menuju Router ke Jaringan selanjutnya.
3. Konfigurasi Role pada Sistem atau Chain
1) ACCEPT
ACCEPT merupakan perintah yang Memperbolehkan data untuk masuk ke Router.
2) DROP
DROP merupakan perintah yang Menolak semua data yang akan masuk maupun keluar Router.
3) FORWARD
FORWARD merupakan perintah yang akan Menerima paket Secara diam - diam dari paket data yang akan masuk maupun keluar dari Router.
4. Contoh Konfigurasi dasar untuk Protokol Jaringan
1) Konfigurasi untuk Melihat tabel NAT pada Iptables
# sudo iptables -t nat -L
Output :
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
2) Konfigurasi untuk Melihat Mangle Table
// Melihat konfigurasi Mangle Table
# iptables -t mangle --list
// Tabel NAT
# iptables -t nat --list
// Tabel RAW
# iptables -t raw --list
2) Konfigurasi untuk melihat rule yang terdaftar pada chain
# sudo iptables -t filter --list
Output :
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
3) Konfigurasi untuk melihat Policy
# sudo iptables -L | grep policy
Output :
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
2) Konfigurasi untuk Memperbolehkan ping, SSH, FTP, HTTP dan HTTPS
# sudo iptabltes -A INPUT -p icmp -j ACCEPT
# sudo iptabltes -A INPUT -p tcp --dport 22 -j ACCEPT
# sudo iptabltes -A INPUT -p tcp --dport 23 -j ACCEPT
# sudo iptabltes -A INPUT -p tcp --dport 80 -j ACCEPT
# sudo iptabltes -A INPUT -p tcp --dport 443 -j ACCEPT
Output :
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
3) Konfigurasi untuk Menolak ping, SSH, FTP, HTTP dan HTTPS
# sudo iptabltes -A INPUT -p icmp -j DROP
# sudo iptabltes -A INPUT -p tcp --dport 22 -j DROP
# sudo iptabltes -A INPUT -p tcp --dport 23 -j DROP
# sudo iptabltes -A INPUT -p tcp --dport 80 -j DROP
# sudo iptabltes -A INPUT -p tcp --dport 443 -j DROP
Output :
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere
DROP tcp -- anywhere anywhere tcp dpt:ssh
DROP tcp -- anywhere anywhere tcp dpt:http
DROP tcp -- anywhere anywhere tcp dpt:https
DROP tcp -- anywhere anywhere tcp dpt:ftp
4) Konfigurasi untuk Meneruskan Paket
# sudo iptables --policy INPUT FORWARD
# sudo iptables --policy OUTPUT FORWARD
Output :
Chain INPUT (policy FORWARD)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy FORWARD)
5) Konfigurasi untuk menghapus semua Rule pada chain
# sudo iptables -F
Output :
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
6) Konfigurasi untuk Menyimpan Rule
# sudo netfilter-persistent save
# sudo netfilter-persistent reload
5. Catatan Penting !!
1) Semua rule yang ada akan ditolak apabila terdapat perintah DROP pada setiap Konfigurasi rule / chain.
2) SSH tidak akan bisa dijalankan apabila chain INPUT terkena perintah DROP
3) SSH akan bisa diremote meskipun chain INPUT terkena DROP, yakni dengan memberikan Rule ssh pada chain INPUT
4) Pada Chain FORWARD tidak perlu diberikan rule FORWARD, karena dengan memberikan rule ACCEPT paket sudah pasti akan disampaikan menuju jaringan selanjutnya.
0 Reviews: