MODUL 16 FIREWALLS (ADINUSA)

Modul 16 membahas tentang Firewalls dalam administrasi sistem Linux.

Firewalls

Firewall digunakan untuk mengontrol akses masuk dan keluar dari sistem serta jaringan lokal. Ini merupakan fitur keamanan penting dalam jaringan modern guna mencegah intrusi dan serangan siber. Dengan firewall, pengguna dapat mengatur tingkat kepercayaan pada lalu lintas jaringan berdasarkan antarmuka tertentu atau alamat IP.

Di akhir modul ini, Anda akan mampu:

  • Memahami konsep firewall dan pentingnya dalam sistem keamanan.
  • Mengenali berbagai alat yang tersedia, baik melalui command line maupun antarmuka grafis.
  • Memahami cara kerja firewalld dan perintah firewall-cmd.
  • Mempelajari cara mengelola zones, sources, services, dan ports dalam firewall.


Apa Itu Firewall?

Firewall adalah sistem keamanan jaringan yang memantau dan mengontrol lalu lintas jaringan berdasarkan aturan tertentu. Firewall dapat berbentuk perangkat keras atau perangkat lunak, ditemukan dalam router jaringan, komputer individu, atau node jaringan. Beberapa firewall juga memiliki kemampuan routing.

Packet Filtering

Sebagian besar firewall bekerja dengan mekanisme Packet Filtering, di mana setiap paket data yang dikirim melewati jaringan dianalisis berdasarkan:

  • Header (informasi alamat tujuan dan sumber, jenis paket, dan protokol)
  • Payload (isi data yang dikirim)
  • Footer (informasi tambahan terkait transmisi)

Paket data yang melewati firewall dapat:

  • Diterima atau ditolak berdasarkan isi dan aturan tertentu.
  • Dimodifikasi sebelum diteruskan.
  • Dialihkan ke alamat lain.
  • Diperiksa untuk alasan keamanan.

Generasi Firewall

  1. Firewall Awal (1980-an): Berbasis Packet Filtering, hanya memeriksa isi paket tanpa mempertimbangkan koneksi yang sedang berlangsung.
  2. Firewall Stateful: Dapat mengenali status koneksi (baru, sudah ada, atau tidak valid), mencegah serangan berbasis flooding.
  3. Application Layer Firewall: Mampu mengenali aplikasi dan protokol yang digunakan, serta memblokir lalu lintas yang mencurigakan.

Antarmuka dan Alat Firewall

Konfigurasi firewall dapat dilakukan dengan:

  • Command line tools: Seperti iptables, firewall-cmd, ufw.
  • Graphical interfaces: Seperti system-config-firewall, firewall-config, gufw, yast.

Alat berbasis command line lebih fleksibel tetapi sering kali lebih sulit dipelajari dibandingkan GUI. Dalam modul ini, akan lebih difokuskan pada penggunaan paket firewalld, yang mencakup firewall-cmd dan firewall-config.


firewalld dan firewall-cmd

  • firewalld adalah Dynamic Firewall Manager yang menggunakan zona firewall untuk mendefinisikan tingkat kepercayaan untuk antarmuka jaringan atau koneksi.
  • Mendukung IPv4 dan IPv6.
  • Memisahkan perubahan antara runtime (sementara) dan permanent (persisten).
  • firewalld juga mendukung antarmuka untuk layanan atau aplikasi untuk menambahkan aturan firewall.
  • File konfigurasinya disimpan di:
    • /etc/firewalld
    • /usr/lib/firewalld
    • File di /etc/firewalld memiliki prioritas lebih tinggi dan sebaiknya digunakan oleh administrator sistem.

firewall-cmd

  • firewall-cmd adalah alat CLI untuk mengelola firewalld.
  • Perintah dasar untuk melihat bantuan:
    firewall-cmd --help
    
  • Contoh opsi penting:
    • --state → Menampilkan status firewall.
    • --reload → Memuat ulang firewall tanpa kehilangan informasi status.
    • --complete-reload → Memuat ulang firewall dan menghapus informasi status.
    • --runtime-to-permanent → Menyimpan konfigurasi runtime sebagai konfigurasi permanen.

