Belajar Linux

Urus keselamatan rangkaian dengan Firewalld menggunakan baris arahan

Urus keselamatan rangkaian dengan Firewalld menggunakan baris arahan

Menjaga keselamatan rangkaian adalah kunci untuk pentadbir sistem dan mengkonfigurasi firewall melalui baris perintah adalah kemahiran penting untuk dipelajari. Artikel ini akan menyoroti cara menguruskan firewall dengan firewall-cmd di baris perintah Linux.

Firewall pada dasarnya adalah perisian yang boleh anda konfigurasikan untuk mengawal lalu lintas rangkaian masuk dan keluar. Firewall dapat mengelakkan pengguna lain menggunakan perkhidmatan rangkaian pada sistem yang anda jalankan. Sebilangan besar sistem Linux dihantar dengan firewall lalai. Versi sistem Linux sebelumnya telah menggunakan iptables sebagai daemon untuk penyaringan paket. Versi baru Fedora, RHEL / CentOS, kapal openSUSE dengan Firewalld sebagai daemon firewall lalai. Anda juga boleh memasang Firewalld di distro Debian dan Ubuntu.


Saya mengesyorkan agar anda menggunakan Firewalld dan bukannya iptables. Jangan hanya mengambil kata-kata saya untuk itu. Ketahui lebih lanjut dari panduan komprehensif kami mengenai firewall sumber terbuka yang tersedia untuk sistem Linux anda.

Firewalld adalah daemon dinamik untuk menguruskan firewall dengan sokongan untuk zon rangkaian atau firewall. Zon firewall menentukan tahap kepercayaan keselamatan rangkaian antara muka, perkhidmatan, atau sambungan rangkaian. Pentadbir sistem keselamatan rangkaian mendapati Firewalld berfungsi dengan baik dengan set IPv4, IPv6, IP, dan jambatan Ethernet. Untuk menguruskan Firewalld, anda boleh menggunakan perintah terminal firewall-cmd atau alat konfigurasi GUI firewall-config.

Panduan ini akan menggunakan firewall-cmd perintah untuk menguruskan keselamatan rangkaian, dan persekitaran ujian kami akan Fedora Workstation 33.

Sebelum kita mendapatkan semua teknikal, mari kita pelajari beberapa asas rangkaian.

Asas rangkaian

Komputer yang disambungkan ke rangkaian diberikan alamat IP yang digunakan untuk merutekan data. Komputer juga mempunyai port dalam jarak 0-65535, yang berfungsi sebagai titik sambungan di alamat IP. Aplikasi mungkin menempah port tertentu. Pelayan web biasanya menempah port 80 untuk komunikasi HTTP yang selamat. Pada dasarnya julat port 0 - 1024 dikhaskan untuk tujuan terkenal dan sistem.

Dua protokol pemindahan data Internet utama (TCP & UDP) menggunakan port ini semasa komunikasi rangkaian. Komputer hos mewujudkan hubungan antara alamat IP sumber dan port (port 80 untuk HTTP tidak selamat) dan alamat dan port tujuan.

Untuk menguruskan keselamatan rangkaian, perisian firewall dapat membenarkan atau menyekat pemindahan data atau komunikasi berdasarkan peraturan seperti port atau alamat IP.

Memasang Firewalld

Fedora, RHEL / CentOS 7/8, openSUSE

Firewalld dipasang secara lalai di Fedora, RHEL / CentOS 7/8, dan openSUSE. Sekiranya tidak, anda boleh memasangnya menggunakan arahan berikut:

# yum pasang firewalld -y
ATAU
#dnf pasang firewalld -y

Debian / Ubuntu

Sistem Ubuntu dihantar dengan Firewall Tidak Ringkas secara lalai. Untuk menggunakan firewalld, anda mesti mengaktifkan repositori semesta dan menyahaktifkan Firewall Tidak Komplikasi.

sudo add-apt-repository semesta
sudo apt pasang firewalld

Nyahaktifkan Firewall Tidak Komplikasi:

sudo systemctl lumpuhkan ufw

Dayakan firewalld pada masa boot:

sudo systemctl aktifkan -sekarang firewalld

Sahkan Firewalld sedang dijalankan:

sudo firewall-cmd -state
berlari

Zon Firewall

