Настройка firewall в CentOS 7 (firewalld)
Isi kandungan:
- Prasyarat
- Konsep Dasar Firewalld
- Zon Firewalld
- Perkhidmatan firewall
- Tetapan Runtime dan Tetap Firewalld
- Memasang dan Mengaktifkan FirewallD
- Bekerja dengan Zon Firewalld
- Menukar Zon Antara Muka
- Menukar Zon Lalai
- Membuka Pelabuhan atau Perkhidmatan
- Mewujudkan Perkhidmatan FirewallD baru
- Penghantaran Port dengan Firewalld
- Mewujudkan Aturan dengan FirewallD
- Kesimpulannya
Firewall yang dikonfigurasi dengan betul adalah salah satu aspek yang paling penting dalam keselamatan sistem keseluruhan.
FirewallD adalah penyelesaian firewall lengkap yang menguruskan peraturan iptables sistem dan menyediakan antara muka D-Bus untuk mengendalikannya. Bermula dengan CentOS 7, FirewallD menggantikan iptables sebagai alat pengurusan firewall lalai.
Dalam tutorial ini, kami menunjukkan kepada anda cara menyiapkan firewall dengan FirewallD pada sistem CentOS 7 anda dan menerangkan kepada anda konsep FirewallD dasar.
Prasyarat
Sebelum anda memulakan tutorial ini, pastikan anda log masuk ke pelayan anda dengan akaun pengguna dengan keistimewaan sudo atau dengan pengguna root. Amalan terbaik adalah menjalankan arahan pentadbiran sebagai pengguna sudo dan bukannya root. Jika anda tidak mempunyai pengguna sudo pada sistem CentOS anda, anda boleh membuat satu dengan mengikuti arahan ini.
Konsep Dasar Firewalld
FirewallD menggunakan konsep zon dan perkhidmatan, bukannya rangkaian dan peraturan iptables. Berdasarkan zon dan perkhidmatan yang anda konfigurasikan, anda boleh mengawal lalu lintas apa yang dibenarkan atau tidak dibenarkan ke dan dari sistem.
FirewallD boleh dikonfigurasikan dan diuruskan menggunakan utiliti baris perintah
firewall-cmd
.
Zon Firewalld
Zon ditetapkan dengan menetapkan peraturan yang menentukan lalu lintas apa yang dibenarkan berdasarkan tahap kepercayaan pada rangkaian komputer anda dihubungkan. Anda boleh menetapkan antara muka dan sumber rangkaian ke zon.
Di bawah adalah zon yang disediakan oleh FirewallD yang dipesan mengikut tahap amanah zon daripada tidak dipercayai kepada yang dipercayai:
- drop: Semua sambungan masuk dijatuhkan tanpa sebarang pemberitahuan. Hanya sambungan keluar yang dibenarkan. blok: Semua sambungan masuk ditolak dengan mesej
icmp-host-prohibited
untukIPv4
danicmp6-adm-prohibited
untuk IPv6n. Hanya sambungan keluar yang dibenarkan. awam: Untuk digunakan di kawasan awam yang tidak dipercayai. Anda tidak mempercayai komputer lain di rangkaian, tetapi anda boleh membenarkan sambungan masuk yang dipilih. luaran: Untuk digunakan pada rangkaian luaran dengan penyamaran NAT diaktifkan apabila sistem anda bertindak sebagai pintu masuk atau penghala. Hanya sambungan masuk yang dipilih dibenarkan. dalaman: Untuk digunakan pada rangkaian dalaman apabila sistem anda bertindak sebagai pintu masuk atau penghala. Sistem lain pada rangkaian biasanya dipercayai. Hanya sambungan masuk yang dipilih dibenarkan. dmz: Digunakan untuk komputer yang terletak di zon demilariari anda yang mempunyai akses terhad ke seluruh rangkaian anda. Hanya sambungan masuk yang dipilih dibenarkan. kerja: Digunakan untuk mesin kerja. Komputer lain di rangkaian biasanya dipercayai. Hanya sambungan masuk yang dipilih dibenarkan. rumah: Digunakan untuk mesin rumah. Komputer lain di rangkaian biasanya dipercayai. Hanya sambungan masuk yang dipilih dibenarkan. dipercayai: Semua sambungan rangkaian diterima. Percayakan semua komputer dalam rangkaian.
Perkhidmatan firewall
Perkhidmatan firewalld adalah peraturan yang telah dipratentukan yang digunakan dalam zon dan menentukan tetapan yang diperlukan untuk membolehkan lalu lintas masuk untuk perkhidmatan tertentu.
Tetapan Runtime dan Tetap Firewalld
Firewalld menggunakan dua set konfigurasi yang berasingan, runtime, dan konfigurasi kekal.
Konfigurasi runtime adalah konfigurasi berjalan yang sebenarnya, dan ia tidak berterusan pada reboot. Apabila perkhidmatan Firewalld bermula, ia memuat konfigurasi kekal, yang menjadi konfigurasi runtime.
Secara lalai, ketika membuat perubahan pada konfigurasi Firewalld menggunakan utiliti
firewall-cmd
, perubahan tersebut diterapkan pada konfigurasi runtime. Untuk membuat perubahan kekal anda perlu menggunakan pilihan
--permanent
.
Memasang dan Mengaktifkan FirewallD
-
Firewalld dipasang secara lalai pada CentOS 7, tetapi jika ia tidak dipasang pada sistem anda, anda boleh memasang pakej dengan menaip:
sudo yum install firewalld
Perkhidmatan firewalld dilumpuhkan secara lalai. Anda boleh menyemak status firewall dengan:
sudo firewall-cmd --state
Untuk memulakan perkhidmatan FirewallD dan dayakan pada jenis boot:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Bekerja dengan Zon Firewalld
Selepas mendayakan perkhidmatan FirewallD buat kali pertama, zon
public
ditetapkan sebagai zon lalai. Anda boleh melihat zon lalai dengan menaip:
sudo firewall-cmd --get-default-zone
public
Untuk mendapatkan senarai semua zon sedia ada, ketik:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Secara lalai, semua antara muka rangkaian diberikan zon lalai. Untuk memeriksa zon apa yang digunakan oleh jenis antara muka rangkaian anda:
sudo firewall-cmd --get-active-zones
public interfaces: eth0 eth1
Output di atas memberitahu kita bahawa kedua-dua antara muka
eth1
dan
eth1
ditugaskan ke zon awam.
Anda boleh mencetak tetapan konfigurasi zon dengan:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Daripada output di atas, kita dapat melihat bahawa zon awam aktif dan ditetapkan sebagai lalai, yang digunakan oleh kedua-dua antara
eth1
dan
eth1
. Juga, sambungan yang berkaitan dengan pelanggan DHCP dan SSH dibenarkan.
sudo firewall-cmd --list-all-zones
Arahan mencetak senarai besar dengan tetapan semua zon yang tersedia.
Menukar Zon Antara Muka
Anda boleh menukar Zon Antara Muka dengan mudah menggunakan pilihan
--zone
dengan kombinasi
--change-interface
pilihan - pilihan
--change-interface
. Perintah berikut akan memberikan antara muka
eth1
ke zon kerja:
sudo firewall-cmd --zone=work --change-interface=eth1
Sahkan perubahan dengan menaip:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Menukar Zon Lalai
Untuk menukar zon lalai, gunakan pilihan
--set-default-zone
diikuti dengan nama zon yang anda ingin buat lalai.
Sebagai contoh, untuk menukar zon lalai ke rumah anda harus menjalankan arahan berikut:
sudo firewall-cmd --set-default-zone=home
Sahkan perubahan dengan:
sudo firewall-cmd --get-default-zone
Membuka Pelabuhan atau Perkhidmatan
Dengan FirewallD anda boleh membenarkan trafik untuk pelabuhan tertentu berdasarkan peraturan yang dipratentukan dipanggil perkhidmatan.
Untuk mendapatkan senarai semua jenis perkhidmatan sedia ada lalai:
sudo firewall-cmd --get-services
Anda boleh mendapatkan lebih banyak maklumat mengenai setiap perkhidmatan dengan membuka fail.xml yang berkaitan dalam direktori
/usr/lib/firewalld/services
. Sebagai contoh, perkhidmatan HTTP ditakrifkan seperti ini:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
Untuk membenarkan trafik HTTP masuk (port 80) untuk antara muka dalam zon awam, hanya untuk sesi semasa (konfigurasi runtime) jenis:
sudo firewall-cmd --zone=public --add-service=http
Sekiranya anda mengubah suai zon lalai, anda boleh keluar dari pilihan
--zone
.
Untuk mengesahkan bahawa perkhidmatan tersebut telah berjaya menggunakan pilihan -
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
sudo firewall-cmd --permanent --zone=public --add-service=http
Gunakan perkhidmatan
--list-services
bersama-sama dengan pilihan kekal untuk mengesahkan perubahan anda:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
Sintaks untuk mengeluarkan perkhidmatan adalah sama seperti ketika menambahkan perkhidmatan. Hanya gunakan
--remove-service
bukannya
--add-service
opsyen
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
Arahan di atas membuang perkhidmatan http dari konfigurasi tetap zon awam.
Bagaimana jika anda menjalankan aplikasi seperti Plex Media Server yang mana tidak terdapat perkhidmatan yang sesuai?
Dalam keadaan seperti ini, anda mempunyai dua pilihan. Anda sama ada boleh membuka port yang sesuai atau menentukan perkhidmatan FirewallD baru.
Sebagai contoh, Pelayan Plex mendengar pada port 32400 dan menggunakan TCP, untuk membuka port di zon awam untuk sesi semasa menggunakan
--add-port=
sudo firewall-cmd --zone=public --add-port=32400/tcp
Protokol boleh sama ada
tcp
atau
udp
.
Untuk mengesahkan bahawa pelabuhan telah ditambah dengan berjaya menggunakan pilihan -
--list-ports
:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
Untuk memastikan pelabuhan
32400
terbuka selepas reboot, tambahkan aturan ke tetapan tetap dengan menjalankan perintah yang sama dengan menggunakan pilihan - kekal.
Sintaks untuk mengeluarkan port adalah sama seperti ketika menambahkan port. Hanya gunakan -
--remove-port
bukannya
--add-port
opsyen
--add-port
.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
Mewujudkan Perkhidmatan FirewallD baru
Seperti yang telah kami sebutkan, perkhidmatan lalai disimpan dalam direktori
/usr/lib/firewalld/services
. Cara paling mudah untuk mencipta perkhidmatan baru adalah menyalin fail perkhidmatan sedia ada ke direktori
/etc/firewalld/services
, iaitu lokasi untuk perkhidmatan yang dibuat oleh pengguna dan mengubah suai tetapan fail.
Sebagai contoh, untuk mewujudkan definisi perkhidmatan untuk Plex Media Server kita boleh menggunakan fail perkhidmatan SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Buka fail
plexmediaserver.xml
baru dibuat dan ubah nama pendek dan keterangan untuk perkhidmatan di dalamnya
port
, yang menentukan nombor port dan protokol yang anda hendak buka.
Dalam contoh berikut, kami membuka pelabuhan
1900
UDP dan
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
Simpan fail dan muat semula perkhidmatan FirewallD:
sudo firewall-cmd --reload
Anda kini boleh menggunakan perkhidmatan
plexmediaserver
di zon anda sama seperti perkhidmatan lain..
Penghantaran Port dengan Firewalld
Untuk memajukan lalu lintas dari satu port ke port atau alamat yang lain, mula-mula membolehkan menyamar untuk zon yang dikehendaki menggunakan suis
--add-masquerade
. Sebagai contoh untuk membolehkan menyamar untuk jenis zon
external
:
sudo firewall-cmd --zone=external --add-masquerade
- Maju trafik dari satu port ke yang lain pada pelayan yang sama
Dalam contoh berikut, kami akan mengalihkan lalu lintas dari port
80
ke port
8080
pada pelayan yang sama:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- Majukan trafik ke pelayan lain
Dalam contoh berikut, kami akan mengalihkan lalu lintas dari port
80
ke port
80
pada pelayan dengan IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
- Majukan trafik ke pelayan lain di pelabuhan lain
Dalam contoh berikut, kami akan mengalihkan lalu lintas dari port
80
ke port
8080
pada pelayan dengan IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
Mewujudkan Aturan dengan FirewallD
Dalam contoh berikut, kami akan menunjukkan cara mengkonfigurasi firewall anda jika anda menjalankan pelayan web. Kami menganggap bahawa pelayan anda hanya mempunyai satu antara muka
eth0
, dan anda mahu membenarkan trafik masuk hanya pada port SSH, HTTP, dan
-
Tukar zon lalai ke dmz
Kami akan menggunakan zon dmz (demilari) kerana secara lalai ia hanya membenarkan trafik SSH. Untuk menukar zon lalai ke dmz dan berikannya kepada antara muka
eth0
, jalankan perintah berikut:sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
Buka HTTP dan HTTPS port:
Untuk membuka port HTTP dan HTTPS menambah peraturan perkhidmatan tetap ke zon dmz:
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
Buat perubahan dengan segera dengan memuat semula firewall:
sudo firewall-cmd --reload
Sahkan perubahan
Untuk menyemak jenis tetapan konfigurasi zon dmz:
sudo firewall-cmd --zone=dmz --list-all
dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Output di atas memberitahu kita bahawa dmz adalah zon lalai, digunakan untuk antara muka
eth0
dan port ssh (22) http (80) dan https (443) terbuka.
Kesimpulannya
Anda telah belajar cara mengkonfigurasi dan mengurus perkhidmatan FirewallD pada sistem CentOS anda.
Pastikan anda membenarkan semua sambungan masuk yang diperlukan untuk fungsi sistem anda yang betul, sementara mengehadkan semua sambungan yang tidak diperlukan.
firewalld firewalld keselamatan iptables centosBagaimana untuk menubuhkan firewall dengan ufw pada debian 9

UFW (Uncomplicated Firewall) adalah front-end mesra pengguna untuk menguruskan peraturan firewall iptables dan matlamat utamanya adalah membuat pengurusan iptables lebih mudah atau sebagai nama tersebut tidak rumit. Dalam tutorial ini, kami akan menunjukkan kepada anda cara menyiapkan firewall dengan UFW pada Debian 9.
Bagaimana untuk menubuhkan firewall dengan ufw pada ubuntu 18.04

Secara lalai, Ubuntu dilengkapi dengan alat konfigurasi firewall yang dipanggil UFW (Uncomplicated Firewall). UFW adalah front-end mesra pengguna untuk menguruskan peraturan firewall iptables dan matlamat utamanya adalah untuk membuat pengurusan iptables lebih mudah atau sebagai nama tersebut tidak rumit.
Bagaimana untuk menghentikan dan mematikan firewalld pada centos 7

Bermula dengan CentOS 7, FirewallD menggantikan iptables sebagai alat pengurusan firewall lalai. Dalam tutorial ini, kami akan menunjukkan kepada anda cara melumpuhkan FirewallD pada sistem CentOS 7.