GNU/Linux >> Belajar Linux >  >> Linux

Apa itu FirewallD Dan Bagaimana Menerapkannya Di Linux

Apa itu Firewalld?

Firewalld adalah solusi manajemen firewall untuk banyak distribusi Linux termasuk, Ubuntu, Debian, CentOS, RHEL dan Fedora. Ini bertindak sebagai antarmuka untuk sistem penyaringan iptables yang disediakan oleh kernel Linux. Ini adalah protokol independen yang berarti mendukung IPv4, IPv6, jembatan ethernet, dan set IP.

Konsep Dasar Firewalld

FirewallD menggunakan zona dan layanan alih-alih rantai dan aturan iptables. Zona adalah seperangkat aturan yang menentukan lalu lintas apa yang harus diizinkan tergantung pada tingkat kepercayaan yang Anda miliki dalam jaringan yang terhubung dengan komputer Anda. Antarmuka jaringan menetapkan zona untuk menentukan perilaku yang harus diizinkan oleh firewall.

Firewalld dikelola menggunakan alat baris perintah firewall-cmd. Ini menyediakan antarmuka untuk mengelola runtime dan konfigurasi permanen.

Zona Firewall

Ada 9 zona yang telah ditentukan sebelumnya di Firewalld tergantung pada tingkat kepercayaan dalam urutan menaik.
Penjelasan singkat dari masing-masing zona dijelaskan di bawah ini:

  • Lepaskan : Zona ini memiliki tingkat kepercayaan paling rendah dan digunakan untuk menghentikan semua lalu lintas masuk tanpa mengirimkan pengakuan apa pun kepada pengirim.
  • Blokir : Zona ini sangat mirip dengan zona Drop, lalu lintas masuk ditolak dan pengirim mendapat pesan.
  • Publik : Mengizinkan lalu lintas dari jaringan publik tertentu.
  • Eksternal : Zona ini digunakan ketika sistem Anda bertindak sebagai gateway atau router.
  • Internal : Kumpulan aturan yang berlaku untuk komputer di jaringan internal pribadi Anda.
  • DMZ : Zona ini adalah tambalan komputer yang terisolasi di jaringan internal Anda yang mungkin tidak mengakses sumber daya internal lainnya.
  • Kerja : Zona ini digunakan untuk mesin kerja. Tingkat kepercayaannya tinggi.
  • Beranda : Sebagian besar komputer di zona ini saling percaya. Tingkat kepercayaan lebih tinggi dari pekerjaan.
  • Tepercaya : Zona ini memiliki tingkat kepercayaan tertinggi. Semua komputer dalam jaringan tepercaya.

Langkah 1 – Menginstal Firewalld

Secara default, Firewalld sudah diinstal sebelumnya di sebagian besar sistem operasi. Tetapi beberapa instalasi OS minimal tidak menyertakan fiJika tidak diinstal, Anda dapat menginstalnya dengan perintah berikut:

sudo yum install firewalld        # CentOS/RHEL 8/7/6 
sudo dnf install firewalld        # Fedora and CentOS/RHEL 8 
sudo apt install firewalld        # Ubuntu and Debian  

Setelah menginstal firewalld, Anda harus memulai dan mengaktifkannya untuk memulai setelah sistem di-boot ulang.

sudo systemctl start firewalld
sudo systemctl enable firewalld

Jalankan perintah berikut untuk memverifikasi status firewalld

systemctl status firewalld
[OR] 
firewall-cmd --state

Langkah 2 – Bekerja dengan Zona dan Layanan

Secara default, publik adalah zona default di firewalld dan semua antarmuka jaringan dikonfigurasi dengan zona publik. Anda dapat membuat daftar zona default dengan perintah berikut:

firewall-cmd --get-default-zone

Keluaran:

public

Selanjutnya, jalankan perintah berikut untuk mendapatkan daftar zona aktif:

firewall-cmd --get-active-zones

Anda akan mendapatkan output berikut:

public
  interfaces: eth0 eth1

Untuk mendapatkan daftar semua zona yang tersedia, jalankan perintah berikut:

firewall-cmd --get-zones

Anda akan mendapatkan output berikut:

block dmz drop external home internal public trusted work

Anda dapat membuat daftar semua layanan yang terkait dengan zona publik dengan perintah berikut:

firewall-cmd --list-all

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: 

Untuk mengubah zona default dari publik menjadi bekerja, jalankan perintah berikut:

firewall-cmd --set-default-zone=work

Anda sekarang dapat memverifikasi zona default Anda dengan perintah berikut:

firewall-cmd --get-default-zone

Keluaran:

work

Anda bisa mendapatkan daftar semua layanan yang tersedia di sistem Anda dengan 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 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 3 – Izinkan dan Tolak Layanan di Firewalld

