Pada linux terdapat sebuah network filtering subsystem yang terdapat pada kernel, yang disebut netfilter. Yang mana mampu melihat isi setiap paket yang lewat di sistem, baik yang keluar maupun yang masuk. Bisa di drop, modifikasi, ataupun di tolak. Untuk dapat berinteraksi dengan netfilter bisa dengan berbagai cara, yang salah satu paling populer adalah iptables, yang ada pada versi Red Hat Enterprise Linux sebelum 7. Pada Red Hat Enterprise Linux 7 perkenalkan lah Firewalld.

Firewalld merupakan sebuah system daemon yang berfungsi untuk mengkonfigurasi dan memonitor firewall. Pada firewalld firewall dilakukan pembagian berdasarkan zona. Pembagian ini berdasarkan alamat yang masuk atau interface yang kemudian dicocokkan dengan pengaturan zona – zona yang ada. Dengan pengaturan:

  • Pertama paket akan dicek berdasarkan alamat asal, apabila terdapat zona yang mengatur khusus alamat tersebut maka akan mengikuti pengaturan firewall dari zona tersebut.
  • Dan apabila tidak maka akan di cocok kan berdasarkan interfacenya, apabila terdapat pengaturan khusus pada zona tertentu maka akan mengikuti pengaturan firewall dari zona tersebut.
  • Dan apabila tidak secara default akan masuk ke zona public (apabila zona public menjadi defaultnya)

Pada umumnya sudah terdapat zona – zona dengan pengaturannya sendiri, walaupun masih bisa di tambahkan zona khusus. Dan zona zona tersebut adalah

Nama Zona Configuration Default
trusted Mengizinkan semua trafik masuk
home Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar atau cocok dengan ssh, mdns, ipp-client, samba-client, atau dhcpv6-client serta servis yang di definisi pada zona ini.
internal Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar atau cocok dengan ssh, mdns, ipp-client, samba-client, atau dhcpv6-client  serta servis yang di definisi pada zona ini.
work Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar atau cocok dengan ssh, ipp-client, atau dhcpv6-client  serta servis yang di definisi pada zona ini.
public Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar atau cocok dengan ssh atau dhcpv6-client  serta servis yang di definisi pada zona ini. Merupakan zona default dari interface baru.
external Tolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar

Atau cocok dengan ssh  serta servis yang di definisi pada zona ini. Semua trafik IPv4 keluar di teruskan melalui zona ini akan di masquerade.

dmz Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar or matching the ssh Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar.
block Menolak lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar
drop Men-drop lalu lintas masuk kecuali yang terkait dengan lalu lintas keluar (bahkan tidak merespon dengan ICMP error)

 

Pengaturan firewall melalui GUI

Program yang dijalankan pada terminal adalah firewall-config, dan akan muncul tampilan seperti berikut:

firewalld

Yang dimaksud dengan jenis konfigurasi merupakan tipe konfigurasi apakah dia bersifat permanen atau sementara, apabila ingin menyimpan konfigurasi secara permanen pilih menu permanen, dan apabila hanya ingin sementara pilih menu Runtime.

Pada GUI pengaturan sudah dibagi bagi dalam bentuk menu seperti services, ports masquerading, port forwarding dan lainnya. Sehingga memudahkan kita dalam mengkonfigurasi. Pada services, dengan hanya centang service mana saja yang diperbolehkan untuk dapat melewati firewall.

Untuk membuat firewall membaca kembali konfigurasi bisa menggunakan menu firewall reload di menu option:

firewalld-2

Pengaturan firewall melalui terminal

Banyak konfigurasi firewall yang belum bisa di handle oleh GUI dan pada seksi berikut ini akan dijelaskan tentang konfigurasi melalui terminal

Menentukan default zone

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

Menambahkkan alamat ip ke dalam zona tertentu secara permanen

# firewall-cmd –permanent –zone=internal –add-source=192.168.1.23/24

Menambahkan servis tertentu kedalam zona tertentu secara permanen

# firewall-cmd –permanent –zone=internal –add-service=mysql

Menambahkan port tertentu ke dalam zona default secara permanen

# firewall-cmd –permanent –add-port=7071/tcp

Membuat pembacaan kembali konfigurasi firewall, dilakukan setelah memasukkan pengaturan

# firewall-cmd –reload

Untuk melihat konfigurasi pada firewall

# firewall-cmd –list-all-zone

Atau untuk zona spesifik

# firewall-cmd –list-all –zone=work

Pada firewalld juga bisa menggunakan rich rule. Rich rule memberikan administrator bahasa yang ekspresif untuk membuat peraturan custom pada firewall yang tidak di cover pada peraturan dasar firewalld.

Sebagai contoh penggunaan:

Menolak semua trafik dari ip tertentu

# firewall-cmd –permanent –zone=work –add-rich-rule=’rule family=ipv4 source address=192.168.1.11/32 reject’

Membatasi koneksi ftp baru hanya 2 per menit

# firewall-cmd –permanent –add-rich-rule=’rule service name=ftp limit value=2/m accept’

Selain fungsi diatas firewall juga dapat digunakan masquerade dan port forwarding. Yang mana masquerade berfungsi untuk meneruskan paket dengan mengganti alamat dengan dengan alamat luar. Yang biasanya digunakan untuk berhubungan dengan ip public. Yang biasa di kenal dengan Network Address Translation (NAT).

Menambahkan masquerade dengan

 # firewall-cmd –permanent –zone=work –add-masquerade

Dan port forwarding untuk meneruskan paket dari alamat port tertentu ke port lainnya baik pada mesin yang sama atau berbeda. Yang biasanya digunakan untuk menyembunyikan server di balik mesin lainnya, atau memberikan suatu servis dengan port yang berbeda

Pengaturan bisa menggunakan rich rule dengan format seperti berikut

# firewall-cmd –permanent –zone=work –add-rich-rule=’rule family=ipv4 source address=192.168.1.2/32 forward-port port=80 protocol=tcp to-port=8080’

Berarti komunikasi dengan ip 192.168.1.2 dengan port 80 akan dialihkan ke port 8080.

Inovasi Informatika Indonesia (I3) merupakan authorize partner dari Red Hat yang menyediakan berbagai jenis kelas training dan sertifikasi di bidang Open Source, mulai dari tingkat fundamental sampai tingkat advance.

Sebagian isi artikel yang sudah Anda baca diatas menjadi bagian dari materi pelajaran training Red Hat. Jika Anda tertarik untuk mempelajarinya lebih lanjut, dapat menghubungi customer service kami menggunakan Live Chat. 🙂