Cara Setting Firewall dengan Firewalld di Centos 7

  • Bagikan

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

Konsep FirewallD

FirewallD menggunakan zones dan services, dibandingkan dengan iptables yang menggunakan chain dan rules. Berdasarkan pada zones dan services, kita dapat mengontrol koneksi jaringan apa yang diizinkan dan tidak diizinkan masuk atau keluar dari sistem.

FirewallD Zones

Zones adalah kumpulan aturan yang telah ditetapkan, koneksi jaringan apa yang harusnya diizinkan berdasarkan tingkat kepercayaan pada jaringan yang terhubung ke sistem. Kita dapat menetapkan nama interface jaringan dan sumber jaringan ke dalam zones.

Di bawah ini zones yang tersedia pada FirewallD yang disusun berdasarkan tingkat kepercayaan dari tidak terpercaya ke terpercaya.

  1. drop: Semua koneksi jaringan yang masuk didrop tanpa adanya notifikasi atau pesan error. Hanya koneksi jaringan yang keluar dari sistem yang diizinkan.
  2. block: Semua koneksi jaringan yang masuk direject dengan pesan icmp-host-prohibited untuk IPv4 dan icmp6-adm-prohibited untuk IPv6. Hanya koneksi jaringan yang keluar yang diizinkan.
  3. public: Jaringan publik, jaringan yang tidak bisa dipercaya. Kita dapat memilih koneksi jaringan apa yang diizinkan.
  4. external: Jaringan eksternal, jika kita menggunakan Linux sebagai gateway atau router. Dikonfigurasi sebagai NAT masquerading. Hanya trafik yang dipilih yang diizinkan.
  5. internal: Digunakan pada jaringan internal, saat Linux berfungsi sebagai gateway atau router. Sistem lain pada jaringan internal secara umum dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
  6. dmz: Demilitarized zone, jika kita ingin memberikan akses terhadap services ke jaringan publik. Hanya koneksi jaringan yang dipilih saja yang diizinkan.
  7. work: Zona yang diperuntukkan jaringan internal kantor. Semua sistem dalam jaringan kantor dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
  8. home: Zona yang diperuntukkan jaringan internal rumah. Semua sistem dalam jaringan kantor dapat dipercaya, hanya koneksi jaringan yang dipilih yang diizinkan.
  9. trusted: Zona yang paling terbuka, semua sistem pada jaringan dipercaya, dan semua koneksi jaringan diizinkan.

Install FirewallD

Secara default FirewallD sudah terinstall di CentOS 7, tetapi jika belum terinstall jalankan perintah di bawah ini untuk install.

 

Aktifkan service FirewallD pada saat boot lalu jalankan

 

Mengecek status firewall

 

Hasilnya adalah running atau not running.

Konfigurasi Zones

Menampilkan semua zones

 

Hasilnya

 

Membuat zone baru

 

Menghapus zone

 

Melihat seluruh zone beserta konfigurasinya

 

Hasilnya

 

Baca Juga:  Backup Otomatis dengan Penamaan File Berdasarkan Tanggal Menggunakan Rsync, Tar, Cron, dan SSH di Ubuntu Server

Hanya menampilkan konfigurasi satu zone, misalnya zone public.

 

Menampilan default zone

 

Hasil dari CentOS yang saya gunakan adalah trusted.

Mengganti default zone

 

Menampilkan zones yang aktif

 

Hasilnya

 

Zone yang aktif bisa lebih dari satu zone, setiap zone minimal ada satu interface jaringan.

 

Menambahkan interface pada zone

 

Mengubah interface pada zone

 

Menampilkan zone dari interface

 

Konfigurasi Services

Menampilkan nama services yang didukung oleh FirewallD

 

Hasilnya

 

Menampilkan services pada zone

 

Baca Juga:  CEO Google Minta Tim Banting Tulang Perbaiki AI Pesaing ChatGPT

Hasilnya

 

Menambahkan service pada zone

 

Tambahkan opsi –permanent agar service yang sudah ditambahkan tetap ada setelah reboot

 

Reload konfigurasi firewall setelah melakukan konfigurasi, tapi jika tanpa opsi –permanent konfigurasi itu akan hilang setelah reload.

 

Menghapus service

 

Jika nama services yang ingin dimasukkan pada zone tidak tersedia secara default, kita dapat menggunakan nomor port dari service tersebut atau membuat nama service baru.

File deskripsi services berada di direktori /usr/lib/firewalld/services/ dengan ektensi file xml.

Membuka isi file ssh.xml

 

Isinya

 

Membuat deskripsi service baru dengan mengcopy file service.xml yang sudah ada

 

Contoh isinya

 

Reload dan cek services

 

Konfigurasi Port

Menampilkan port pada satu zone

 

Menambahkan port dari protokol TCP atau UDP

 

Menambahkan range port

 

Menghapus port

 

Port Forwarding

Port Forwarding adalah mengalihkan koneksi dari satu port ke port lainnya, misalnya client mengakses port 80 kemudian diteruskan ke port 12345.

 

Forward port ke server lain

Aktifkan masquerade pada zone, lalu tambahkan rule forward.

 

Baca Juga:  Panduan Dasar Cron Job untuk Pemula Terbaru

Jika ingin menghapus masquerade ubah opsi –add-masquerade menjadi –remove-masquerade

Rich Rules

Rich Rules adalah rule firewall yang lebih luas tidak hanya memasukkan nama services saja tetapi juga IP address.

Menampilkan rich-rules

 

Izinkan koneksi jaringan dari IP 192.168.0.14

 

Tolak koneksi jaringan dari IP 192.168.1.10 pada port 22

 

Izinkan koneksi TCP dari IP 10.1.0.3 untuk mengakses port 80 yang kemudian diteruskan ke port 6532

 

Izinkan koneksi TCP pada port 80 yang diteruskan ke IP 172.31.4.2 port 8080 (Masquerade harus aktif pada zone)

 

Izinkan network 192.168.0.0/24 mengakses https

 

Tambahkan opsi –permanent agar rule tetap ada setelah reload dan reboot sistem. Jika ingin menghapus rich rule, ganti opsi –add-rich-rule menjadi –remove-rich-rule.

IP Set

IP Set adalah sekumpulan IP address yang digunakan sebagai source rule firewall.

Menampilkan IP Set

 

Membuat IP Set baru dengan nama blacklist

 

Menambah IP address pada IP Set blacklist

 

Menghapus IP address dari IP Set

 

Menampilkan info IP Set

 

Menampilkan IP address dari IP Set

 

IP Set yang sudah dibuat kemudian dimasukkan ke rule sebagai source

 

Menghapus IP Set

IP Set juga dapat berisi 2 atau lebih network yang berbeda

  • Bagikan