GNU/Linux >> Belajar Linux >  >> Linux

Gunakan firewalld pada Distribusi Berbasis RedHat

Firewalld telah menggantikan iptables sebagai firewall untuk distribusi berbasis RHEL. Sintaks yang digunakan firewalld lebih ramah pengguna. Posting ini menunjukkan kepada Anda bagaimana memastikan bahwa firewalld berjalan dan dimulai ketika server Anda boot. Ini juga menunjukkan kepada Anda cara membuat aturan firewall yang persisten dan fleksibel.

Catatan :Red Hat®, CentOS®, Alma Linux®, Rocky Linux® juga menggunakan firewalld, jadi semua perintah dalam artikel ini juga berfungsi di gambar berbasis RHEL yang tersedia di Rackspace.

Konsep dasar firewall

Firewalld menggunakan zona untuk mengelola kelompok aturan. Zona dilampirkan ke antarmuka jaringan dan menentukan lalu lintas mana yang diizinkan pada jaringan tertentu dan lalu lintas mana yang ditolak.

Fungsionalitas ini mungkin berguna jika Anda ingin membuat firewall yang sangat ketat di antarmuka publik Anda, dan firewall yang lebih santai di antarmuka CloudNetwork Anda. Menjadi akrab dengan zona yang telah ditentukan firewall sangat membantu. Firewalld memiliki zona yang telah ditentukan sebelumnya, diurutkan dari yang paling tidak tepercaya hingga yang paling tepercaya:

  • drop :Zona ini hanya mengizinkan koneksi keluar. Itu memutuskan koneksi masuk tanpa balasan.
  • block :Meskipun mirip dengan drop , zona ini menolak permintaan masuk denganicmp-host-prohibited atau icmp6-adm-prohibited pesan.
  • public :Gunakan zona ini untuk jaringan publik, atau jika Anda tidak mempercayai komputer lain di jaringan tersebut. Zona ini menerima koneksi masuk berdasarkan kasus per kasus.
  • external :Gunakan zona ini pada jaringan eksternal di mana firewall bertindak sebagai gateway. Zona ini dikonfigurasi untuk penyamaran Terjemahan Alamat Jaringan (NAT) sehingga jaringan internal Anda bersifat pribadi tetapi dapat dijangkau.
  • internal :Gunakan zona ini untuk bagian internal gateway, di mana komputer lain cukup dapat dipercaya.
  • dmz :Gunakan zona ini untuk komputer terisolasi yang terletak di zona demiliterisasi (DMZ). Zona ini hanya mengizinkan Secure Shell (SSH) dan Internet Control Message Protocol (ICMP).
  • work :Gunakan zona ini untuk komputer kerja.
  • home :Gunakan zona ini untuk lingkungan rumah.
  • trusted :Gunakan zona ini saat Anda mempercayai semua komputer di jaringan.

Untuk menggunakan firewall, Anda membuat aturan dan mengubah properti zona Anda, lalu menetapkan antarmuka jaringan ke zona yang paling sesuai untuk jaringan Anda.

Mulai firewall dan aktifkan saat boot

Secara default, firewalld harus diaktifkan, reboot server, lalu mulai saat boot.

Anda dapat dengan mudah memeriksa apakah firewall sedang berjalan dengan menggunakan --state bendera, seperti yang ditunjukkan pada contoh berikut:

    [user@server ~]$ sudo firewall-cmd --state
    Finding out about your zones

Jika firewalld tidak berjalan, Anda dapat mengaktifkan dan memulainya dengan menjalankan perintah berikut:

    [user@server ~]$ sudo systemctl enable firewalld
    [user@server ~]$ sudo systemctl start firewalld

Anda dapat melihat zona mana yang saat ini menjadi zona default dengan menjalankan perintah berikut:

    [user@server ~]$ sudo firewall-cmd --get-default-zone

Anda dapat melihat antarmuka jaringan mana yang ditetapkan ke zona mana dengan menjalankan perintah berikut:

    [user@server ~]$ sudo firewall-cmd --get-active-zones

Catatan :Default menetapkan semua antarmuka jaringan ke zona publik.

Anda juga dapat menemukan aturan yang terkait dengan zona publik dengan menjalankan perintah berikut:

    [user@server ~]$ sudo firewall-cmd --list-all --zone=public

Outputnya akan terlihat seperti contoh berikut:

    public (default, active)

    interfaces: eth0 eth1

    sources:

    services: dhcpv6-client http https ssh

    ports: 1025/tcp

    masquerade: no

    forward-ports:

    icmp-blocks:

    rich rules:

Output menunjukkan bahwa zona publik adalah default, dan memiliki antarmuka jaringan eth0 andeth1. Protokol Konfigurasi Host Dinamis (DHCP)(dhcpv6-client ), SSH, lalu lintas Hypertext Transfer Protocol (HTTP), dan Secure HTTP (HTTPS) diperbolehkan, serta lalu lintas Transmission Control Protocol (TCP) pada port 1025 .

