GNU/Linux >> Belajar Linux >  >> Linux

Cara Install Config Server Firewall (CSF) di Rocky Linux 8

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!


Linux
  1. Cara Menginstal Config Server Firewall (CSF) di Debian 11

  2. Cara Memasang dan Mengonfigurasi Firewall CSF di Linux

  3. Cara Menginstal Python 3.10 di Rocky Linux 8

  1. Cara Menginstal RockyLinux 8.4

  2. Bagaimana cara menginstal ConfigServer Firewall di VPS Linux?

  3. Cara Menginstal Virtualisasi Server Linux

  1. Cara Menginstal Server Redis di Rocky Linux

  2. Cara menginstal Mattermost Server di Rocky Linux 8

  3. Cara Menginstal dan Mengkonfigurasi CSF (Config Server Firewall) di CentOS 7