GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Firewall dengan Firewalld di CentOS 8

Firewall adalah cara untuk melindungi sistem Anda dari lalu lintas yang tidak diinginkan dari jaringan luar. Alat firewall gratis dan komersial berlimpah; beberapa di antaranya termasuk Iptables, UFW, Juniper, pfSense, SonicWall, dan banyak lagi.

Di antara mereka, FirewallD adalah alat perangkat lunak firewall gratis untuk sistem operasi CentOS/RHEL/Fedora. Ini adalah pengontrol frontend untuk iptables dan menyediakan antarmuka baris perintah untuk menerapkan aturan firewall. Dibandingkan dengan Iptables, FirewallD menggunakan zona dan layanan alih-alih rantai dan aturan dan mengelola kumpulan aturan secara dinamis. FirewallD menyediakan alat baris perintah firewall-cmd untuk mengelola waktu proses dan konfigurasi permanen.

Fitur

  • Mendukung protokol IPv4 dan IPv6
  • Daftar Zona Standar
  • CLI dan konfigurasi grafis
  • API D-Bus Lengkap
  • Jembatan Ethernet
  • Log sederhana dari paket yang ditolak
  • Daftar aplikasi yang diizinkan
  • Integrasi boneka

Dalam tutorial ini, kita akan mempelajari cara mengatur firewall dengan FirewallD di CentOS 8.

Prasyarat

  • VPS CentOS 8 baru di Platform Cloud Atlantic.Net
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1:Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih CentOS 8 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server CentOS 8 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

dnf update -y

Langkah 2:Instal Firewalld

dnf install firewalld -y

Setelah terinstal, mulai layanan FirewallD dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start firewalld
systemctl enable firewalld

Anda juga dapat memverifikasi status FirewallD menggunakan perintah berikut:

firewall-cmd --state

Keluaran:

running

Langkah 3:Penggunaan Dasar FirewallD

FirewallD mengelola seperangkat aturan menggunakan zona. Setiap zona memiliki konfigurasinya sendiri untuk menerima atau menolak paket tergantung pada tingkat kepercayaan yang Anda miliki dalam jaringan yang terhubung dengan komputer Anda.

Anda dapat membuat daftar semua zona yang tersedia menggunakan perintah berikut:

firewall-cmd --get-zones

Anda akan melihat daftar berikut:

block dmz drop external home internal public trusted work

Untuk mendapatkan daftar semua zona aktif, jalankan perintah berikut:

firewall-cmd --get-active-zones

Anda akan melihat daftar berikut:

public
interfaces: eth0 eth1

Anda dapat membuat daftar zona default yang ditetapkan untuk koneksi jaringan menggunakan perintah berikut:

firewall-cmd --get-default-zone

Keluaran:

public

Untuk mengubah zona default dari publik ke rumah menggunakan perintah berikut:

firewall-cmd --set-default-zone=home --permanent

Untuk menampilkan informasi lebih lanjut tentang zona apa pun menggunakan perintah berikut:

firewall-cmd --info-zone public

Anda akan mendapatkan output berikut:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Anda juga dapat membuat daftar semua layanan yang tersedia dengan menjalankan perintah berikut:

firewall-cmd --get-services

Anda akan mendapatkan output berikut:

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 kube-apiserver 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

Langkah 4:Izinkan dan Tolak Port dengan Firewalld

Firewalld menyediakan alat baris perintah firewall-cmd untuk menambah dan menghapus port di sistem Anda.

Misalnya, untuk mengizinkan TCP port 80 dan 22 di zona publik, jalankan perintah berikut:

firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=22/tcp

Selanjutnya, muat ulang daemon FirewallD untuk menyimpan konfigurasi:

firewall-cmd --reload

Sekarang, daftarkan port yang ditambahkan dengan perintah berikut:

firewall-cmd --info-zone public

Anda akan melihat output berikut:

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Anda juga dapat menolak atau menghapus port dari zona dengan mudah menggunakan opsi –remove-port.

Misalnya, untuk menolak atau menghapus port 80 dari zona publik, jalankan perintah berikut:

firewall-cmd --zone=public --permanent --remove-port=80/tcp

Langkah 5:Izinkan dan Tolak Layanan dengan FirewallD

Anda juga dapat mengizinkan dan menolak berdasarkan nama layanan alih-alih menggunakan port dengan FirewallD.

Misalnya, izinkan layanan FTP di zona publik dengan menjalankan perintah berikut:

firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --reload

Anda dapat menolak atau menghapus layanan FTP dari zona publik menggunakan perintah berikut:

:

firewall-cmd --zone=public --permanent --remove-service=ftp
firewall-cmd --reload

Langkah 6:Siapkan Penyamaran IP dengan FirewallD

Penyamaran IP adalah proses atau metode yang memungkinkan komputer Anda dalam jaringan dengan alamat IP pribadi untuk berkomunikasi dengan Internet menggunakan alamat server Anda. Ini sangat berguna ketika Anda ingin komputer lain berkomunikasi ke Internet tanpa membeli IP tambahan dari ISP Anda.

Sebelum mengatur penyamaran IP, periksa apakah penyamaran aktif atau tidak dengan perintah berikut:

firewall-cmd --zone=public --query-masquerade

Anda akan melihat bahwa penyamaran IP dinonaktifkan di zona publik seperti yang ditunjukkan di bawah ini:

no

Sekarang, atur penyamaran IP menggunakan perintah berikut:

firewall-cmd --zone=public --add-masquerade
firewall-cmd --reload

Anda juga dapat menonaktifkan penyamaran IP menggunakan opsi –remove-masquerade:

firewall-cmd --zone=public --remove-masquerade
firewall-cmd --reload

Kesimpulan

Dalam panduan di atas, Anda mempelajari cara menggunakan FirewallD untuk memblokir lalu lintas yang tidak diinginkan di sistem Anda. Anda sekarang harus dapat membatasi semua koneksi yang tidak perlu dan melindungi server Anda dari penyerang. Coba FirewallD di VPS Atlantic.Net!


Linux
  1. Konfigurasi Firewall dengan FirewallD di CentOS 7

  2. Cara Mengkonfigurasi Firewall di CentOS 7

  3. Cara Mengatur Firewall dengan iptables di Ubuntu dan CentOS

  1. Cara menonaktifkan firewall di CentOS 8 Linux

  2. Cara Mengatur Firewall menggunakan FirewallD di CentOS 8

  3. Cara Mengatur Firewall dengan UFW di Ubuntu 16.04

  1. Cara Mengatur Firewall dengan UFW di Ubuntu 18.04

  2. Cara Mengatur VPN WireGuard di CentOS 8

  3. CentOS / RHEL 7 :Bagaimana cara membuka port di firewall dengan firewall-cmd?