Firewalld menjadikan konfigurasi firewall anda mudah dengan menetapkan zon lalai. Zon adalah sekumpulan peraturan yang sesuai dengan keperluan harian kebanyakan pentadbir Linux. Zon firewall dapat menentukan tahap yang dipercayai atau ditolak untuk perkhidmatan dan port.

Contoh zon lalai yang ditentukan oleh stesen kerja Fedora 33

cat / usr / lib / firewalld / zones / FedoraWorkstation.xml


Stesen Kerja Fedora
Paket rangkaian masuk yang tidak diminta ditolak dari port 1 hingga 1024, kecuali untuk perkhidmatan rangkaian terpilih. [firewall] Paket masuk yang berkaitan dengan sambungan rangkaian keluar diterima. Sambungan rangkaian keluar dibenarkan.





Dapatkan zon semasa anda:
Anda boleh menggunakan - - get-aktif-zon bendera untuk memeriksa zon yang sedang aktif dalam sistem anda.

sudo firewall-cmd --get-active-zones
[sudo] kata laluan untuk tut:
FedoraWorkstation
antara muka: wlp3s0
kebebasan
antara muka: virbr0

Zon lalai di Fedora Workstation 33 di zon FedoraWorkstation

Dapatkan zon lalai & semua zon yang ditentukan:

sudo firewall-cmd --get-default-zone
[sudo] kata laluan untuk tut:
FedoraWorkstation
[tuts @ fosslinux ~] $ sudo firewall-cmd --get-zones
Blok stesen kerja FedoraServer Fedora dmz lepaskan luaran dalaman rumah luaran nm-kongsi kerja dipercayai awam

Senaraikan perkhidmatan:

Anda boleh mendapatkan perkhidmatan yang firewall membolehkan sistem lain mengakses menggunakan  - -senarai-perkhidmatan bendera.

[tuts @ fosslinux ~] $ sudo firewall-cmd - senarai-perkhidmatan
dhcpv6-client mdns samba-client ssh

Pada Fedora Linux 33, firewall membenarkan akses ke empat perkhidmatan (dhcpv6-client mdns samba-client ssh) dengan nombor port yang terkenal.

Senaraikan tetapan port firewall:
Anda boleh menggunakan - -senarai-port bendera untuk melihat tetapan port lain di zon mana pun.

tuts @ fosslinux ~] $ sudo firewall-cmd --list-port --zone = FedoraWorkstation
[sudo] kata laluan untuk tut:
1025-65535 / udp 1025-65535 / tcp

Kami telah menentukan zon untuk diperiksa menggunakan pilihan - -zone = FedoraWorkstaion.

Menguruskan zon, port, dan perkhidmatan

Konfigurasi firewall dapat dikonfigurasi sebagai runtime atau permanen. Semua tindakan firewall-cmd hanya bertahan sehingga komputer atau firewall dimulakan semula. Anda mesti membuat tetapan tetap dengan bendera -permanen.

Buat zon

Untuk membuat zon, anda mesti menggunakan - -zon baru bendera.
Contoh:
Buat zon kekal baru yang disebut fosscorp:

[tuts @ fosslinux ~] $ sudo firewall-cmd - fosscorp zon baru --permanen
[sudo] kata laluan untuk tut:
kejayaan

Muat semula peraturan firewall untuk mengaktifkan zon baru:

[tuts @ fosslinux ~] $ sudo firewall-cmd --muat semula

Tambahkan perkhidmatan ssh ke zon fosscorp sehingga anda dapat mengaksesnya dari jauh:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone fosscorp --add-service ssh --permanent
[sudo] kata laluan untuk tut:
kejayaan

Sahkan zon baru anda 'fosscorp' aktif:

[tuts @ fosslinux ~] $ sudo firewall-cmd --get-zones
Blok FedoraServer FedoraWorkstation dmz jatuh luaran fosscorp kerja dalaman rumah nm-berkongsi kerja dipercayai awam

Fosscorp zon baru anda kini aktif, dan ia menolak semua sambungan masuk kecuali trafik SSH.

Menggunakan - -menukar-antara muka bendera untuk menjadikan zon itu sebagai zon aktif dan lalai untuk antara muka rangkaian (wlp3s0) yang ingin anda lindungi:

[tuts @ fosslinux ~] $ sudo firewall-cmd --change-interface wlp3s0 \
> --zone fosscorp --permanent
Antaramuka berada di bawah kawalan [firewall] NetworkManager, menetapkan zon ke 'fosscorp'.
kejayaan

