Cara Mudah Konfigurasi Firewalld di Server Linux

Cara Mudah Konfigurasi FirewallD untuk Mengamankan Server dari Hacker. Salahsatu cara untuk mengamankan server adalah dengan memfilter port yang ingin dibuka di server. Menutup seluruh port yang tidak digunakan, membatasi ip tertentu untuk login ke port ssh, dll. Nah di tutorial ini saya akan sharing bagaimana cara mengkonfigurasi firewalld.
FirewallD sudah terinstall secara default di sistem operasi RHELL / CentOS dan Fedora, namun kalian juga bisa menginstallnya di Ubuntu mengikuti tutorial berikut:

Menjalankan firewalld
Setelah terinstall biasanya firewalld langsung berjalan. Namun jika belum kalian bisa gunakan perintah berikut
sudo systemctl enable firewalld
sudo systemctl start firewalld

Untuk mengecek apakah firewalld sudah berjalan atau belum

sudo firewall-cmd --state
Contoh output jika firewalld berjalan
running
Atau bisa juga dengan perintah
sudo systemctl firewalld status

Melihat daftar rules yang aktif
firewall-cmd --list-all
Contoh output:
firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
Di contoh tersebut, service ssh dan dhcpv6-client sudah terkonfigurasi sehingga terlindungi. Kedua service tersebut memang akan langsung masuk ke rules setelah firewalld terinstall

Melihat semua nama services yang bisa ditambahkan ke rules
sudo firewall-cmd --get-services
Contoh output
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector
ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry docker-swarm dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-
client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target jenkins kadmin kerberos kibana klogin kpasswd kprop
kshell ldap ldaps libvirt libvirt-tls managesieve mdns minidlna mongodb mosh mountd ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole
ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy ........
Perintah diatas adalah untuk melihat semua service yang berjalan di jaringan system, dan bisa ditambahkan ke rules firewalld.

Mengijinkan trafik dari port web server
sudo firewall-cmd --add-service={http,https} --permanent
Mengijinkan port tertentu di protokol TCP
Contoh:
sudo firewall-cmd --add-port=1337/tcp --permanent
Mengijinkan port tertentu di protokol UDP
Contoh:
sudo firewall-cmd --add-port=666/udp --permanent
Memblokir trafik keluar dan masuk ke sistem (Panic Mode)
sudo firewall-cmd --panic-on
Untuk menonaktifkannya
sudo firewall-cmd --panic-off 
Membuat zona baru di firewalld
Contoh
sudo firewall-cmd --new-zone=linuxseczone --permanent
Mengaktifkan service di zone tertentu
Contoh
sudo firewall-cmd --zone=linuxseczone --add-port=1337/tcp --permanent
 sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
Konfigurasi port forwarding di firewalld
Mengaktifkan Masquerading
sudo firewall-cmd --add-masquerade --permanent
Port forwarding ke beda port di server yang sama
Contoh
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toport=1337 --permanent
Port forwarding di port yang sama dari local ke remote server
Contoh
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10 --permanent
Port forwarding dari beda port dari port 123 di local dan port 456 di remote server
sudo firewall-cmd --add-forward-port=port=123:proto=tcp:toport=456:toaddr=10.50.142.37 --permanent
Menghapus rule di firewalld
Untuk menghapus rule, tinggal ubah --add menjadi --remove

Sebagai tambahan, --permanent di akhiran rule artinya bahwa rule yang ditambahkan tersebut persistence, tidak akan hilang meski sistem operasi di reboot.

Mungkin itu saja beberapa perintah yang sering digunakan di firewalld. Untuk informasi lain bisa cek dengan perintah
firewalld --help
man firewalld
Atau cek dokumentasi firewalld di link berikut
  • https://firewalld.org/documentation/

Baiklan sekian tutorial kali ini. Semoga bermanfaat. Jika ada yang kurang jelas silahkan ditanyakan.