Menggunakan FirewallD untuk Menguruskan Firewall Anda di CentOS 7

FirewallD adalah firewall yang dikendalikan secara dinamik yang memberikan sokongan untuk peraturan firewall IPv4 dan IPv6 dan zon firewall yang tersedia pada pelayan berasaskan RHEL 7. Ini adalah penggantian langsung untuk iptablesdan berfungsi dengan netfilterkod kernel .

Dalam artikel ini akan melihat ringkas mengurus firewall di CentOS 7 menggunakan firewall-cmdperintah.

Memeriksa sama ada FirewallD sedang berjalan

Langkah pertama adalah untuk memeriksa sama ada FirewallD dipasang dan dijalankan. Ini dapat dilakukan systemddengan menjalankan perkara berikut:

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
   ...

Sebagai alternatif, anda boleh menyemak menggunakan firewall-cmdalat:

$ firewall-cmd --state
running

Menguruskan zon

FirewallD beroperasi menggunakan konsep di zonesmana zon menentukan tahap kepercayaan yang digunakan untuk sambungan. Anda boleh memisahkan antara muka rangkaian yang berlainan ke dalam zon yang berbeza untuk menerapkan peraturan firewall tertentu antara muka atau anda boleh menggunakan satu zon untuk semua antaramuka.

Di luar kotak, semuanya dilakukan di publiczon lalai , tetapi ada beberapa zon pra-konfigurasi lain yang dapat diterapkan juga.

Menyenaraikan semua zon yang ada

Anda mungkin perlu mendapatkan senarai semua zon yang ada, di antaranya terdapat beberapa di luar kotak. Sekali lagi, ini dapat dilakukan dengan menggunakan firewall-cmd:

$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work

Memeriksa zon lalai

Anda boleh menemui zon lalai yang kini dikonfigurasi menggunakan firewall-cmd:

$ firewall-cmd --get-default-zone
public

Sekiranya anda ingin menukar zon lalai (misalnya, ke home), ini dapat dilakukan dengan menjalankan:

$ firewall-cmd --set-default-zone=home
success

Maklumat ini akan dapat dilihat dalam fail konfigurasi utama, /etc/firewalld/firewalld.conf. Namun, disarankan agar anda tidak mengubah fail ini secara manual dan sebaliknya menggunakan firewall-cmd.

Memeriksa zon yang sedang ditetapkan

Anda boleh mendapatkan senarai zon yang anda tetapkan antaramuka dengan menjalankan:

$ firewall-cmd --get-active-zones
public
  interfaces: eth0

Anda juga boleh memeriksa zon antara muka tunggal ( eth0dalam kes ini) dengan menjalankan:

$  firewall-cmd --get-zone-of-interface=eth0
public

Membuat zon

Sekiranya zon pra-konfigurasi lalai tidak sesuai dengan keperluan anda, cara termudah untuk membuat zon baru ( zone1) adalah melalui firewall-cmd:

$ firewall-cmd --permanent --new-zone=zone1
success

Selepas membuat, anda perlu memuat semula:

$ firewall-cmd --reload
success

Memohon zon ke antara muka

Untuk menetapkan secara tetap antara muka rangkaian ke zon, Anda dapat menggunakan firewall-cmdwalaupun ingat untuk memasukkan --permanentbendera untuk meneruskan perubahan. Sekiranya menggunakan NetworkManager, anda juga harus memastikan nmcliuntuk menetapkan zon sambungan.

$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success

Mendapatkan konfigurasi tetap zon

Untuk memeriksa konfigurasi tetap zon ( publicdalam kes ini) termasuk antara muka yang ditetapkan, perkhidmatan yang dibenarkan, tetapan port dan banyak lagi, jalankan:

$ firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Menguruskan perkhidmatan

Setelah menetapkan dan mengkonfigurasi zon yang diperlukan, anda boleh mula menambahkan perkhidmatan ke zon. Perkhidmatan menerangkan protokol dan port yang dapat diakses untuk zon.

Menyenaraikan perkhidmatan yang ada

Sejumlah perkhidmatan umum telah dikonfigurasikan dalam firewalld. Ini boleh disenaraikan:

$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https

Anda juga boleh mendapatkan senarai perkhidmatan yang diaktifkan untuk zon lalai:

$ firewall-cmd --list-services
dhcpv6-client ssh

Menambah perkhidmatan ke zon

Anda boleh mengaktifkan perkhidmatan tertentu untuk zon ( public) secara kekal menggunakan --add-servicebendera:

$ firewall-cmd --permanent --zone=public --add-service=http
success

Dan kemudian muatkan semula sesi firewall semasa:

$ firewall-cmd --reload
success

Kemudian, untuk mengesahkannya ditambahkan:

$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh

Mengalih keluar perkhidmatan dari zon

Anda boleh membuang perkhidmatan tertentu untuk zon ( public) secara kekal menggunakan --remove-servicebendera:

$ firewall-cmd --permanent --zone=public --remove-service=http
success

