Cara Setting Firewall dengan FirewallD di CentOS 8

FirewallD adalah perangkat lunak untuk mengelola firewall di Linux yang mendukung fitur zones (zona jaringan) untuk menentukan tingkat kepercayaan koneksi.

FirewallD sudah terinstall dan aktif secara default di CentOS 8. Hal tersebut dapat kita verifikasi dengan mengecek service dan statusnya.

[INPUT]

1 2 systemctl status firewalld firewall-cmd –state

Mengecek Service FirewallD

*0.Install FirewallD*

Jika FirewallD belum terinstall jalankan perintah berikut.

[INPUT]

1 dnf install firewalld

Aktifkan servicenya dan jalankan.

[INPUT]

1 2 3 systemctl start firewalld systemctl enable firewalld systemctl status firewalld

Kemudian periksa statusnya apakah sudah running.

[INPUT]

1 firewall-cmd –state

*1.FirewallD Zones*

FirewallD memiliki zones, secara sederhannya seperti profile konfigurasi yang sudah ditetapkan, masing-masing memiliki rule tersendiri. Zones ada yang sudah disediakan, tapi kita bisa juga membuat custom zones.

Menampilkan semua nama zones.

[INPUT]

1 2 3 firewall-cmd –get-zones   block dmz drop external home internal public trusted work

Menampilkan semua zones dan konfigurasinya.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 firewall-cmd –list-all-zones   … public (active)                                                                       target: default                                                                     icmp-block-inversion: no                                                           interfaces: enp0s3 enp0s8                                                           sources:                                                                           services: cockpit dhcpv6-client ssh                                                 ports:                                                                             protocols:                                                                         masquerade: no                                                                     forward-ports:                                                                     source-ports:   icmp-blocks:   rich rules: … work   target: default   icmp-block-inversion: no   interfaces:   sources:   services: cockpit dhcpv6-client ssh   ports:   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks:   rich rules

Hasil perintah di atas terlihat bahwa public zone merupakan zone yang aktif digunakan.

Bisa juga dengan menggunakan parameter tersendiri untuk menampilkan active zone dan default zone.

[INPUT]

1 2 3 4 5 6 7 8 firewall-cmd –get-active-zones   public   interfaces: enp0s3 enp0s8   firewall-cmd –get-default-zone   public

Menampilkan konfigurasi satu zone, misalnya public.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 firewall-cmd –zone=public –list-all   public (active)   target: default   icmp-block-inversion: no   interfaces: enp0s3 enp0s8   sources:   services: cockpit dhcpv6-client ssh   ports:   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks:   rich rules:

*2.Mengijinkan Services*

Konfigurasi public zone di atas hanya mengijinkan service yang terdaftar yaitu cockpit, dhcpv6-client, dan ssh. Jadi ketika ingin mengakses service lain misalnya http atau https tidak akan bisa.

Menambahkan service http ke public zone.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 firewall-cmd –permanent –zone=public –add-service=http firewall-cmd –reload firewall-cmd –zone=public –list-all   public (active)   target: default   icmp-block-inversion: no   interfaces: enp0s3 enp0s8   sources:   services: cockpit dhcpv6-client http ssh   ports:   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks:   rich rules:

Menampilkan nama service yang bisa dimasukkan ke dalam zone.

[INPUT]

1 2 3 firewall-cmd –get-services   RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger 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 isns jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

Menghapus service dari zone gunakan remove.

[INPUT]

1 firewall-cmd –zone=public –remove-service=http

*3.Mengijinkan Nomor Port*

Kalau service yang ingin kita masukkan tidak tersedia nama servicenya atau servicenya tidak menggunakan nomor default port, kita bisa mengijinkan akses ke service tersebut dengan memasukkan nomor portnya.

Misalnya kita ingin mengijinkan akses ke port nomor 5000 untuk protokol TCP dan UDP.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 firewall-cmd –zone=public –add-port=5000/tcp –permanent firewall-cmd –zone=public –add-port=5000/udp –permanent firewall-cmd –reload firewall-cmd –zone=public –list-all   public (active)   target: default   icmp-block-inversion: no   interfaces: enp0s3 enp0s8   sources:   services: cockpit dhcpv6-client http ssh   ports: 5000/tcp 5000/udp   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks:   rich rules:   firewall-cmd –zone=public –list-ports   5000/tcp 5000/udp

Menghapus port dari public zone.

[INPUT]

1 2 3 firewall-cmd –zone=public –remove-port=5000/tcp –permanent firewall-cmd –zone=public –remove-port=5000/udp –permanent firewall-cmd –reload

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published.