#28 - Firewall on Linux CentOS 8
Isi kandungan:
- Prasyarat
- Konsep Dasar Firewalld
- Zon Firewalld
- Perkhidmatan firewall
- Tetapan Runtime dan Tetap Firewalld
- Mengaktifkan FirewallD
- Zon Firewalld
- Menukar sasaran zon
- Menugaskan antara muka ke zon yang berbeza
- Menukar Zon Lalai
- Mewujudkan Zon baru
- Perkhidmatan Firewalld
- Mewujudkan Perkhidmatan FirewallD baru
- IP Pelabuhan dan Sumber Pembukaan
- Membuka sumber IP
- Membuka port sumber
- Pelabuhan Pelabuhan
- Teruskan trafik dari satu port ke alamat yang lain pada alamat IP
- Teruskan trafik ke alamat IP lain
- Majukan trafik ke pelayan lain di pelabuhan lain
- Kesimpulannya
Firewall adalah kaedah untuk memantau dan menapis trafik rangkaian masuk dan keluar. Ia berfungsi dengan mendefinisikan satu set peraturan keselamatan yang menentukan sama ada untuk membenarkan atau menyekat lalu lintas tertentu. Firewall yang dikonfigurasi dengan betul adalah salah satu aspek yang paling penting dalam keselamatan sistem keseluruhan.
CentOS 8 kapal dengan daemon firewall yang dinamakan firewalld. Ini adalah penyelesaian lengkap dengan antara muka D-Bus yang membolehkan anda menguruskan firewall sistem secara dinamik.
Dalam tutorial ini, kami akan membincangkan cara mengkonfigurasi dan mengurus firewall pada CentOS 8. Kami juga akan menerangkan konsep asas FirewallD.
Prasyarat
Untuk mengkonfigurasi perkhidmatan firewall, anda mesti dilog masuk sebagai root atau pengguna dengan keistimewaan sudo.
Konsep Dasar Firewalld
firewalld menggunakan konsep zon dan perkhidmatan. Berdasarkan zon dan perkhidmatan yang anda konfigurasikan, anda boleh mengawal lalu lintas apa yang dibenarkan atau disekat ke dan dari sistem.
Firewalld boleh dikonfigurasikan dan diuruskan menggunakan utiliti baris perintah
firewall-cmd
.
Di CentOS 8, iptables digantikan oleh nftables sebagai backend firewall lalai untuk daemon firewalld.
Zon Firewalld
Zon adalah set peraturan yang telah ditetapkan yang menyatakan tahap kepercayaan rangkaian yang komputer anda disambungkan. 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-prohibiteduntukIPv4danicmp6-adm-prohibiteduntuk 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. Perkhidmatan ini membolehkan anda dengan mudah melaksanakan beberapa tugas dalam satu langkah.
Sebagai contoh, perkhidmatan itu boleh mengandungi definisi mengenai pelabuhan pembukaan, penghantaran trafik, dan banyak lagi.
Tetapan Runtime dan Tetap Firewalld
Firewalld menggunakan dua set konfigurasi yang berasingan, runtime, dan konfigurasi kekal.
Konfigurasi runtime adalah konfigurasi berjalan dan tidak berterusan reboot. Apabila daemon 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 tetap menambahkan pilihan
--permanent
kepada arahan.
Untuk menggunakan perubahan dalam kedua-dua set konfigurasi, anda boleh menggunakan salah satu daripada dua kaedah berikut:
-
Tukar konfigurasi runtime dan buatkan kekal:
sudo firewall-cmdsudo firewall-cmd --runtime-to-permanentTukar konfigurasi kekal dan muat semula daemon firewalld:
sudo firewall-cmd --permanentsudo firewall-cmd --reload
Mengaktifkan FirewallD
Pada CentOS 8, firewalld dipasang dan didayakan secara lalai. Jika atas sebab tertentu ia tidak dipasang pada sistem anda, anda boleh memasang dan memulakan daemon dengan menaip:
sudo dnf install firewalld
sudo systemctl enable firewalld --now
Anda boleh menyemak status perkhidmatan firewall dengan:
sudo firewall-cmd --state
Sekiranya firewall diaktifkan, perintah itu hendaklah mencetak
running
. Jika tidak, anda akan melihat
not running
.
Zon Firewalld
Zon lalai adalah yang digunakan untuk semua yang tidak diberikan secara eksplisit ke zon lain.
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
Untuk melihat zon aktif dan antara muka rangkaian yang diberikan kepada mereka:
sudo firewall-cmd --get-active-zones
Keluaran di bawah menunjukkan bahawa antara muka
eth0
dan
eth1
ditugaskan ke zon
public
:
public interfaces: eth0 eth1
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:
Dari output di atas, kita dapat melihat bahawa zon awam aktif dan menggunakan sasaran lalai, yang adalah
REJECT
. Output juga menunjukkan bahawa zon digunakan oleh antara
eth1
dan
eth1
dan membolehkan pelanggan DHCP dan trafik SSH.
sudo firewall-cmd --list-all-zones
Arahan mencetak senarai besar dengan tetapan semua zon yang tersedia.
Menukar sasaran zon
Sasaran menentukan kelakuan lalai zon untuk trafik masuk yang tidak ditentukan. Ia boleh ditetapkan kepada salah satu daripada pilihan berikut:
default
,
REJECT
DROP
,
REJECT
, dan
DROP
.
Untuk menetapkan sasaran zon, tentukan zon dengan pilihan zon - dan target dengan pilihan
--set-target
.
Contohnya, untuk menukar sasaran zon
public
ke
DROP
anda jalankan:
sudo firewall-cmd --zone=public --set-target=DROP
Menugaskan antara muka ke zon yang berbeza
Anda boleh membuat set peraturan khusus untuk zon yang berlainan dan menyerahkan antaramuka yang berbeza kepada mereka. Ini amat berguna apabila anda mempunyai banyak antara muka pada mesin anda.
Untuk menetapkan antara muka ke zon yang lain, tentukan zon dengan pilihan zon - dan antara muka dengan pilihan
--change-interface
pilihan
--change-interface
.
Sebagai contoh, arahan berikut menyerahkan antara muka
eth1
ke zon
work
:
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
home
anda akan menjalankan arahan berikut:
sudo firewall-cmd --set-default-zone=home
Sahkan perubahan dengan:
sudo firewall-cmd --get-default-zone
Mewujudkan Zon baru
Firewalld juga membolehkan anda membuat zon anda sendiri. Ini berguna apabila anda mahu membuat peraturan per-permohonan.
Dalam contoh berikut, kami akan mencipta zon baru bernama
memcached
, buka port
11211
dan izinkan akses hanya dari alamat IP
192.168.100.30
:
-
Buat zon:
sudo firewall-cmd --new-zone=memcached --permanentTambah peraturan ke zon:
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanentMuat semula daemon firewalld untuk mengaktifkan perubahan:
sudo firewall-cmd --reload
Perkhidmatan Firewalld
Dengan firewall, anda boleh membenarkan trafik untuk pelabuhan dan / atau sumber 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
Untuk memastikan port 80 terbuka selepas reboot dijalankan arahan yang sama sekali lagi dengan pilihan
--permanent
, atau jalankan:
sudo firewall-cmd --runtime-to-permanent
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 satu. Hanya gunakan -
--remove-service
bukan bendera
--add-service
-
sudo firewall-cmd --zone=public --remove-service=http --permanent
Arahan di atas membuang perkhidmatan
http
dari konfigurasi tetap zon awam.
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 membuat definisi perkhidmatan untuk Plex Media Server, anda 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 mana-mana perkhidmatan lain.
IP Pelabuhan dan Sumber Pembukaan
Firewalld juga membolehkan anda dengan pantas mendayakan semua lalu lintas dari alamat IP yang dipercayai atau di pelabuhan tertentu tanpa membuat definisi perkhidmatan.
Membuka sumber IP
Untuk membenarkan semua lalu lintas masuk dari alamat IP tertentu (atau julat), tentukan zon dengan pilihan zon - dan sumber IP dengan pilihan
--add-source
.
Sebagai contoh, untuk membenarkan semua lalu lintas masuk dari 192.168.1.10 di zon
public
, jalankan:
sudo firewall-cmd --zone=public --add-source=192.168.1.10
Buat peraturan baru yang berterusan:
sudo firewall-cmd --runtime-to-permanent
Sahkan perubahan menggunakan arahan berikut:
sudo firewall-cmd --zone=public --list-sources
192.168.1.10
Sintaks untuk mengeluarkan IP sumber adalah sama seperti ketika menambah satu. Hanya gunakan
--remove-source
bukan pilihan
--add-source
:
sudo firewall-cmd --zone=public --remove-source=192.168.1.10
Membuka port sumber
Untuk membenarkan semua lalu lintas masuk pada port tertentu, nyatakan zon dengan pilihan - zon dan pelabuhan dan protokol dengan pilihan
--add-port
.
Sebagai contoh, untuk membuka port
8080
di zon awam untuk sesi semasa yang anda luka berjalan:
sudo firewall-cmd --zone=public --add-port=8080/tcp
Protokol ini boleh sama ada
tcp
,
udp
,
sctp
, atau
dccp
.
Sahkan perubahan:
sudo firewall-cmd --zone=public --list-ports
8080
Untuk memastikan port terbuka selepas reboot, tambahkan aturan ke tetapan tetap dengan menjalankan perintah yang sama dengan menggunakan bendera tetap - atau dengan melaksanakan:
sudo firewall-cmd --runtime-to-permanent
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=8080/tcp
Pelabuhan Pelabuhan
Untuk memajukan lalu lintas dari satu port ke pelabuhan yang lain, mula-mula membolehkan menyamar untuk zon yang dikehendaki menggunakan pilihan
--add-masquerade
. Sebagai contoh, untuk membolehkan menyamar untuk zon
external
, ketik:
sudo firewall-cmd --zone=external --add-masquerade
Teruskan trafik dari satu port ke alamat yang lain pada alamat IP
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
Teruskan trafik ke alamat IP 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
Untuk membuat peraturan ke hadapan berterusan, gunakan:
sudo firewall-cmd --runtime-to-permanent
Kesimpulannya
Anda telah belajar cara mengkonfigurasi dan mengurus perkhidmatan firewalld pada sistem CentOS 8 anda.
Pastikan untuk membenarkan semua sambungan masuk yang diperlukan untuk fungsi sistem anda yang betul, sementara mengehadkan semua sambungan yang tidak diperlukan.
firewalld firewall firewall keselamatanBagaimana untuk memasang dan mengkonfigurasi pelayan nfs pada centos 8
Dalam tutorial ini, anda akan melalui langkah-langkah yang diperlukan untuk menyediakan Server NFSv4 pada CentOS 8. Kami juga akan menunjukkan kepada anda bagaimana untuk melancarkan sistem fail NFS pada klien.
Bagaimana untuk memasang dan mengkonfigurasi redis pada centos 7
Redis adalah kedai struktur data memori sumber terbuka. Ia boleh digunakan sebagai pangkalan data, cache dan broker mesej dan menyokong pelbagai struktur data seperti Strings, Hashes, Lists, Sets etc.
Bagaimana untuk memasang dan mengkonfigurasi nagios pada centos 7
Nagios adalah salah satu sistem pengawasan sumber terbuka yang paling popular. Nagios menyimpan inventori keseluruhan infrastruktur IT anda dan memastikan rangkaian, pelayan, aplikasi, perkhidmatan, dan proses anda berjalan dan berjalan. Tutorial ini menerangkan cara memasang dan mengkonfigurasi Nagios Core pada pelayan CentOS 7.