Catatan Penting

  • firewalld menggantikan iptables sebagai layanan firewall yang lebih modern.
  • Tidak boleh menjalankan firewalld dan iptables secara bersamaan, karena dapat menyebabkan konflik.


firewalld Service Status

  • firewalld adalah layanan yang harus berjalan untuk bisa mengonfigurasi firewall.
  • Bisa diaktifkan/dinonaktifkan serta dimulai/dihentikan dengan perintah berikut:
    sudo systemctl [enable|disable] firewalld
    sudo systemctl [start|stop] firewalld
    
  • Untuk memeriksa status layanan firewalld:
    sudo systemctl status firewalld
    
    atau
    sudo firewall-cmd --state
    
    Jika firewalld aktif, outputnya akan menampilkan running.

Mengaktifkan IP Forwarding (IPv4)

  • Jika memiliki lebih dari satu antarmuka jaringan saat menggunakan IPv4, IP forwarding harus diaktifkan dengan salah satu cara berikut:
    sudo sysctl net.ipv4.ip_forward=1
    
    atau
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  • Perintah echo tidak bersifat persisten, artinya akan hilang setelah reboot.
  • Untuk membuatnya permanen, tambahkan baris berikut ke /etc/sysctl.conf:
    net.ipv4.ip_forward=1
    
  • Kemudian jalankan:
    sudo sysctl -p
    
    agar perubahan diterapkan tanpa perlu reboot

Konsep Zona dalam FirewallD

FirewallD menggunakan zona yang memiliki tingkat kepercayaan berbeda untuk lalu lintas jaringan:

  • drop → Semua paket masuk dibuang tanpa balasan.
  • block → Semua koneksi masuk ditolak, hanya koneksi dari dalam sistem yang diperbolehkan.
  • public → Tidak mempercayai komputer lain, hanya koneksi yang dipilih diperbolehkan.
  • external → Digunakan untuk masquerading (misalnya pada router).
  • dmz (Demilitarized Zone) → Beberapa layanan diizinkan untuk publik.
  • work → Dipercaya tetapi tetap membatasi koneksi masuk.
  • home → Mirip dengan work tetapi lebih mempercayai jaringan.
  • internal → Mirip dengan work.
  • trusted → Semua koneksi diperbolehkan.

Manajemen Zona

Beberapa perintah dasar dalam manajemen zona menggunakan firewall-cmd:

  • Melihat zona default:

    sudo firewall-cmd --get-default-zone
    
  • Melihat zona aktif:

    sudo firewall-cmd --get-active-zones
    
  • Melihat semua zona yang tersedia:

    sudo firewall-cmd --get-zones
    
  • Mengubah zona default:

    sudo firewall-cmd --set-default-zone=trusted
    
  • Menetapkan interface ke zona tertentu secara sementara:

    sudo firewall-cmd --zone=internal --change-interface=eno1
    
  • Menetapkan interface secara permanen:

    sudo firewall-cmd --permanent --zone=internal --change-interface=eno1
    

    (Mengubah konfigurasi di /etc/firewalld/zones/internal.xml)

  • Melihat informasi lengkap tentang suatu zona:

    sudo firewall-cmd --zone=public --list-all
    

Kesimpulan

  • FirewallD menggunakan konsep zona untuk mengelola lalu lintas jaringan berdasarkan tingkat kepercayaan.
  • Konfigurasi dilakukan menggunakan perintah firewall-cmd.
  • Interface jaringan dapat dikaitkan dengan zona tertentu baik secara sementara maupun permanen.
  • Pengelolaan port dan layanan dapat dilakukan dengan mudah menggunakan firewall-cmd.


Source Management

  • Zona (Zone) dalam firewalld dapat dikaitkan dengan:

    • Alamat sumber tertentu (IP address).
    • Antarmuka jaringan yang terhubung ke zona.
  • Jika suatu paket tidak sesuai dengan aturan yang telah ditetapkan dalam zona, maka secara default akan masuk ke zona default (biasanya public).

Menambahkan Sumber ke Zona (Permanen)

Untuk menambahkan alamat IP atau subnet ke zona tertentu secara permanen, gunakan perintah berikut:

sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.100.22/24
  • Ini berarti semua perangkat dengan alamat IP dalam 192.168.1.x akan dimasukkan ke dalam trusted zone.

Menghapus atau Mengubah Sumber dalam Zona

  • Untuk menghapus sumber dari zona, gunakan:
    sudo firewall-cmd --permanent --zone=trusted --remove-source=192.168.100.22/24
    
  • Untuk memindahkan sumber ke zona lain, gunakan:
    sudo firewall-cmd --permanent --zone=trusted --change-source=192.168.100.22/24
    

Melihat Daftar Sumber dalam Zona

Gunakan perintah berikut untuk melihat alamat sumber yang telah terikat ke zona tertentu:

sudo firewall-cmd --permanent --zone=trusted --list-sources
  • Jika opsi --permanent dihapus, maka hanya konfigurasi runtime saat ini yang ditampilkan.


Service Management dalam Firewalld

Setelah menetapkan antarmuka jaringan dan alamat ke zona tertentu, kita perlu menentukan layanan (services) dan port mana yang diizinkan dalam setiap zona.

Melihat Layanan yang Tersedia

Gunakan perintah berikut untuk melihat daftar layanan yang dapat dikonfigurasi:

sudo firewall-cmd --get-services
  • Ini akan menampilkan daftar layanan yang dapat dikonfigurasi, seperti http, https, ssh, dns, dhcp, mysql, dll.

Melihat Layanan yang Diizinkan dalam Zona Tertentu

Untuk melihat layanan yang saat ini dapat diakses dalam suatu zona (misalnya public), gunakan:

sudo firewall-cmd --list-services --zone=public
  • Contoh output: dhcpv6-client ssh

Menambahkan Layanan ke Zona

Jika ingin menambahkan layanan ke suatu zona secara permanen, gunakan:

sudo firewall-cmd --permanent --zone=home --add-service=dhcp
  • Ini akan mengizinkan layanan dhcp dalam zona home.

Setelah menambahkan layanan, lakukan reload agar perubahan berlaku:

sudo firewall-cmd --reload

Menambahkan Layanan Kustom

Jika layanan tidak ada dalam daftar default, Anda bisa menambahkannya dengan mengedit file di:

/etc/firewalld/services/

Ini memungkinkan Anda untuk mendefinisikan aturan layanan khusus.


Port Management dalam Firewalld

Manajemen port dalam Firewalld hampir sama dengan manajemen layanan. Alih-alih menambahkan layanan, kita dapat secara spesifik mengizinkan akses ke port tertentu.

Menambahkan Port ke Zona

Untuk menambahkan port ke zona tertentu, gunakan:

sudo firewall-cmd --zone=home --add-port=21/tcp
  • Perintah ini membuka port 21 dengan protokol TCP dalam zona home.

Melihat Daftar Port yang Diizinkan dalam Zona

Gunakan perintah berikut untuk melihat daftar port yang sudah diizinkan dalam suatu zona:

sudo firewall-cmd --zone=home --list-ports
  • Output: 21/tcp (jika sebelumnya kita telah menambahkan port ini).

Mengetahui Layanan yang Menggunakan Port Tertentu

Untuk mengetahui layanan yang menggunakan suatu port (misalnya port 21), gunakan:

grep "21/tcp" /etc/services
  • Output: ftp 21/tcp, yang menunjukkan bahwa port 21 digunakan untuk FTP.

Kesimpulan

  • Manajemen port mirip dengan manajemen layanan, tetapi kita menambahkan port tertentu daripada layanan yang sudah terdaftar.
  • Port harus ditentukan dengan protokolnya (TCP atau UDP).
  • Untuk permanen, tambahkan opsi --permanent dan reload konfigurasi:
    sudo firewall-cmd --permanent --zone=home --add-port=21/tcp
    sudo firewall-cmd --reload
    


.

Komentar

Postingan populer dari blog ini

Cara Instalasi Debian 12 di Virtualbox

Cara Instalasi dan Konfigurasi Web Server pada Debian 10 di VirtualBox

Cara Instalasi Debian 12 Di Virtualbox Dan Cara Untuk Setting IP Address-Nya