“Cara Install FirewallD pada Centos 7 untuk Pemula”
Firewalld adalah solusi manajemen firewall yang tersedia untuk banyak distribusi Linux yang bertindak sebagai antarmuka untuk sistem penyaringan paket iptables yang disediakan oleh kernel Linux. Dalam panduan ini, kami akan membahas cara mengatur firewall untuk server Anda dan menunjukkan kepada Anda dasar-dasar mengelola firewall dengan alat administratif firewall-cmd.
FirewallD Zones
Zones adalah kumpulan aturan yang telah ditetapkan, koneksi jaringan apa yang harusnya diizinkan berdasarkan tingkat kepercayaan pada jaringan yang terhubung ke sistem. Kita dapat menetapkan nama interface jaringan dan sumber jaringan ke dalam zones.
Di bawah ini zones yang tersedia pada FirewallD yang disusun berdasarkan tingkat kepercayaan dari tidak terpercaya ke terpercaya.
- drop: Semua koneksi jaringan yang masuk didrop tanpa adanya notifikasi atau pesan error. Hanya koneksi jaringan yang keluar dari sistem yang diizinkan.
- block: Semua koneksi jaringan yang masuk direject dengan pesan icmp-host-prohibited untuk IPv4 dan icmp6-adm-prohibited untuk IPv6. Hanya koneksi jaringan yang keluar yang diizinkan.
- public: Jaringan publik, jaringan yang tidak bisa dipercaya. Kita dapat memilih koneksi jaringan apa yang diizinkan.
- external: Jaringan eksternal, jika kita menggunakan Linux sebagai gateway atau router. Dikonfigurasi sebagai NAT masquerading. Hanya trafik yang dipilih yang diizinkan.
- internal: Digunakan pada jaringan internal, saat Linux berfungsi sebagai gateway atau router. Sistem lain pada jaringan internal secara umum dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
- dmz: Demilitarized zone, jika kita ingin memberikan akses terhadap services ke jaringan publik. Hanya koneksi jaringan yang dipilih saja yang diizinkan.
- work: Zona yang diperuntukkan jaringan internal kantor. Semua sistem dalam jaringan kantor dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
- home: Zona yang diperuntukkan jaringan internal rumah. Semua sistem dalam jaringan kantor dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
- trusted: Zona yang paling terbuka, semua sistem pada jaringan dipercaya, dan semua koneksi jaringan diizinkan.
Install FirewallD
yum install firewalld -y
- Enable service dan start service
systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld
Mengecek status firewall
firewall-cmd --state
Konfigurasi Zones
firewall-cmd --get-zones
Membuat Zone baru
firewall-cmd --permanent --new-zone=namazone
misal nama zone test
firewall-cmd --permanent --new-zone=test
Menghapus zone
firewall-cmd --permanent --delete-zone=namazone
Melihat seluruh Zone dan Konfigurasinya
firewall-cmd --list-all-zones
Menampilkan salah satu konfigurasi Zone
firewall-cmd --zone=public --list-all
Menampilkan dan mengganti Default Zone
firewall-cmd --get-default-zone
firewall-cmd --set-default-zone=public
Menampilkan Zone yang Aktif
firewall-cmd --get-active-zone
Menambahkan interface pada zone
firewall-cmd --zone=public --add-interface=eth0
Mengubah interface pada zone
firewall-cmd --zone=public --change-interface=eth1
Menampilkan zone dari interface
firewall-cmd --get-zone-of-interface=eth0
Menampilkan nama services yang didukung oleh FirewallD
firewall-cmd --get-services
Menampilkan services pada zone
firewall-cmd --zone=public --list-services
Menambahkan service pada zone
firewall-cmd --permanent --zone=public --add-service=http
Harus di reload
firewall-cmd --reload
Menghapus service pada Zone
firewall-cmd --zone=public --remove-service=http
Menampilkan port pada satu zone
firewall-cmd --zone=public --list-ports
Menambahkan port dari protokol TCP atau UDP
firewall-cmd --zone=public --add-port=8000/tcp
firewall-cmd --zone=public --add-port=8000/udp
Menambahkan range port
firewall-cmd --zone=public --add-port=4990-4999/udp
Menghapus port
firewall-cmd --zone=public --remove-port=8000/tcp
Port Forwarding ( ke server lain)
firewall-cmd --zone=public --add-masquerade
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=123.456.78.9
Menampilkan rich-rules
firewall-cmd --list-rich-rules
Izinkan koneksi jaringan dari IP 192.168.3.10
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=192.168.0.14 accept'
Tolak koneksi jaringan dari IP 192.168.1.10 pada port 22
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=192.168.1.10 port port=22 protocol=tcp reject'
Izinkan koneksi TCP dari IP 10.1.0.3 untuk mengakses port 80 yang kemudian diteruskan ke port 6530
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=6530'
Izinkan koneksi TCP pada port 80 yang diteruskan ke IP 172.31.4.2 port 8080 (Masquerade harus aktif pada zone)
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 forward-port port=80 protocol=tcp to-port=8080 to-addr=172.31.4.2'
Izinkan network 192.168.0.0/24 mengakses https
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=192.168.0.0/24 service name=https accept'
Noted -> Tambahkan opsi –permanent agar rule tetap ada setelah reload dan reboot sistem. Jika ingin menghapus rich rule, ganti opsi –add-rich-rule menjadi –remove-rich-rule.
Menampilkan IP Set
firewall-cmd --get-ipsets
Membuat IP Set baru dengan nama black
firewall-cmd --permanent --new-ipset=black --type=hash:ip
firewall-cmd --reload
Menambah IP address pada IP Set whitelist
firewall-cmd --ipset=black --add-entry=192.168.1.11
firewall-cmd --ipset=black --add-entry=192.168.1.12
Menghapus IP address dari IP Set
firewall-cmd --ipset=black --remove-entry=192.168.1.12
Menampilkan info IP Set
firewall-cmd --info-ipset=black
Menampilkan IP address dari IP Set
firewall-cmd --ipset=black --get-entries
IP Set yang sudah dibuat kemudian dimasukkan ke rule sebagai source
firewall-cmd --add-rich-rule='rule source ipset=black drop'
Menghapus IP Set
firewall-cmd --permanent --delete-ipset=black
firewall-cmd --reload
IP Set juga dapat berisi 2 atau lebih network yang berbeda
firewall-cmd --permanent --new-ipset=netlist --type=hash:ip
firewall-cmd --reload
firewall-cmd --ipset=netlist --add-entry=192.168.1.0/24
firewall-cmd --ipset=netlist --add-entry=192.168.2.0/24
Sekian Update Arikel mengenai Firewalld. Semoga bermanfaat