Untuk mendapatkan daftar zona yang tersedia, jalankan perintah berikut:

    [user@server ~]$ sudo firewall-cmd --get-zones

Siapkan zona Anda

Anda dapat memindahkan antarmuka antar zona selama sesi Anda dengan menggunakan--change-interface= argumen dan --zone argumen. Jika firewall dimulai ulang, antarmuka akan kembali ke zona default.

    [user@server ~]$ sudo firewall-cmd --zone=internal --change-interface=eth1

Untuk menentukan zona permanen untuk antarmuka, buka file konfigurasi untuk antarmuka dan tambahkan baris berikut:

    ...
    ONBOOT=yes
    ZOME=internal

Simpan dan tutup file, lalu jalankan perintah berikut untuk memulai ulang jaringan dan firewall dan memaksa perubahan diterapkan:

    [user@server ~]$ sudo systemctl restart network
    [user@server ~]$ sudo systemctl restart firewalld

Siapkan aturan

Firewalld hadir dengan layanan yang telah ditentukan sebelumnya yang memungkinkan Anda untuk menambahkan hanya layanan, bukan nomor port dan jenis protokol. Misalnya, mereka memungkinkan Anda untuk mengizinkan http daripada tcp port 80 .

Anda dapat memperoleh daftar layanan ini dengan menggunakan perintah berikut:

    [user@server ~]$ sudo firewall-cmd --get-services

Kemudian, gunakan contoh perintah berikut untuk menambahkan layanan:

    [user@server ~]$ sudo firewall-cmd --add-service=http

Konfigurasi langsung berlaku, tetapi tidak bertahan saat reboot. Untuk mengaktifkan jenis konfigurasi layanan ini untuk memulai ulang saat server melakukan boot ulang, Anda perlu menambahkan --permanent argumen. Kami menyarankan Anda menjalankan kedua perintah ini secara berurutan sehingga konfigurasi segera berlaku, dan layanan juga melakukan boot ulang, seperti yang ditunjukkan pada contoh berikut:

    [user@server ~]$ sudo firewall-cmd --add-service=http
    firewall-cmd --permanent --add-service=http

Anda dapat memperoleh detail tambahan tentang aturan standar firewalld dengan menavigasi ke /usr/lib/firewalld/services/ direktori dan membaca file.

Siapkan aturan kaya

Aturan yang kaya adalah bagaimana Anda mendefinisikan conditional di firewalld. Kasus penggunaan yang paling umum untuk aturan yang kaya adalah mengizinkan akses dari alamat IP atau rentang alamat IP tertentu. Perintah berikut memungkinkan akses ke port TCP 80 dari IP mana pun pada jaringan 192.168.0.0 dan membuat aturan menjadi permanen:

    [user@server ~]$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept'
    [user@server ~]$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

Untuk contoh aturan yang kaya, lihat Fedora®Wiki.

Tentukan layanan

Anda dapat membuat layanan Anda sendiri dan merujuk saat Anda membuat aturan dengan menempatkan file di /usr/lib/firewalld/services/ direktori. Cara termudah untuk melakukan tugas ini dengan menyalin .xml . yang ada file di direktori ini, lalu ubah detailnya.

Contoh perintah berikut menyalin file yang ada ke file baru:

    [user@server ~]$ sudo cp /usr/lib/firewalld/services/http.xml /usr/lib/firewalld/services/myservice.xml

Perintah berikut membuka file baru untuk diedit:

    [user@server ~]$ sudo vim /usr/lib/firewalld/services/myserver.xml

File akan terlihat seperti contoh berikut:

    <!--?xml version="1.0" encoding="utf-8"?-->
    <service>
      <short>My Custom Service</short>
      <description>A brief description of the service. This rule allows port 1134 on TCP for my application.</description>
      <port protocol="tcp" port="1134"></port>
    </service>

Untuk menerapkan perubahan Anda, gunakan perintah berikut dengan nama file, minus .xml ekstensi file:

    [user@server ~]$ sudo firewall-cmd --add-service=myservice
    [user@server ~]$ sudo firewall-cmd --permanent --add-service=myservice

Gunakan tab Umpan Balik untuk memberikan komentar atau mengajukan pertanyaan. Anda juga dapat memulai percakapan dengan kami.


Linux
  1. Panduan pemula untuk firewalld di Linux

  2. Apa itu FirewallD Dan Bagaimana Menerapkannya Di Linux

  3. Manajemen firewall firewall dasar

  1. Cara Mengaktifkan dan Menggunakan firewalld di CentOS 7

  2. Redhat Nonaktifkan Firewall – mulai, hentikan, aktifkan, nonaktifkan

  3. Instal tumpukan LAMP pada distribusi berbasis RHEL 7

  1. Distribusi Linux Terbaik Berdasarkan KDE

  2. Cara Menginstal dan Menggunakan Snap di Berbagai Distribusi Linux

  3. Bagaimana cara menggunakan DNS Zone Manager di WHM?