Anda dapat mengizinkan dan menolak lalu lintas masuk berdasarkan layanan yang telah ditentukan di firewalld.

Misalnya, untuk mengizinkan semua lalu lintas masuk untuk layanan http di zona Publik, jalankan perintah berikut:

firewall-cmd --zone=public --add-service=http

Keluaran:

success

Untuk mengizinkan lalu lintas masuk untuk layanan ftp di zona Publik, jalankan perintah berikut:

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

Keluaran:

success

Perintah di atas akan menambahkan layanan http dan ftp sementara dan tidak terus-menerus saat reboot. Anda harus menggunakan --permanent opsi untuk menjadikannya permanen seperti yang ditunjukkan di bawah ini:

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

Selanjutnya, jalankan perintah berikut untuk mengimplementasikan perubahan:

firewall-cmd --reload

Anda sekarang bisa mendapatkan daftar layanan tambahan dengan perintah berikut:

firewall-cmd --permanent --zone=public --list-services

Anda akan melihat output berikut:

cockpit dhcpv6-client ftp http ssh

Anda juga dapat memeriksa informasi detail tentang zona Publik dengan perintah berikut:

firewall-cmd --info-zone public

Keluaran:

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

Jika Anda ingin menghapus/menolak layanan di atas dari firewalld, gunakan --remove-service pilihan:

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

Selanjutnya, jalankan perintah berikut untuk menerapkan perubahan:

firewall-cmd --reload

Langkah 4 – Izinkan dan Tolak Port di Firewalld

Anda juga dapat mengizinkan dan menolak lalu lintas masuk berdasarkan port di firewalld.

Misalnya, izinkan semua lalu lintas masuk pada port 8080 dan 443, jalankan perintah berikut:

firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --permanent --zone=public --add-port=8080/tcp

Selanjutnya, jalankan perintah berikut untuk menerapkan perubahan:

firewall-cmd --reload

Selanjutnya, verifikasi port yang ditambahkan dengan perintah berikut:

firewall-cmd --permanent --zone=public --list-ports

Keluaran:

443/tcp 8080/tcp

Demikian pula hapus/tolak port di atas dari firewalld, gunakan opsi –remove-port:

firewall-cmd --permanent --zone=public --remove-port=443/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/tcp

Selanjutnya, jalankan perintah berikut untuk menerapkan perubahan:

firewall-cmd --reload

Langkah 5 – Penerusan Port dengan Firewalld

Penerusan port adalah proses yang mengalihkan permintaan dari kombinasi IP/port dan mengarahkannya ke IP dan/atau port yang berbeda. Teknik ini memungkinkan mesin jarak jauh untuk terhubung ke layanan tertentu dalam jaringan pribadi.

Sebelum mengonfigurasi penerusan port, Anda harus mengaktifkan masquerade di zona yang diinginkan. Anda dapat mengaktifkannya menggunakan --add-masquerade pilihan:

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

Selanjutnya, untuk meneruskan lalu lintas dari port 80 ke port 8080 di server yang sama jalankan perintah berikut:

firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080

Jika Anda ingin meneruskan lalu lintas dari port lokal 80 ke port 8080 pada server jauh dengan alamat IP 192.168.1.200 jalankan perintah berikut:

firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.200

Selanjutnya, jalankan perintah berikut untuk menerapkan perubahan:

firewall-cmd --reload

Jika Anda ingin menghapus aturan di atas, ganti –tambahkan dengan –hapus seperti gambar di bawah ini:

firewall-cmd --permanent --zone=public --remove-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.200
firewall-cmd --permanent --zone=public --remove-forward-port=port=80:proto=tcp:toport=8080

Kesimpulan

Dalam panduan di atas, Anda mempelajari konsep dasar Firewalld dan bagaimana menerapkannya pada sistem operasi Linux. Saya harap Anda sekarang dapat membatasi lalu lintas masuk yang tidak perlu dengan firewalld.


Linux
  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Apa Itu Podman Dan Bagaimana Cara Menginstal Podman Di Linux

  3. Panduan pemula untuk firewalld di Linux

  1. Cara Install dan Konfigurasi Fail2ban di Alma Linux 8

  2. Flatpak di Linux:Apa Itu dan Bagaimana Menginstal Aplikasi dengannya

  3. Apa itu NFS dan bagaimana cara menginstalnya di Linux

  1. Perintah File Linux:Apa Fungsinya dan Bagaimana Cara Menggunakannya

  2. Perintah Tail Linux:Apa Itu dan Bagaimana Cara Menggunakannya

  3. Apa itu penerusan IP di Linux? Bagaimana cara mengaktifkan penerusan IP?