Sekiranya anda ingin menetapkan fosscorp sebagai zon lalai dan utama, jalankan arahan berikut:

[tuts @ fosslinux ~] $ sudo firewall-cmd --set-default fosscorp
kejayaan

Lihat zon yang ditugaskan pada setiap antara muka menggunakan - -get-aktif-zon bendera:

[tuts @ fosslinux ~] $ sudo firewall-cmd --get-active-zones
fosscorp
antara muka: wlp3s0

Tambah dan alih keluar perkhidmatan:

Cara cepat untuk membenarkan lalu lintas melalui firewall anda adalah dengan menambahkan perkhidmatan yang telah ditetapkan.

Senaraikan perkhidmatan yang telah ditetapkan:

tuts @ fosslinux ~] $ sudo firewall-cmd --get-service
[sudo] kata laluan untuk tut:
RH-Satelit-6 amanda-klien amanda-k5-klien amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine kokpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client
[…]

Buka sekatan perkhidmatan yang telah ditetapkan

Anda boleh membenarkan trafik HTTPS (atau perkhidmatan lain yang telah ditentukan) melalui firewall anda menggunakan - -perkhidmatan tambah bendera.

[tuts @ fosslinux ~] $ sudo firewall-cmd --add-service https --permanent
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd --muat semula

Anda juga boleh membuang perkhidmatan dengan - -buang-servis bendera:

[tuts @ fosslinux ~] $ sudo firewall-cmd --remove-service https --permanent
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd --muat semula

Tambah dan keluarkan Pelabuhan

Anda juga boleh menambahkan nombor port dan prototaip secara langsung dengan bendera -add-port. Menambah nombor port secara langsung boleh berguna apabila perkhidmatan yang telah ditentukan tidak ada.

Contoh:
Anda boleh menambah yang tidak standard pelabuhan 1717 untuk SSH ke zon tersuai anda menggunakan arahan berikut:

[tuts @ fosslinux ~] $ sudo firewall-cmd --add-port 1717 / tcp --permanen
[sudo] kata laluan untuk tut:
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd-muat semula

Keluarkan port menggunakan pilihan bendera -rove-port:

[tuts @ fosslinux ~] $ sudo firewall-cmd --remove-port 1717 / tcp --permanen
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd-muat semula

Anda juga boleh menentukan zon untuk menambah atau membuang port dengan menambahkan bendera -zone dalam arahan:
Tambahkan port 1718 untuk sambungan TCP ke zon FedoraWorstation:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone = FedoraWorkstation --permanent --add-port = 1718 / tcp
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd --muat semula
kejayaan

Sahkan jika perubahan telah berlaku:

[tuts @ fosslinux ~] $ sudo firewall-cmd --list-semua
FedoraWorkstation (aktif)
sasaran: lalai
icmp-block-inversion: tidak
antara muka: wlp3s0
sumber:
perkhidmatan: dhcpv6-client mdns samba-client ssh
pelabuhan: 1025-65535 / udp 1025-65535 / tcp 1718 / tcp
protokol:
penyamar: tidak
pelabuhan hadapan:
port sumber:
blok icmp:
peraturan kaya:

Catatan: Di bawah port, kami telah menambah nombor pelabuhan 1718 untuk membenarkan trafik TCP.

Anda boleh membuang pelabuhan 1718 / tcp dengan menjalankan arahan berikut:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone = FedoraWorkstation --permanent --remove-port = 1718 / tcp
kejayaan
[tuts @ fosslinux ~] $ sudo firewall-cmd --muat semula
kejayaan

Catatan: Sekiranya anda ingin menjadikan perubahan anda kekal, anda mesti menambahkan - -kekal benderakan arahan anda.

Ringkasan

Firewalld adalah utiliti yang hebat untuk menguruskan keselamatan rangkaian anda. Kaedah terbaik untuk meningkatkan kemahiran pentadbir sistem anda adalah dengan mendapatkan pengalaman langsung. Saya sangat mengesyorkan memasang Fedora di mesin maya kegemaran anda (VM) atau di Boxes untuk bereksperimen dengan semua fungsi firewall-cmd yang ada. Anda boleh mengetahui lebih banyak fungsi firewall-cmd dari halaman utama Firewalld.

Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...