RHCSA Series Firewall Essentials dan Network Traffic Control Menggunakan FirewallD dan Iptables - Bagian 11
- 4405
- 883
- Dwayne Hackett
Dengan kata -kata sederhana, a Firewall adalah sistem keamanan yang mengontrol lalu lintas yang masuk dan keluar dalam jaringan berdasarkan serangkaian aturan yang telah ditentukan (seperti tujuan / sumber paket atau jenis lalu lintas, misalnya).
RHCSA: Kontrol Lalu Lintas Jaringan Dengan Firewalld dan Iptables - Bagian 11Dalam artikel ini kami akan meninjau dasar -dasarnya Firewalld, daemon firewall dinamis default di Red Hat Enterprise Linux 7, Dan ptable Layanan, Layanan Firewall Legacy untuk Linux, yang dengannya sebagian besar administrator sistem dan jaringan berkenalan dengan baik, dan yang juga tersedia di RHEL 7.
Perbandingan antara firewalld dan ptables
Di bawah kap, keduanya Firewalld dan ptable layanan berbicara dengan Netfilter kerangka kerja dalam kernel melalui antarmuka yang sama, tidak mengherankan, perintah ptables. Namun, sebagai lawan dari layanan iptables, firewalld dapat mengubah pengaturan selama operasi sistem normal tanpa koneksi yang ada hilang.
Firewalld harus diinstal secara default di sistem rhel Anda, meskipun mungkin tidak berjalan. Anda dapat memverifikasi dengan perintah berikut (Firewall-Config adalah alat konfigurasi antarmuka pengguna):
# yum info firewalld firewall-configPeriksa informasi firewalld
Dan,
# Systemctl Status -L Firewalld.melayaniPeriksa status firewalld
Di sisi lain, ptable Layanan tidak termasuk secara default, tetapi dapat diinstal melalui.
# yum update && yum instal iPables-services
Kedua daemon dapat dimulai dan diaktifkan untuk memulai boot dengan biasanya Systemd Perintah:
# systemctl mulai firewalld.Layanan | Layanan ptables.Layanan # Systemctl Aktifkan Firewalld.Layanan | Layanan ptables.melayani
Baca juga: Perintah yang berguna untuk mengelola layanan SystemD
Adapun file konfigurasi, layanan ptables menggunakan /etc/sysconfig/ptables
(yang tidak akan ada jika paket tidak diinstal di sistem Anda). Pada kotak RHEL 7 yang digunakan sebagai node cluster, file ini terlihat sebagai berikut:
Sedangkan firewalld menyimpan konfigurasinya di dua direktori, /usr/lib/firewalld
Dan /etc/firewalld
:
# ls/usr/lib/firewalld/etc/firewalldKonfigurasi Firewalld
Kami akan memeriksa file konfigurasi ini lebih lanjut nanti di artikel ini, setelah kami menambahkan beberapa aturan di sana -sini. Sekarang sudah cukup untuk mengingatkan Anda bahwa Anda selalu dapat menemukan informasi lebih lanjut tentang kedua alat dengan.
# Man Firewalld.conf # man firewall-cmd # man ptables
Selain itu, ingatlah untuk melihat meninjau perintah penting & dokumentasi sistem - Bagian 1 dari seri saat ini, di mana saya menggambarkan beberapa sumber di mana Anda bisa mendapatkan informasi tentang paket yang diinstal pada Anda RHEL 7 sistem.
Menggunakan iptables untuk mengontrol lalu lintas jaringan
Anda mungkin ingin merujuk untuk mengkonfigurasi firewall ptables - bagian 8 dari Linux Foundation Certified Engineer (Lfce) seri untuk menyegarkan ingatan Anda ptable internal sebelum melanjutkan. Dengan demikian, kita akan dapat melompat ke dalam contoh.
Contoh 1: Mengizinkan lalu lintas web yang masuk dan keluar
Port TCP 80 Dan 443 adalah port default yang digunakan oleh server web Apache untuk menangani normal (Http) dan aman (Https) Lalu Lintas Web. Anda dapat mengizinkan lalu lintas web yang masuk dan keluar melalui kedua port di ENP0S3 Antarmuka sebagai berikut:
# ptables -a input -i enp0s3 -p tcp --dport 80 -m state --State baru, mapan -J menerima # ptables -a output -o enp0s3 -p tcp --port 80 -m state -state mapan - J Accept # ptables -sa input -i enp0s3 -p tcp --dport 443 -m state --State baru, mapan -J menerima # iptables -se output -o enp0s3 -p tcp --porpor 443 -m state --State Mapan -J menerima
Contoh 2: Blokir semua (atau beberapa) koneksi yang masuk dari jaringan tertentu
Mungkin ada saat -saat ketika Anda perlu memblokir semua (atau beberapa) jenis lalu lintas yang berasal dari jaringan tertentu, katakanlah 192.168.1.0/24 Misalnya:
# ptables -i input -s 192.168.1.0/24 -J Drop
akan menjatuhkan semua paket yang berasal dari 192.168.1.0/24 jaringan, sedangkan,
# ptables -sut -in -192.168.1.0/24 -DPOR 22 -J Terima
hanya akan mengizinkan lalu lintas yang masuk melalui port 22.
Contoh 3: Mengalihkan lalu lintas masuk ke tujuan lain
Jika Anda menggunakan RHEL 7 kotak tidak hanya sebagai firewall perangkat lunak, tetapi juga sebagai yang sebenarnya berbasis perangkat keras, sehingga berada di antara dua jaringan yang berbeda, penerusan IP pasti sudah diaktifkan dalam sistem Anda. Jika tidak, Anda perlu mengedit /etc/sysctl.conf
dan menetapkan nilai bersih.IPv4.ip_forward ke 1, sebagai berikut:
bersih.IPv4.ip_forward = 1
Kemudian simpan perubahan, tutup editor teks Anda dan akhirnya jalankan perintah berikut untuk menerapkan perubahan:
# sysctl -p /etc /sysctl.conf
Misalnya, Anda mungkin memiliki printer yang diinstal di kotak internal dengan IP 192.168.0.10, dengan Cangkir Layanan Mendengarkan di Port 631 (baik di server cetak maupun di firewall Anda). Untuk meneruskan permintaan cetak dari klien di sisi lain firewall, Anda harus menambahkan aturan ptables berikut:
# ptables -t nat -a prerouting -i enp0s3 -p tcp - -dort 631 -j dnat -TO 192.168.0.10: 631
Harap diingat itu ptable membaca aturannya secara berurutan, jadi pastikan kebijakan default atau aturan yang lebih baru tidak mengesampingkan yang diuraikan dalam contoh di atas.
Memulai dengan Firewalld
Salah satu perubahan yang diperkenalkan Firewalld adalah zona. Konsep ini memungkinkan untuk memisahkan jaringan ke dalam tingkat kepercayaan yang berbeda yang telah diputuskan oleh pengguna untuk ditempatkan di perangkat dan lalu lintas di dalam jaringan itu.
Untuk membuat daftar zona aktif:
# firewall-cmd --get-active-zone
Dalam contoh di bawah ini, zona publik aktif, dan ENP0S3 antarmuka telah ditetapkan secara otomatis. Untuk melihat semua informasi tentang zona tertentu:
# firewall-cmd --zone = public --list-allBuat daftar semua zona firewalld
Karena Anda dapat membaca lebih lanjut tentang zona Dalam panduan keamanan RHEL 7, kami hanya akan mencantumkan beberapa contoh spesifik di sini.
Contoh 4: Mengizinkan layanan melalui firewall
Untuk mendapatkan daftar layanan yang didukung, gunakan.
# firewall-cmd --get-servicesDaftar semua layanan yang didukung
Untuk memungkinkan http Dan https Lalu lintas web melalui firewall, efektif segera dan pada sepatu bot berikutnya:
# firewall-cmd --zone = myzone --add-service = http # firewall-cmd --zone = myzone --permanent --add-service = http # firewall-cmd --zone = myzone --add-service = https # firewall-cmd --zone = myzone --permanent --add-service = https # firewall-cmd --eload
Jika kode> -Zone dihilangkan, zona default (Anda dapat memeriksanya firewall-cmd -get-default-zone) digunakan.
Untuk menghapus aturan, ganti kata tambahkan dengan hapus di perintah di atas.
Contoh 5: Penerusan IP / Port
Pertama, Anda perlu mengetahui apakah penyamaran diaktifkan untuk zona yang diinginkan:
# firewall-cmd --zone = myzone --query-masquerade
Pada gambar di bawah ini, kita bisa melihatnya menyamar diaktifkan untuk zona eksternal, tapi tidak untuk publik:
Periksa status penyamaranAnda dapat mengaktifkan penyamaran untuk umum:
# firewall-cmd --zone = public --add-masquerade
atau menggunakan penyamaran di luar. Inilah yang akan kami lakukan untuk meniru Contoh 3 dengan Firewalld:
# firewall-cmd --zone = eksternal --add-forward-port = port = 631: proto = tcp: toport = 631: toaddr = 192.168.0.10
Dan jangan lupa untuk memuat ulang firewall.
Anda dapat menemukan contoh lebih lanjut pada bagian 9 dari seri RHCSA, di mana kami menjelaskan cara mengizinkan atau menonaktifkan port yang biasanya digunakan oleh server web dan server FTP, dan cara mengubah aturan yang sesuai saat port default untuk layanan tersebut diubah. Selain itu, Anda mungkin ingin merujuk ke wiki firewalld untuk contoh lebih lanjut.
Baca juga: Contoh firewalld yang berguna untuk mengonfigurasi firewall di rhel 7
Kesimpulan
Dalam artikel ini kami telah menjelaskan apa a Firewall adalah, apa layanan yang tersedia untuk mengimplementasikannya RHEL 7, dan memberikan beberapa contoh yang dapat membantu Anda memulai tugas ini. Jika Anda memiliki komentar, saran, atau pertanyaan, jangan ragu untuk memberi tahu kami menggunakan formulir di bawah ini. Terima kasih sebelumnya!
- « RHCSA Series Automate RHEL 7 Instalasi Menggunakan 'Kickstart' - Bagian 12
- Panel Web CentOS-Panel Kontrol Hosting Web Gratis All-in-One untuk CentOS/RHEL 6 »