Pengenalan Firewalld - CENTOS 7
Firewalld adalah solusi manajemen firewall yang tersedia untuk banyak distribusi Linux yang bertindak sebagai antarmuka untuk sistem penyaringan paket iptables yang disediakan oleh kernel Linux. Dalam panduan ini, kita akan membahas cara mengatur firewall untuk server Anda dan menunjukkan kepada Anda dasar-dasar mengelola firewall dengan alat administratif firewall-cmd (jika Anda lebih suka menggunakan iptables dengan CentOS, ikuti panduan ini).
Setelah Anda menginstal firewalld, Anda dapat mengaktifkan layanan dan reboot server Anda. Perlu diingat bahwa mengaktifkan firewall akan menyebabkan layanan untuk memulai saat boot. Ini adalah praktik terbaik untuk membuat aturan firewall Anda dan mengambil kesempatan untuk mengujinya sebelum mengkonfigurasi perilaku ini untuk menghindari potensi masalah.
Ketika server restart, firewall Anda harus dinaikkan, antarmuka jaringan Anda harus dimasukkan ke dalam zona yang Anda konfigurasikan (atau jatuh kembali ke zona default yang dikonfigurasi), dan setiap aturan yang terkait dengan zona (s) akan diterapkan ke antarmuka.
Untuk menghentikan dan menonaktifkannya:
Kita dapat memverifikasi bahwa layanan berjalan dan dapat dijangkau dengan mengetik:
Ini menunjukkan bahwa firewall Anda aktif dan berjalan dengan konfigurasi default.
Untuk melihat status daemon FirewallD:
Tampilan hasilnya:
Karena belum memberikan perintah firewalld untuk menyimpang dari zona default, dan tidak ada antarmuka yang dikonfigurasi untuk mengikat ke zona lain, zona itu juga akan menjadi satu-satunya zona "aktif" (zona yang mengontrol lalu lintas untuk antarmuka). Dapat memverifikasi itu dengan mengetik:
Di sini, terlihat bahwa server contoh memiliki dua antarmuka jaringan yang dikontrol oleh firewall (eth0 dan eth1). Kedua Ethernet tersebut saat ini sedang dikelola sesuai dengan aturan yang ditetapkan untuk zona publik.
Bagaimana mengetahui aturan apa yang terkait dengan zona publik? Kita dapat mencetak konfigurasi zona default dengan mengetik:
Kita dapat mengetahui dari output bahwa zona ini adalah default dan aktif dan bahwa antarmuka eth0 dan eth1 terkait dengan zona ini (kita sudah tahu semua ini dari pertanyaan sebelumnya). Namun, kita juga dapat melihat bahwa zona ini memungkinkan untuk operasi normal yang terkait dengan klien DHCP (untuk penetapan alamat IP) dan SSH (untuk administrasi jarak jauh).
Untuk mendapatkan daftar zona yang tersedia, ketik:
Kita dapat melihat konfigurasi spesifik yang terkait dengan zona dengan memasukkan parameter --zone= di dalam perintah --list-all kita:
Anda dapat menampilkan semua definisi zona dengan menggunakan opsi --list-all-zones. Anda mungkin ingin menyalurkan output ke pager agar lebih mudah dilihat:
Misalnya, kita dapat mengalihkan antarmuka eth0 kita ke zona "rumah" dengan mengetik ini:
Anda dapat mengubah zona default dengan parameter --set-default-zone=. Ini akan segera mengubah antarmuka yang jatuh kembali ke default ke zona baru:
* Ganti home dengan zona sesuai keinginan anda
Misalnya, jika kita menjalankan server web yang melayani lalu lintas HTTP konvensional, kita dapat mengizinkan lalu lintas ini untuk antarmuka di zona "publik" kita untuk sesi ini dengan mengetik:
Anda dapat meninggalkan --zone= jika Anda ingin memodifikasi zona default. Kita dapat memverifikasi operasi berhasil dengan menggunakan perintah --list-all atau --list-services:
Setelah Anda menguji bahwa semuanya berjalan sebagaimana mestinya, Anda mungkin ingin memodifikasi aturan firewall permanen agar layanan Anda tetap tersedia setelah reboot. Kita dapat membuat perubahan zona "publik" permanen dengan mengetik:
Anda dapat memverifikasi bahwa ini berhasil dengan menambahkan flag --permanent ke perintah --list-services. Anda perlu menggunakan sudo untuk setiap perintah --permanent:
Zona "publik" Anda sekarang akan memungkinkan lalu lintas web HTTP pada port 80. Jika server web Anda dikonfigurasi untuk menggunakan SSL / TLS, Anda juga ingin menambahkan layanan https. Kita dapat menambahkannya ke sesi saat ini dan aturan permanen dengan mengetik:
Dalam situasi ini, Anda memiliki dua opsi.
Sebagai contoh, jika aplikasi kita berjalan di port 5000 dan menggunakan TCP, kita bisa menambahkan ini ke zona "publik" untuk sesi ini menggunakan parameter --add-port=. Protokol dapat berupa tcp atau udp:
Kita dapat memverifikasi bahwa ini berhasil menggunakan operasi --list-ports:
Juga dimungkinkan untuk menentukan rentang port berurutan dengan memisahkan port awal dan akhir dalam rentang dengan tanda pisah. Misalnya, jika aplikasi kita menggunakan port UDP 4990 hingga 4999, kita dapat membukanya di "publik" dengan mengetik:
Setelah pengujian, kita mungkin ingin menambahkan ini ke firewall permanen. Anda dapat melakukannya dengan mengetik:
Layanan hanyalah koleksi port dengan nama dan deskripsi terkait. Menggunakan layanan lebih mudah untuk dikelola daripada port, tetapi membutuhkan sedikit pekerjaan dimuka. Cara termudah untuk memulai adalah menyalin skrip yang ada (ditemukan di /usr/lib/firewalld/services) ke direktori /etc/firewalld/services tempat firewall mencari definisi non-standar.
Sebagai contoh, kita dapat menyalin definisi layanan SSH yang akan digunakan untuk definisi layanan "contoh" kita seperti ini. Nama file dikurangi sufiks .xml akan menentukan nama layanan dalam daftar layanan firewall:
Sekarang, Anda dapat menyesuaikan definisi yang ditemukan dalam file yang Anda salin:
Untuk memulai, file akan berisi definisi SSH yang Anda salin:
Mayoritas definisi ini sebenarnya adalah metadata. Anda akan ingin mengubah nama pendek untuk layanan dalam tag <short>. Ini adalah nama yang dapat dibaca manusia untuk layanan Anda. Anda juga harus menambahkan deskripsi sehingga Anda memiliki informasi lebih lanjut jika Anda perlu mengaudit layanan. Satu-satunya konfigurasi yang perlu Anda buat yang benar-benar memengaruhi fungsi layanan mungkin akan menjadi definisi port tempat Anda mengidentifikasi nomor port dan protokol yang ingin Anda buka. Ini dapat ditentukan beberapa kali.
Untuk layanan "contoh" kita, bayangkan bahwa kita perlu membuka port 7777 untuk TCP dan 8888 untuk UDP. Dengan memasuki mode INSERT dengan menekan i, kita dapat memodifikasi definisi yang ada dengan sesuatu seperti ini:
Tekan ESC, lalu masukkan :x untuk menyimpan dan menutup file.
Muat ulang firewall Anda untuk mendapatkan akses ke layanan baru Anda:
Anda dapat melihat bahwa itu sekarang berada di antara daftar layanan yang tersedia:
Anda sekarang dapat menggunakan layanan ini di zona Anda seperti biasanya.
Misalnya, Anda mungkin ingin membuat zona untuk server web Anda, yang disebut "publicweb". Namun, Anda mungkin ingin memiliki zona lain yang dikonfigurasi untuk layanan DNS yang Anda berikan di jaringan pribadi Anda. Anda mungkin menginginkan sebuah zona yang disebut "privateDNS" untuk itu.
Saat menambahkan zona, Anda harus menambahkannya ke konfigurasi firewall permanen. Anda kemudian dapat memuat ulang untuk membawa konfigurasi ke sesi berlari Anda. Misalnya, kita bisa membuat dua zona yang kita diskusikan di atas dengan mengetik:
Anda dapat memverifikasi bahwa ini ada dalam konfigurasi permanen Anda dengan mengetik:
Sebagaimana dinyatakan sebelumnya, ini tidak akan tersedia dalam contoh firewall saat ini:
Muat kembali firewall untuk membawa zona baru ini ke konfigurasi aktif:
Sekarang, Anda dapat mulai menetapkan layanan dan port yang sesuai ke zona Anda. Biasanya ada baiknya untuk menyesuaikan instance aktif dan kemudian mentransfer perubahan tersebut ke konfigurasi permanen setelah pengujian. Misalnya, untuk zona "publicweb", Anda mungkin ingin menambahkan layanan SSH, HTTP, dan HTTPS:
Demikian juga, kita dapat menambahkan layanan DNS ke zona "privateDNS" kami:
Kami kemudian dapat mengubah antarmuka kami ke zona baru ini untuk menguji mereka:
Pada titik ini, Anda memiliki kesempatan untuk menguji konfigurasi Anda. Jika nilai-nilai ini bekerja untuk Anda, Anda akan ingin menambahkan aturan yang sama ke konfigurasi permanen. Anda dapat melakukannya dengan menerapkan kembali aturan dengan paremeter perintah --permanent:
Setelah menerapkan aturan ini secara permanen, Anda dapat memulai ulang jaringan dan memuat ulang layanan firewall Anda:
Validasi bahwa zona yang benar telah ditetapkan:
Dan memvalidasi bahwa layanan yang sesuai tersedia untuk kedua zona:
Anda telah berhasil mengatur zona Anda sendiri! Jika Anda ingin menjadikan salah satu dari zona ini sebagai default untuk antarmuka lain, ingat untuk mengonfigurasi perilaku tersebut dengan parameter --set-default-zone=:
Layanan firewall memungkinkan Anda untuk mengonfigurasi aturan yang dapat dipertahankan dan kumpulan aturan yang mempertimbangkan lingkungan jaringan Anda. Hal ini memungkinkan Anda untuk transisi mulus antara kebijakan firewall yang berbeda melalui penggunaan zona dan memberi administrator kemampuan untuk mengabstrakkan manajemen port ke dalam definisi layanan yang lebih ramah. Memperoleh pengetahuan kerja dari sistem ini akan memungkinkan Anda untuk memanfaatkan fleksibilitas dan kekuatan yang disediakan alat ini.
SUMBER DOC ©:
1. How To Set Up a Firewall Using FirewallD on CentOS 7 (bahasa inggris)
2. Introduction to FirewallD on CentOS (bahasa inggris)
Ada kemungkinan bahwa Anda mungkin bekerja dengan versi firewall yang lebih baru daripada yang tersedia pada saat penulisan ini, atau bahwa server Anda diatur sedikit berbeda dari server contoh yang digunakan di seluruh panduan ini. Dengan demikian, perilaku dari beberapa perintah yang dijelaskan dalam panduan ini dapat bervariasi tergantung pada konfigurasi spesifik Anda.
Konsep Dasar di Firewalld
Sebelum kita mulai berbicara tentang bagaimana benar-benar menggunakan utilitas firewall-cmd untuk mengelola konfigurasi firewall Anda, kita harus mengenal beberapa konsep dasar yang diperkenalkan alat tersebut.Instal dan Aktifkan Firewall Anda untuk Mulai di Boot
firewalld diinstal secara default pada beberapa distribusi Linux, termasuk banyak gambar CentOS 7. Namun, Anda mungkin perlu menginstal sendiri firewall:yum install firewalld -y
systemctl enable firewalld
reboot
Ketika server restart, firewall Anda harus dinaikkan, antarmuka jaringan Anda harus dimasukkan ke dalam zona yang Anda konfigurasikan (atau jatuh kembali ke zona default yang dikonfigurasi), dan setiap aturan yang terkait dengan zona (s) akan diterapkan ke antarmuka.
Untuk menghentikan dan menonaktifkannya:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Kita dapat memverifikasi bahwa layanan berjalan dan dapat dijangkau dengan mengetik:
firewall-cmd --state
running
Untuk melihat status daemon FirewallD:
systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: active (running) since Wed 2015-09-02 18:03:22 UTC; 1min 12s ago
Main PID: 11954 (firewalld)
CGroup: /system.slice/firewalld.service
└─11954 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Menjadi Familiar dengan Aturan Firewall Saat Ini
Sebelum kita mulai melakukan modifikasi, kita harus membiasakan diri dengan lingkungan dan aturan default yang disediakan oleh sistem.Menjelajahi Default
Untuk melihat zona mana yang saat ini dipilih sebagai default dengan mengetik:firewall-cmd --get-default-zone
public
firewall-cmd --get-active-zones
public
interfaces: eth0 eth1
Di sini, terlihat bahwa server contoh memiliki dua antarmuka jaringan yang dikontrol oleh firewall (eth0 dan eth1). Kedua Ethernet tersebut saat ini sedang dikelola sesuai dengan aturan yang ditetapkan untuk zona publik.
Bagaimana mengetahui aturan apa yang terkait dengan zona publik? Kita dapat mencetak konfigurasi zona default dengan mengetik:
sudo firewall-cmd --list-all
public (default, 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:
Menjelajahi Zona Alternatif
Sekarang kita memiliki gagasan bagus tentang konfigurasi untuk zona default dan aktif. Kita dapat menemukan informasi tentang zona lain juga.Untuk mendapatkan daftar zona yang tersedia, ketik:
firewall-cmd --get-zones
block dmz drop external home internal public trusted work
firewall-cmd --zone=home --list-all
home
interfaces:
sources:
services: dhcpv6-client ipp-client mdns samba-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
firewall-cmd --list-all-zones | less
Memilih Zona untuk Antarmuka Anda
Kecuali Anda telah mengonfigurasi antarmuka jaringan Anda, jika tidak, setiap antarmuka akan diletakkan di zona default ketika firewall di-boot.Mengubah Zona Antarmuka
Anda dapat mentransisikan antarmuka antar zona selama sesi dengan menggunakan parameter --zone= di kombinasi dengan parameter --change-interface=. Seperti semua perintah yang memodifikasi firewall, Anda harus menggunakan sudo.Misalnya, kita dapat mengalihkan antarmuka eth0 kita ke zona "rumah" dengan mengetik ini:
sudo firewall-cmd --zone=home --change-interface=eth0
success
Setiap kali Anda mengalihkan antarmuka ke zona baru, perhatikan bahwa Anda mungkin memodifikasi layanan yang akan beroperasi. Misalnya, di sini kita pindah ke zona "rumah", yang memiliki SSH tersedia. Ini berarti koneksi kita tidak akan jatuh. Beberapa zona lain tidak memiliki SSH diaktifkan secara default dan jika koneksi Anda dijatuhkan saat menggunakan salah satu dari zona ini, Anda dapat menemukan diri Anda tidak dapat masuk kembali.Kita dapat memverifikasi bahwa ini berhasil dengan meminta zona aktif lagi:
firewall-cmd --get-active-zones
home
interfaces: eth0
public
interfaces: eth1
Menyesuaikan Zona Default
Jika semua antarmuka Anda dapat ditangani oleh satu zona, mungkin lebih mudah untuk memilih zona default terbaik dan kemudian menggunakannya untuk konfigurasi Anda.Anda dapat mengubah zona default dengan parameter --set-default-zone=. Ini akan segera mengubah antarmuka yang jatuh kembali ke default ke zona baru:
firewall-cmd --set-default-zone=home
success
Menetapkan Aturan untuk Aplikasi Anda
Cara dasar mendefinisikan pengecualian firewall untuk layanan yang ingin Anda sediakan adalah mudah. Kita akan menjalankan ide dasar di sini.Menambahkan Layanan ke Zona Anda
Metode termudah adalah menambahkan layanan atau port yang Anda butuhkan ke zona yang Anda gunakan. Sekali lagi, Anda bisa mendapatkan daftar layanan yang tersedia dengan opsi --get-services:firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
Anda bisa mendapatkan rincian lebih lanjut tentang masing-masing layanan ini dengan melihat file .xml terkait mereka dalam direktori 1/usr/lib/firewalld/services. Misalnya, layanan SSH didefinisikan seperti ini:
Isi berkas /usr/lib/firewalld/services/ssh.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>
Anda dapat mengaktifkan layanan untuk zona menggunakan parameter --add-service=. Operasi akan menargetkan zona default atau zona apa pun yang ditentukan oleh parameter --zone=. Secara default, ini hanya akan menyesuaikan sesi firewall saat ini. Anda dapat menyesuaikan konfigurasi firewall permanen dengan menyertakan flag --permanent.
Misalnya, jika kita menjalankan server web yang melayani lalu lintas HTTP konvensional, kita dapat mengizinkan lalu lintas ini untuk antarmuka di zona "publik" kita untuk sesi ini dengan mengetik:
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --list-services
dhcpv6-client http ssh
firewall-cmd --zone=public --permanent --add-service=http
success
firewall-cmd --zone=public --permanent --list-services
dhcpv6-client http ssh
firewall-cmd --zone=public --add-service=https
firewall-cmd --zone=public --permanent --add-service=https
Bagaimana Jika Tidak Ada Layanan Tepat yang Tersedia?
Layanan firewall yang disertakan dengan instalasi firewalld mewakili banyak persyaratan paling umum untuk aplikasi yang Anda mungkin ingin mengizinkan akses. Namun, kemungkinan akan ada skenario di mana layanan ini tidak sesuai dengan kebutuhan Anda.Dalam situasi ini, Anda memiliki dua opsi.
Membuka Port untuk Zona Anda
Cara termudah untuk menambahkan dukungan untuk aplikasi khusus Anda adalah dengan membuka port yang digunakannya di zona yang sesuai. Ini semudah menentukan rentang port atau port, dan protokol terkait untuk port yang perlu Anda buka.Sebagai contoh, jika aplikasi kita berjalan di port 5000 dan menggunakan TCP, kita bisa menambahkan ini ke zona "publik" untuk sesi ini menggunakan parameter --add-port=. Protokol dapat berupa tcp atau udp:
firewall-cmd --zone=public --add-port=5000/tcp
firewall-cmd --zone=public --list-ports
5000/tcp
firewall-cmd --zone=public --add-port=4990-4999/udp
firewall-cmd --zone=public --permanent --add-port=5000/tcp
firewall-cmd --zone=public --permanent --add-port=4990-4999/udp
firewall-cmd --zone=public --permanent --list-ports
success
success
5000/tcp 4990-4999/udp
Mendefinisikan Layanan
Membuka port untuk zona Anda mudah, tetapi bisa sulit untuk melacak apa yang masing-masing untuk. Jika Anda pernah menonaktifkan layanan di server Anda, Anda mungkin akan kesulitan mengingat port mana yang telah dibuka masih diperlukan. Untuk menghindari situasi ini, dimungkinkan untuk menentukan layanan.Layanan hanyalah koleksi port dengan nama dan deskripsi terkait. Menggunakan layanan lebih mudah untuk dikelola daripada port, tetapi membutuhkan sedikit pekerjaan dimuka. Cara termudah untuk memulai adalah menyalin skrip yang ada (ditemukan di /usr/lib/firewalld/services) ke direktori /etc/firewalld/services tempat firewall mencari definisi non-standar.
Sebagai contoh, kita dapat menyalin definisi layanan SSH yang akan digunakan untuk definisi layanan "contoh" kita seperti ini. Nama file dikurangi sufiks .xml akan menentukan nama layanan dalam daftar layanan firewall:
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml
vi /etc/firewalld/services/example.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>
Mayoritas definisi ini sebenarnya adalah metadata. Anda akan ingin mengubah nama pendek untuk layanan dalam tag <short>. Ini adalah nama yang dapat dibaca manusia untuk layanan Anda. Anda juga harus menambahkan deskripsi sehingga Anda memiliki informasi lebih lanjut jika Anda perlu mengaudit layanan. Satu-satunya konfigurasi yang perlu Anda buat yang benar-benar memengaruhi fungsi layanan mungkin akan menjadi definisi port tempat Anda mengidentifikasi nomor port dan protokol yang ingin Anda buka. Ini dapat ditentukan beberapa kali.
Untuk layanan "contoh" kita, bayangkan bahwa kita perlu membuka port 7777 untuk TCP dan 8888 untuk UDP. Dengan memasuki mode INSERT dengan menekan i, kita dapat memodifikasi definisi yang ada dengan sesuatu seperti ini:
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Example Service</short>
<description>This is just an example service. It probably shouldn't be used on a real system.</description>
<port protocol="tcp" port="7777"/>
<port protocol="udp" port="8888"/>
</service>
Tekan ESC, lalu masukkan :x untuk menyimpan dan menutup file.
Muat ulang firewall Anda untuk mendapatkan akses ke layanan baru Anda:
firewall-cmd --reload
firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch example freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server
Menciptakan Zona Anda Sendiri
Sementara zona yang telah ditetapkan mungkin akan lebih dari cukup untuk sebagian besar pengguna, akan sangat membantu untuk menentukan zona Anda sendiri yang lebih deskriptif fungsi mereka.Misalnya, Anda mungkin ingin membuat zona untuk server web Anda, yang disebut "publicweb". Namun, Anda mungkin ingin memiliki zona lain yang dikonfigurasi untuk layanan DNS yang Anda berikan di jaringan pribadi Anda. Anda mungkin menginginkan sebuah zona yang disebut "privateDNS" untuk itu.
Saat menambahkan zona, Anda harus menambahkannya ke konfigurasi firewall permanen. Anda kemudian dapat memuat ulang untuk membawa konfigurasi ke sesi berlari Anda. Misalnya, kita bisa membuat dua zona yang kita diskusikan di atas dengan mengetik:
firewall-cmd --permanent --new-zone=publicweb
firewall-cmd --permanent --new-zone=privateDNS
firewall-cmd --permanent --get-zones
block dmz drop external home internal privateDNS public publicweb trusted work
firewall-cmd --get-zones
block dmz drop external home internal public trusted work
firewall-cmd --reload
firewall-cmd --get-zones
block dmz drop external home internal privateDNS public publicweb trusted work
firewall-cmd --zone=publicweb --add-service=ssh
firewall-cmd --zone=publicweb --add-service=http
firewall-cmd --zone=publicweb --add-service=https
firewall-cmd --zone=publicweb --list-all
publicweb
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
firewall-cmd --zone=privateDNS --add-service=dns
firewall-cmd --zone=privateDNS --list-all
privateDNS
interfaces:
sources:
services: dns
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
firewall-cmd --zone=publicweb --change-interface=eth0
firewall-cmd --zone=privateDNS --change-interface=eth1
firewall-cmd --zone=publicweb --permanent --add-service=ssh
firewall-cmd --zone=publicweb --permanent --add-service=http
firewall-cmd --zone=publicweb --permanent --add-service=https
firewall-cmd --zone=privateDNS --permanent --add-service=dns
systemctl restart network
systemctl reload firewalld
firewall-cmd --get-active-zones
privateDNS
interfaces: eth1
publicweb
interfaces: eth0
firewall-cmd --zone=publicweb --list-services
http https ssh
firewall-cmd --zone=privateDNS --list-services
dns
firewall-cmd --set-default-zone=publicweb
Conclusion
Anda sekarang harus memiliki pemahaman yang cukup baik tentang cara mengelola layanan firewall pada sistem CentOS Anda untuk penggunaan sehari-hari.Layanan firewall memungkinkan Anda untuk mengonfigurasi aturan yang dapat dipertahankan dan kumpulan aturan yang mempertimbangkan lingkungan jaringan Anda. Hal ini memungkinkan Anda untuk transisi mulus antara kebijakan firewall yang berbeda melalui penggunaan zona dan memberi administrator kemampuan untuk mengabstrakkan manajemen port ke dalam definisi layanan yang lebih ramah. Memperoleh pengetahuan kerja dari sistem ini akan memungkinkan Anda untuk memanfaatkan fleksibilitas dan kekuatan yang disediakan alat ini.
SUMBER DOC ©:
1. How To Set Up a Firewall Using FirewallD on CentOS 7 (bahasa inggris)
2. Introduction to FirewallD on CentOS (bahasa inggris)
No comments