GNU/Linux >> Belajar Linux >  >> Linux

Panduan pemula untuk firewalld di Linux

Dunia kita tidak pernah lebih terhubung daripada sekarang. Setiap orang, bisnis, pemerintah, dll. menggunakan web untuk berkomunikasi, bertukar mata uang dan data, dan umumnya menjalani kehidupan dan operasi sehari-hari. Namun, koneksi ini pada dasarnya tidak aman, dan karena itu, kita harus menerapkan langkah-langkah defensif untuk menjaga lokasi, informasi, dan uang kita terlindungi. Di masa lalu, ketika seseorang ingin mengamankan harta mereka, mereka mendirikan gerbang dan pagar untuk menjaga jarak dari penyusup. Hari ini, kami mencapai tujuan yang sama dengan menggunakan firewall. Sebagian besar sistem Linux menggunakan iptables utilitas, bagaimanapun, teknologi baru ada di cakrawala.

Dengan diperkenalkannya Red Hat Enterprise Linux 7.0 (RHEL) pada tahun 2011, iptables digantikan sebagai firewalld lahir. Pada intinya, firewalld adalah firewall berbasis zona. Firewall berbasis zona adalah sistem keamanan jaringan yang memantau lalu lintas dan mengambil tindakan berdasarkan seperangkat aturan yang ditetapkan yang diterapkan terhadap paket masuk/keluar.

Semua tentang zona

Firewalld memberikan tingkat keamanan yang berbeda untuk zona koneksi yang berbeda. Sebuah zona dikaitkan dengan setidaknya satu antarmuka jaringan (eth0 , Misalnya). Kami melihat zona yang telah dikonfigurasi sebelumnya dengan menggunakan perintah berikut:

[tcarrigan@server ~]$ firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work

Seperti yang Anda lihat, zona yang terdaftar secara default adalah:

  • blokir
  • dmz
  • jatuhkan
  • eksternal
  • rumah
  • internal
  • libvirt
  • publik
  • tepercaya
  • kerja

CATATAN:Saya menggunakan mesin virtual RHEL 8.2 untuk demo ini.

Umumnya, aturan default firewall adalah menolak semuanya dan hanya mengizinkan pengecualian tertentu untuk melewati layanan yang diperlukan.

Sering kali, akan sangat membantu untuk melihat layanan apa yang terkait dengan zona tertentu. Untuk menampilkan informasi ini, gunakan perintah berikut:

firewall-cmd --list-all

Perhatikan bahwa jika Anda tidak menentukan zona, zona default akan ditanyakan. Di sini, zona default adalah public zona.

[tcarrigan@server ~]$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources: 
  services: cockpit dhcpv6-client mountd nfs rpc-bind ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Jika Anda ingin menentukan zona, Anda cukup menambahkan --zone=zonename

Misalnya, untuk melihat external zona, gunakan yang berikut ini:

[tcarrigan@server ~]$ firewall-cmd --zone=external --list-all
external
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh
  ports: 
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Jika, karena alasan tertentu, Anda ingin mengubah zona default, Anda dapat melakukannya dengan mudah menggunakan perintah berikut:

firewall-cmd --set-default=zonename

Izinkan dan tolak melalui layanan

Sekarang, hal yang baik tentang firewall adalah mereka menjaga jaringan kita tetap aman. Hal buruknya adalah tidak ada firewall "satu ukuran untuk semua" yang cocok untuk setiap situasi. Karena itu, firewall dikustomisasi agar sesuai dengan kebutuhan yang tepat dari situasi tempat mereka digunakan. Misalnya, jika saya perlu mengizinkan transfer FTP (File Transfer Protocol) di external zona sehingga saya dapat memindahkan file melalui port 21, saya mungkin menggunakan sesuatu seperti ini:

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

Berikut adalah contoh aktual dari VM saya:

[tcarrigan@server ~]$ sudo firewall-cmd --zone=external --add-service=ftp
[sudo] password for tcarrigan: 
success

Kami melihat bahwa daemon mengembalikan sukses , jadi kami harus mengizinkan layanan FTP di external daerah. Untuk memverifikasi ini, kita perlu memeriksa external daftar layanan zona:

[tcarrigan@server ~]$ firewall-cmd --zone=external --list-services
ftp ssh

Namun, apa yang terjadi ketika kita memuat ulang konfigurasi firewall?

[tcarrigan@server ~]$ sudo firewall-cmd --reload
success

[tcarrigan@server ~]$ firewall-cmd --zone=external --list-all
external
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh
  ports: 
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

izinkan yang baru aturan tidak bertahan dari inisialisasi ulang firewalld konfigurasi. Untuk memastikan bahwa aturan baru kita tetap ada, kita perlu menambahkan --permanent pilihan. Perintah barunya adalah:

# firewall-cmd --permanent --zone=external --add-service=ftp

Setelah Anda menggunakan permanent perintah, Anda perlu memuat ulang konfigurasi agar perubahan dapat diterapkan.

Untuk menghapus layanan, kami membuat satu perubahan kecil pada sintaks. Di sini, saya akan menghapus layanan FTP dari external zona secara permanen:

[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --remove-service=ftp
Warning: NOT_ENABLED: ftp
success

Kami melihat bahwa sistem memperingatkan saya bahwa FTP telah dinonaktifkan dan operasi berhasil.

Izinkan dan tolak melalui port

Sekarang, apa yang terjadi ketika Anda perlu mengizinkan lalu lintas melalui port non-standar? Bayangkan Anda memiliki layanan cadangan yang perlu dijalankan melalui port UDP khusus. Bagaimana Anda menambahkan pengecualian ini ke zona Anda? Sintaksnya sangat ramah pengguna dan hanya sedikit berbeda dari yang kami gunakan untuk layanan. Untuk menambahkan port ke konfigurasi zona Anda, gunakan yang berikut ini:

[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --add-port=60001/udp
success

Kami memeriksa port yang diizinkan dengan perintah berikut:

[tcarrigan@server ~]$ sudo firewall-cmd --zone=external --list-ports
60001/udp

Dan untuk menghapus aturan port, Anda dapat menebaknya... cukup alihkan --add-port=x ke --remove-port=x

[tcarrigan@server ~]$ sudo firewall-cmd --permanent --zone=external --remove-port=60001/udp
success

Apa selanjutnya?

Jika, setelah membaca artikel ini, Anda bertanya-tanya apa yang harus dilakukan dengan informasi tersebut, saya sangat menyarankan untuk mengaktifkan VM favorit Anda (RHEL, Fedora, CentOS, dll.) dan mulai bereksperimen dengan perintah di atas. Cara terbaik untuk belajar adalah mendapatkan pengalaman langsung. Jika menurut Anda konten ini menarik, awasi Aktifkan Sysadmin untuk bagian kedua, di mana Anda akan mendalami pembuatan zona khusus dan pembuatan aturan lebih lanjut.

[ Permudah manajemen jaringan. Lihat Otomatisasi jaringan untuk semua orang, buku gratis dari Red Hat. ]


Linux
  1. Panduan praktis untuk belajar awk

  2. Dasar-dasar Linux:Panduan pemula untuk mengedit teks dengan vim

  3. Panduan pemula untuk melongo

  1. Panduan untuk menginstal aplikasi di Linux

  2. Apa itu FirewallD Dan Bagaimana Menerapkannya Di Linux

  3. Panduan Lengkap Pemula untuk LVM di Linux

  1. Panduan pemula untuk izin Linux

  2. Cara Menggunakan Perintah Temukan dan Temukan Di Linux:Panduan Pemula

  3. Perintah Linux - Panduan Lengkap