Konfigurasi Firewall di Centos 7 | Administrasi Keamanan Jaringan
Daftar Isi:
- Prasyarat
- Konsep Dasar Firewalld
- Zona Firewalld
- Layanan firewall
- Pengaturan Runtime dan Permanen Firewalld
- Menginstal dan Mengaktifkan FirewallD
- Bekerja dengan Firewalld Zone
- Mengubah Zona Antarmuka
- Mengubah Zona Default
- Membuka Port atau Layanan
- Membuat Layanan FirewallD baru
- Meneruskan Port dengan Firewalld
- Membuat Ruleset dengan FirewallD
- Kesimpulan
Firewall yang dikonfigurasi dengan benar adalah salah satu aspek terpenting dari keamanan sistem secara keseluruhan.
FirewallD adalah solusi firewall lengkap yang mengelola aturan iptables sistem dan menyediakan antarmuka D-Bus untuk mengoperasikannya. Dimulai dengan CentOS 7, FirewallD menggantikan iptables sebagai alat manajemen firewall default.
Dalam tutorial ini, kami menunjukkan kepada Anda cara mengatur firewall dengan FirewallD pada sistem CentOS 7 Anda dan menjelaskan kepada Anda konsep dasar FirewallD.
Prasyarat
Sebelum Anda mulai dengan tutorial ini, pastikan Anda masuk ke server Anda dengan akun pengguna dengan hak sudo atau dengan pengguna root. Praktik terbaik adalah menjalankan perintah administratif sebagai pengguna sudo alih-alih root. Jika Anda tidak memiliki pengguna sudo di sistem CentOS Anda, Anda dapat membuatnya dengan mengikuti instruksi ini.
Konsep Dasar Firewalld
FirewallD menggunakan konsep zona dan layanan, alih-alih rantai dan aturan iptables. Berdasarkan zona dan layanan yang akan Anda konfigurasi, Anda dapat mengontrol lalu lintas apa yang diizinkan atau tidak diizinkan ke dan dari sistem.
FirewallD dapat dikonfigurasi dan dikelola menggunakan utilitas baris perintah
firewall-cmd
.
Zona Firewalld
Zona adalah seperangkat aturan yang ditentukan yang menentukan lalu lintas apa yang harus diizinkan berdasarkan tingkat kepercayaan pada jaringan yang terhubung dengan komputer Anda. Anda dapat menetapkan antarmuka dan sumber jaringan ke zona.
Berikut adalah zona yang disediakan oleh FirewallD yang dipesan sesuai dengan tingkat kepercayaan zona dari tidak dipercaya menjadi tepercaya:
- drop: Semua koneksi yang masuk terputus tanpa pemberitahuan. Hanya koneksi keluar yang diizinkan. blok: Semua koneksi yang masuk ditolak dengan pesan
icmp-host-prohibited
untukIPv4
danicmp6-adm-prohibited
untuk IPv6n. Hanya koneksi keluar yang diizinkan. publik: Untuk digunakan di area publik yang tidak terpercaya. Anda tidak mempercayai komputer lain di jaringan, tetapi Anda dapat mengizinkan koneksi masuk yang dipilih. eksternal: Untuk digunakan pada jaringan eksternal dengan penyamaran NAT diaktifkan ketika sistem Anda bertindak sebagai gateway atau router. Hanya koneksi masuk terpilih yang diizinkan. internal: Untuk digunakan pada jaringan internal ketika sistem Anda bertindak sebagai gateway atau router. Sistem lain pada jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan. dmz: Digunakan untuk komputer yang terletak di zona demiliterisasi Anda yang memiliki akses terbatas ke seluruh jaringan Anda. Hanya koneksi masuk terpilih yang diizinkan. kerja: Digunakan untuk mesin kerja. Komputer lain di jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan. rumah: Digunakan untuk mesin rumah. Komputer lain di jaringan umumnya dipercaya. Hanya koneksi masuk terpilih yang diizinkan. tepercaya: Semua koneksi jaringan diterima. Percayai semua komputer di jaringan.
Layanan firewall
Layanan Firewalld adalah aturan yang telah ditentukan yang berlaku dalam suatu zona dan menentukan pengaturan yang diperlukan untuk memungkinkan lalu lintas masuk untuk layanan tertentu.
Pengaturan Runtime dan Permanen Firewalld
Firewalld menggunakan dua set konfigurasi yang terpisah, runtime, dan konfigurasi permanen.
Konfigurasi runtime adalah konfigurasi yang sedang berjalan, dan tidak persisten saat reboot. Ketika layanan Firewalld dimulai, ia memuat konfigurasi permanen, yang menjadi konfigurasi runtime.
Secara default, ketika membuat perubahan pada konfigurasi Firewalld menggunakan utilitas
firewall-cmd
, perubahan diterapkan pada konfigurasi runtime. Untuk membuat perubahan permanen, Anda perlu menggunakan opsi
--permanent
.
Menginstal dan Mengaktifkan FirewallD
-
Firewalld diinstal secara default pada CentOS 7, tetapi jika tidak diinstal pada sistem Anda, Anda dapat menginstal paket dengan mengetik:
sudo yum install firewalld
Layanan Firewalld dinonaktifkan secara default. Anda dapat memeriksa status firewall dengan:
sudo firewall-cmd --state
Untuk memulai layanan FirewallD dan mengaktifkannya pada tipe boot:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Bekerja dengan Firewalld Zone
Setelah mengaktifkan layanan FirewallD untuk pertama kalinya, zona
public
ditetapkan sebagai zona default. Anda dapat melihat zona default dengan mengetik:
sudo firewall-cmd --get-default-zone
public
Untuk mendapatkan daftar semua zona yang tersedia, ketik:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Secara default, semua antarmuka jaringan diberikan zona default. Untuk memeriksa zona apa yang digunakan oleh antarmuka jaringan Anda, ketik:
sudo firewall-cmd --get-active-zones
public interfaces: eth0 eth1
Output di atas memberitahu kita bahwa kedua antarmuka
eth0
dan
eth1
ditugaskan ke zona publik.
Anda dapat mencetak pengaturan konfigurasi zona 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 bahwa zona publik aktif dan ditetapkan sebagai default, digunakan oleh antarmuka
eth0
dan
eth1
. Juga, koneksi yang terkait dengan klien DHCP dan SSH diizinkan.
sudo firewall-cmd --list-all-zones
Perintah mencetak daftar besar dengan pengaturan semua zona yang tersedia.
Mengubah Zona Antarmuka
Anda dapat dengan mudah mengubah Zona Antarmuka dengan menggunakan opsi
--zone
menggunakan dalam kombinasi dengan opsi
--zone
--change-interface
. Perintah berikut akan menetapkan antarmuka
eth1
ke zona kerja:
sudo firewall-cmd --zone=work --change-interface=eth1
Verifikasi perubahan dengan mengetik:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Mengubah Zona Default
Untuk mengubah zona default, gunakan opsi
--set-default-zone
diikuti oleh nama zona yang ingin Anda jadikan default.
Misalnya, untuk mengubah zona default ke rumah, Anda harus menjalankan perintah berikut:
sudo firewall-cmd --set-default-zone=home
Verifikasi perubahan dengan:
sudo firewall-cmd --get-default-zone
Membuka Port atau Layanan
Dengan FirewallD Anda dapat mengizinkan lalu lintas untuk port tertentu berdasarkan aturan yang telah ditentukan yang disebut layanan.
Untuk mendapatkan daftar semua layanan standar yang tersedia ketik:
sudo firewall-cmd --get-services
Anda dapat menemukan informasi lebih lanjut tentang setiap layanan dengan membuka file.xml terkait di
/usr/lib/firewalld/services
. Misalnya, layanan HTTP didefinisikan 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 mengizinkan lalu lintas HTTP masuk (port 80) untuk antarmuka di zona publik, hanya untuk sesi saat ini (konfigurasi runtime) ketik:
sudo firewall-cmd --zone=public --add-service=http
Jika Anda memodifikasi zona default, Anda dapat meninggalkan opsi
--zone
.
Untuk memverifikasi bahwa layanan telah ditambahkan dengan sukses, gunakan opsi
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
sudo firewall-cmd --permanent --zone=public --add-service=http
Gunakan
--list-services
bersama dengan opsi
--permanent
untuk memverifikasi perubahan Anda:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
Sintaks untuk menghapus layanan sama dengan ketika menambahkan layanan. Cukup gunakan
--remove-service
daripada
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
Perintah di atas menghapus layanan http dari konfigurasi permanen zona publik.
Bagaimana jika Anda menjalankan aplikasi seperti Plex Media Server yang tidak tersedia layanan yang sesuai?
Dalam situasi seperti ini, Anda memiliki dua opsi. Anda dapat membuka port yang sesuai atau mendefinisikan layanan FirewallD baru.
Misalnya, Server Plex mendengarkan pada port 32400 dan menggunakan TCP, untuk membuka port di zona publik untuk sesi saat ini menggunakan opsi
--add-port=
:
sudo firewall-cmd --zone=public --add-port=32400/tcp
Protokol dapat berupa
tcp
atau
udp
.
Untuk memverifikasi bahwa port telah ditambahkan dengan sukses, gunakan opsi
--list-ports
:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
Agar port
32400
terbuka setelah reboot, tambahkan aturan ke pengaturan permanen dengan menjalankan perintah yang sama menggunakan opsi
--permanent
.
Sintaks untuk menghapus port sama dengan ketika menambahkan port. Cukup gunakan
--remove-port
alih
--remove-port
alih opsi
--add-port
.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
Membuat Layanan FirewallD baru
Seperti yang telah kami sebutkan, layanan default disimpan di
/usr/lib/firewalld/services
. Cara termudah untuk membuat layanan baru adalah menyalin file layanan yang ada ke direktori
/etc/firewalld/services
, yang merupakan lokasi untuk layanan yang dibuat pengguna dan mengubah pengaturan file.
Misalnya, untuk membuat definisi layanan untuk Server Media Plex kita dapat menggunakan file layanan SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Buka file
plexmediaserver.xml
baru dibuat dan ubah nama pendek dan deskripsi untuk layanan di dalamnya
port
, yang menentukan nomor port dan protokol yang ingin Anda buka.
Dalam contoh berikut, kami membuka port
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 file dan muat ulang layanan FirewallD:
sudo firewall-cmd --reload
Anda sekarang dapat menggunakan layanan
plexmediaserver
di zona Anda sama dengan layanan lainnya..
Meneruskan Port dengan Firewalld
Untuk meneruskan lalu lintas dari satu port ke port atau alamat lain, pertama-tama aktifkan penyamaran untuk zona yang diinginkan menggunakan
--add-masquerade
. Misalnya untuk mengaktifkan penyamaran untuk tipe zona
external
:
sudo firewall-cmd --zone=external --add-masquerade
- Meneruskan lalu lintas dari satu port ke port lainnya di server yang sama
Dalam contoh berikut ini, kami meneruskan lalu lintas dari port
80
ke port
8080
di server yang sama:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- Teruskan lalu lintas ke server lain
Dalam contoh berikut ini, kami meneruskan lalu lintas dari port
80
ke port
80
di server dengan IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
- Meneruskan lalu lintas ke server lain di port yang berbeda
Dalam contoh berikut ini kami meneruskan lalu lintas dari port
80
ke port
8080
pada server 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
Membuat Ruleset dengan FirewallD
Dalam contoh berikut, kami akan menunjukkan cara mengkonfigurasi firewall Anda jika Anda menjalankan server web. Kami mengasumsikan server Anda hanya memiliki satu antarmuka
eth0
, dan Anda ingin mengizinkan lalu lintas masuk hanya pada port SSH, HTTP, dan
-
Ubah zona default ke dmz
Kami akan menggunakan zona dmz (demiliterisasi) karena secara default hanya mengizinkan lalu lintas SSH. Untuk mengubah zona default ke dmz dan menetapkannya ke antarmuka
eth0
, jalankan perintah berikut:sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
Buka port HTTP dan
Untuk membuka port HTTP dan HTTPS tambahkan aturan layanan permanen ke zona dmz:
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
Buat perubahan efektif segera dengan memuat ulang firewall:
sudo firewall-cmd --reload
Verifikasi perubahan
Untuk memeriksa jenis pengaturan konfigurasi zona 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 bahwa dmz adalah zona default, diterapkan ke antarmuka
eth0
dan ssh (22) http (80) dan port https (443) terbuka.
Kesimpulan
Anda telah belajar cara mengonfigurasi dan mengelola layanan FirewallD pada sistem CentOS Anda.
Pastikan untuk mengizinkan semua koneksi yang masuk yang diperlukan untuk memfungsikan sistem Anda, sambil membatasi semua koneksi yang tidak perlu.
firewalld firewall iptables centos securityCara mengatur server ftp dengan vsftpd pada centos 7
Dalam tutorial ini kita akan menginstal vsftpd. Ini adalah server FTP yang stabil, aman dan cepat. Kami juga akan menunjukkan kepada Anda bagaimana mengkonfigurasi vsftpd untuk membatasi pengguna ke direktori home mereka dan mengenkripsi seluruh transmisi dengan SSL / TLS.
Cara mengatur firewall dengan ufw pada debian 9
UFW (Uncomplicated Firewall) adalah front-end yang mudah digunakan untuk mengelola aturan firewall iptables dan tujuan utamanya adalah membuat pengelolaan iptables lebih mudah atau seperti namanya tidak rumit. Dalam tutorial ini kami akan menunjukkan kepada Anda cara mengatur firewall dengan UFW pada Debian 9.
Cara menghentikan dan menonaktifkan firewalld pada centos 7
Dimulai dengan CentOS 7, FirewallD menggantikan iptables sebagai alat manajemen firewall default. Dalam tutorial ini kami akan menunjukkan kepada Anda cara menonaktifkan FirewallD pada sistem CentOS 7.