Dan kemudian muatkan semula sesi firewall semasa:

$ firewall-cmd --reload
success

Kemudian, untuk mengesahkannya ditambahkan:

$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh

Menambah / membuang pelbagai perkhidmatan dari zon

Anda boleh menambah atau membuang beberapa perkhidmatan (misalnya, httpdan https) dari zon sama ada satu demi satu, atau sekaligus dengan membungkus nama perkhidmatan yang diinginkan dengan pendakap keriting ( {, }):

$ firewall-cmd --permanent --zone=public --add-service=
success

$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh

Membuat perkhidmatan baru

Kadang kala anda mungkin perlu menambahkan perkhidmatan khusus baru - contohnya jika anda telah menukar port untuk daemon SSH. Perkhidmatan ditentukan menggunakan fail XML sepele, dengan fail lalai terdapat di /usr/lib/firewalld/services:

$  tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...

Cara termudah untuk membuat perkhidmatan baru adalah dengan menyalin salah satu fail perkhidmatan yang ada dan mengubahnya. Perkhidmatan khusus harus berada di /etc/firewalld/services. Sebagai contoh, untuk menyesuaikan perkhidmatan SSH:

$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml

Kandungan fail yang disalin ini akan kelihatan seperti:

$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

Untuk menukar port, anda harus menukar nama pendek untuk perkhidmatan, dan port. Anda juga boleh mengubah keterangan jika anda mahu, tetapi ini hanya metadata tambahan yang dapat digunakan oleh antara muka pengguna atau aplikasi lain. Dalam contoh ini, saya menukar port ke 1234:

$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH-Custom</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="1234"/>
</service>

Setelah disimpan, anda perlu memuatkan semula firewall dan kemudian anda boleh menerapkan peraturan anda ke zon anda:

$ firewall-cmd --reload
success

$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success

Pengurusan pelabuhan

Selain menggunakan perkhidmatan, anda juga boleh membenarkan port secara protokol secara manual. Untuk membenarkan port TCP 7777untuk publiczon:

$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success

Anda juga boleh menambahkan julat port:

$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success

Untuk membuang (dan dengan itu menolak) port TCP 7777untuk publiczon:

$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success

Anda juga boleh menyenaraikan port yang sekarang dibenarkan untuk zon tertentu ( public) setelah memuatkan semula sesi firewall semasa:

$ firewall-cmd --zone=public --list-ports
7000-8000/tcp

Mengaktifkan FirewallD

Setelah anda mengkonfigurasi firewall mengikut keinginan anda, anda harus memastikannya mengaktifkannya melalui systemd untuk memastikannya bermula pada permulaan:

$ systemctl enable firewalld

Kesimpulannya

Terdapat banyak lagi tetapan dan pilihan dalam FirewallD, seperti penerusan port, penyamaran dan komunikasi dengan firewall melalui D-Bus. Mudah-mudahan panduan ini dapat membantu anda memahami asas-asasnya dan telah memberi anda alat untuk memulakan firewall dari pelayan anda. Beberapa bacaan tambahan di bawah ini akan membantu anda memanfaatkan sepenuhnya firewall anda.



Leave a Comment

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda

Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu

Cara Memasang Apache Maven 3.5 di CentOS 7

Cara Memasang Apache Maven 3.5 di CentOS 7

Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru

Cara Memasang FFmpeg di CentOS

Cara Memasang FFmpeg di CentOS

FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Cara Memasang Backdrop CMS 1.8.0 pada VPS CentOS 7 LAMP

Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami

Cara Pasang AirSonic pada CentOS 7

Cara Pasang AirSonic pada CentOS 7

Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Siapkan Komposer Untuk Ketergantungan PHP Di CentOS 6

Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

Bagaimana untuk Menggunakan Aplikasi Web Teras NET pada CentOS 7

.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE

Memasang Netdata di CentOS 7

Memasang Netdata di CentOS 7

Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:

Cara Memasang Pelayan Starbound di CentOS 7

Cara Memasang Pelayan Starbound di CentOS 7

Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda

Cara Memasang Django di CentOS 7

Cara Memasang Django di CentOS 7

Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Sediakan Pelayan multipemain SA-MP San Andreas di CentOS 6

Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir

Memasang Revive Adserver di CentOS 7

Memasang Revive Adserver di CentOS 7

Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,

Cara Memasang Parse Server di CentOS 7

Cara Memasang Parse Server di CentOS 7

Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini

Pasang Elgg di CentOS 7

Pasang Elgg di CentOS 7

Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Cara Memasang dan Mengkonfigurasi Caddy di CentOS 7

Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Terapkan Kubernetes Dengan Kubeadm di CentOS 7

Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Tingkatkan Produktiviti dengan Z dan Zsh di CentOS

Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

Cara Memasang OpenCart Pada Pelayan LEMP Vultr

OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti

Siapkan Sails.js untuk Pembangunan di CentOS 7

Siapkan Sails.js untuk Pembangunan di CentOS 7

Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut