CSF, juga disebut “Config Server Firewall”, adalah firewall Stateful Packet Inspection (SPI) untuk sistem operasi Linux. Ini menyediakan fungsionalitas firewall dasar serta fitur keamanan lainnya, termasuk login, intrusi, dan deteksi banjir. Anda juga dapat mengintegrasikan CSF dengan DirectAdmin, cPanel, dan Webmin. Dengan menggunakan CSF, Anda dapat mendeteksi berbagai jenis serangan seperti pemindaian port, SYN flooding, dan serangan brute force login di banyak layanan.
Dalam posting ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi firewall CSF di Rocky Linux 8.
Prasyarat
- Server yang menjalankan Rocky Linux 8 di Atlantic.Net Cloud Platform
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Rocky Linux 8 sebagai sistem operasi dengan RAM minimal 2GB. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Instal CSF di Rocky Linux 8
CSF ditulis dalam Perl, jadi Anda perlu menginstal semua modul Perl yang diperlukan ke sistem Anda. Anda dapat menginstal semuanya dengan perintah berikut:
dnf install @perl perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch -y
Setelah menginstal semua modul yang diperlukan, unduh versi terbaru CSF menggunakan perintah berikut:
wget https://download.configserver.com/csf.tgz
Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar xzf csf.tgz
Selanjutnya, navigasikan ke direktori yang diekstrak dan instal CSF dengan perintah berikut:
cd csf sh install.sh
Setelah CSF diinstal, Anda akan mendapatkan output berikut:
Don't forget to: 1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_* 2. Restart csf and lfd 3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so Adding current SSH session IP address to the csf whitelist in csf.allow: Adding 27.61.171.115 to csf.allow only while in TESTING mode (not iptables ACCEPT) *WARNING* TESTING mode is enabled - do not forget to disable it in the configuration 'lfd.service' -> '/usr/lib/systemd/system/lfd.service' 'csf.service' -> '/usr/lib/systemd/system/csf.service' Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /usr/lib/systemd/system/csf.service. Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /usr/lib/systemd/system/lfd.service. Created symlink /etc/systemd/system/firewalld.service → /dev/null. '/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz' Installation Completed
Selanjutnya, verifikasi bahwa semua modul iptables yang diperlukan telah tersedia.
perl /usr/local/csf/bin/csftest.pl
Jika semuanya sudah diatur dengan benar, Anda akan mendapatkan output berikut:
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
Anda sekarang dapat memeriksa versi CSF menggunakan perintah berikut:
csf -v
Anda akan mendapatkan output berikut:
csf: v14.12 (generic) *WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
Langkah 3 – Konfigurasikan CSF
nano /etc/csf/csf.conf
Ubah TESTING =“1” menjadi TESTING =“0” dan tambahkan port masuk dan keluar yang diizinkan sesuai kebutuhan Anda:
# lfd will not start while this is enabled TESTING = "0" # Allow incoming TCP ports TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995" # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
Simpan dan tutup file setelah Anda selesai, lalu mulai dan aktifkan layanan CSF dan LFD:
systemctl start csf lfd systemctl enable csf lfd
Anda dapat memeriksa status CSF dengan perintah berikut:
systemctl status csf
Anda akan melihat output berikut:
● csf.service - ConfigServer Firewall & Security - csf Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled) Active: active (exited) since Wed 2021-11-17 08:41:05 UTC; 3s ago Process: 13236 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS) Main PID: 13236 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 11411) Memory: 0B CGroup: /system.slice/csf.service Nov 17 08:41:05 rockylinux csf[13236]: ACCEPT all opt in * out lo ::/0 -> ::/0 Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPOUT all opt in * out !lo ::/0 -> ::/0 Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPIN all opt in !lo out * ::/0 -> ::/0 Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv4) Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv6) Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0 Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT all opt in * out !lo ::/0 -> ::/0 Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT all opt in !lo out * ::/0 -> ::/0 Nov 17 08:41:05 rockylinux systemd[1]: Started ConfigServer Firewall & Security - csf.
Anda juga dapat memeriksa port yang terbuka saat CSF berjalan menggunakan perintah berikut:
csf -p
Contoh keluaran:
Ports listening for external connections and the executables running behind them: Port/Proto Open Conn PID/User Command Line Executable 22/tcp 4/6 1 (709/root) /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd 80/tcp 4/6 - (8954/root) /usr/sbin/httpd -DFOREGROUND /usr/sbin/httpd 80/tcp 4/6 - (8957/apache) /usr/sbin/httpd -DFOREGROUND /usr/sbin/httpd 80/tcp 4/6 - (8958/apache) /usr/sbin/httpd -DFOREGROUND /usr/sbin/httpd 80/tcp 4/6 - (8959/apache) /usr/sbin/httpd -DFOREGROUND /usr/sbin/httpd 80/tcp 4/6 - (9172/apache) /usr/sbin/httpd -DFOREGROUND /usr/sbin/httpd 323/udp -/- - (552/chrony) /usr/sbin/chronyd /usr/sbin/chronyd
Langkah 4 – Cara Menggunakan CSF
Untuk menghapus semua aturan CSF, jalankan perintah berikut:
csf -f
Untuk memuat ulang firewall CSF, jalankan perintah berikut:
csf -r
Untuk mengizinkan koneksi masuk dari IP tertentu, jalankan perintah berikut:
csf -a remote-ip-address
Untuk menolak koneksi dari IP tertentu, jalankan perintah berikut:
csf -d remote-ip-address
Anda juga dapat mengedit csf.deny dan csf.allow file untuk menentukan daftar IP yang diizinkan dan ditolak di firewall.
Langkah 5 – Aktifkan UI CSF
CSF juga menyediakan antarmuka berbasis web untuk mengelola firewall. Ini dinonaktifkan secara default.
Sebelum mengaktifkan CSF UI, instal modul yang diperlukan dengan perintah berikut:
dnf install perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-INET6 perl-Socket -y
Selanjutnya, edit file konfigurasi CSF:
nano /etc/csf/csf.conf
Aktifkan UI, tentukan port pendengar, dan atur nama pengguna dan kata sandi admin seperti yang ditunjukkan di bawah ini:
# 1 to enable, 0 to disable web ui UI = "1" # Set port for web UI. The default port is 6666, but # I change this to 1025 to easy access. Default port create some issue # with popular chrome and firefox browser (in my case) UI_PORT = "8080" # Leave blank to bind to all IP addresses on the server UI_IP = "" # Set username for authetnication UI_USER = "admin" # Set a strong password for authetnication UI_PASS = "securepassword" UI_ALLOW = "0"
Simpan dan tutup file kemudian restart layanan CSF dan LFD untuk menerapkan perubahan:
systemctl restart lfd systemctl restart csf
Langkah 6 – Akses UI CSF
Sekarang, buka browser web Anda dan akses UI CSF menggunakan URL https://your-server-ip:8080 . Anda akan melihat halaman login CSF:
Berikan nama pengguna dan kata sandi admin Anda dan klik Masuk tombol. Anda akan melihat antarmuka web CSF pada layar berikut:
Langkah 7 – Hapus Firewall CSF
Jika Anda ingin menghapus firewall CSF sepenuhnya dari server Anda, jalankan saja skrip berikut:
bash /etc/csf/uninstall.sh
Tindakan ini akan menghapus firewall CSF dengan semua file, direktori, dan aturan yang dibuat oleh CSF.
Kesimpulan
Dalam panduan di atas, kami menjelaskan cara menginstal CSF dan CSF UI di Rocky Linux 8. Kami juga menjelaskan cara memblokir dan membuka blokir alamat IP tertentu dengan CSF. Anda sekarang dapat mengimplementasikan CSF di server Anda dan mengamankannya dari berbagai jenis serangan. Cobalah di VPS Anda dari Atlantic.Net!