Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara Menggunakan Firewalld di centos 8

Firewalld & SELinux

Cara menggunakan firewalld di centos 8 - Firewalld adalah firewall yang digunakan pada sistem operasi linux CentOS yang merupakan bentuk front-end dari iptables paket filtering yang disediakan oleh kernel linux dalam mengelola keamanan koneksi keluar dan kedalam sistem linux.

Pada tutorial kali ini anda akan belajar bagaimana cara menggunakan perintah-perintah dasar firewalld di Centos 8 server. Kedepan kita akan banyak menggunakan perimtah-perintah firewalld untuk mengijinkan service-service server atau membuka port-port yang dibutuhkan.

Secara default aplikasi Firewalld sudah terpasang pada system Centos 8 jadi kita tinggal menggunakannya saja. ketika service firewalld aktif maka untuk traffik keluar (Outbound) akan diijinkan oleh firewalld, tetapi untuk traffic dari luar ke dalam (Inbound) akan di Block.

Sebagai contoh ketika kita menginstall service HTTPD maka dari sisi client tidak dapat langsung mengakses service HTTPD ke Server Centos, karena service HTTP belum ditambahkan di firewalld. service atau port HTTP harus di ijinkan terlebih dahulu di firewalld setelah itu Client baru dapat mengakses service HTTP.

Jadi mempelajari perintah-perintah firewalld sangat penting untuk diketahui oleh seorang system administrator. Oke Langsung saja ikuti step by step Tutorial Cara menggunakan perintah firewalld di Centos 8 Server.

Menggunakan Firewalld di centos 8


Pertama-tama silahkan cek status firewalld pada system centos
[root@srv1 ~]# systemctl status firewalld
 firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor p>
   Active: active (running) since Thu 2020-05-07 10:56:30 WIB; 1min 37s ago
     Docs: man:firewalld(1)
 Main PID: 833 (firewalld)
    Tasks: 2 (limit: 11490)
   Memory: 30.9M
   CGroup: /system.slice/firewalld.service
           └─833 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork ->

Sep 10 10:56:28 cacti.local systemd[1]: Starting firewalld - dynamic firewall d>
Sep 10 10:56:30 cacti.local systemd[1]: Started firewalld - dynamic firewall da>
lines 1-12/12 (END)
Pastikan pada service firewalld dalam status active (running) jika belum silahkan jalankan perintah start dan enable untuk mengaktifkan fiewalld
[root@srv1 ~]# systemctl start firewalld
[root@srv1 ~]# systemctl enable firewalld
Merestart/Reload service Firewalld
[root@srv1 ~]# firewall-cmd --reload
success
Secara default zona yang dipakai firewall ialah zona "public" yang mana service dhcpv6-client dan ssh telah di ijinkan.
[root@srv1 ~]# firewall-cmd --get-default-zone
public
Menampilkan konfigurasi
[root@srv1 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: cockpit dhcpv6-client dns ntp ssh
  ports: 49155/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
Menampilkan semua zone
[root@srv1 ~]# firewall-cmd --list-all-zones
block
  target: %%REJECT%%
  icmp-block-inversion: no
  interfaces:
  sources:
  services:
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
dmz
  target: default
  icmp-block-inversion: no
  interfaces:
Menampilkan service yang telah diijinkan
[root@srv1 ~]# firewall-cmd --list-services --zone=work
cockpit dhcpv6-client ssh
Mengubah zona pada firewall
[root@srv1 ~]# firewall-cmd --set-default-zone=work
success
Mengubah zona firewall pada network interface
[root@srv1 ~]# firewall-cmd --change-interface=enp0s3 --zone=work
success
Menampilkan zone work
[root@srv1 ~]# firewall-cmd --list-all --zone=work
work (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
Menampilkan service apa saja yang di perbolehkan
[root@srv1 ~]# firewall-cmd --get-services

RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-
client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd 
ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc 
dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client 
etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-
trust ftp ganglia-client ganglia-master git grafana gre high-availability http https 
imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect 
kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-
network llmnr managesieve matrix mdns memcache 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 prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp 
redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc 
sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-
sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog 
syslog-tls telnet tentacle tftp tftp-client tile38 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
Menambahkan service (contoh service http)
[root@srv1 ~]# firewall-cmd --add-service=http
success
Menghapus service
[root@srv1 ~]# firewall-cmd --remove-service=http
success
Menambahkan service secara permanent
[root@srv1 ~]# firewall-cmd --add-service=http --permanent
success
Menambahkan Port
[root@srv1 ~]# firewall-cmd --add-port=49155/tcp
Menampilkan port
[root@srv1 ~]# firewall-cmd --list-ports
443/tcp 49155/tcp
Menghapus Port
[root@srv1 ~]# firewall-cmd --remove-port=49155/tcp
success

Baca Juga : DNF Paket Manager Centos 8
Baca Juga : Cara Menggunakan Text editor di Linux

Apa itu SELinux

SELinux adalah peningkatan keamanan ke Linux yang memungkinkan pengguna dan administrator lebih mengontrol kontrol akses.

Akses dapat dibatasi pada variabel seperti di mana pengguna dan aplikasi dapat mengakses sumber daya mana. Sumber daya ini dapat berbentuk file.

Kontrol akses Linux standar, seperti mode file (-rwxr-xr-x) dapat dimodifikasi oleh pengguna dan aplikasi yang dijalankan oleh pengguna.

Sebaliknya, kontrol akses SELinux ditentukan oleh kebijakan yang dimuat pada sistem yang tidak dapat diubah oleh pengguna yang ceroboh atau aplikasi yang tidak pantas.

SELinux memiliki 3 mode yaitu:

Enforcing : Seting Enforcing ini merupakan setting keamanan yang paling ketat.
Permissive : Setting kemanan ini sedikit longgar.
Disabled : Setting ini paling longgar karena SELinux tidak diaktifkan

Melihat status SELinux
[root@srv1 ~]# getenforce
Enforcing
Melihat status secara lengkap
[root@srv1 ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
Mengubah mode menjadi permissive
[root@srv1 ~]# setenforce 0
[root@srv1 ~]# getenforce
Permissive
Mengubah mode SELinux secara permanent
[root@srv1 ~]# nano /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are pr$
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Demikian kira-kira tutorial Firewalld & SELinux ini saya buat. Semoga bermafaat untuk kita semua. Silahkan Share Jika Kalian merasa postingan ini bermanfaat. Sekian & Terimakasih Salam.