CSF, také nazývaný „Config Server Firewall,“ je firewall pro Stateful Packet Inspection (SPI) pro operační systémy Linux. Poskytuje základní funkce brány firewall a další bezpečnostní funkce, včetně přihlášení, narušení a detekce záplav. Můžete také integrovat CSF s DirectAdmin, cPanel a Webmin. Pomocí CSF můžete detekovat mnoho typů útoků, jako je skenování portů, záplavy SYN a útoky hrubou silou přihlášení na mnoho služeb.
V tomto příspěvku vám ukážeme, jak nainstalovat a nakonfigurovat CSF firewall na Rocky Linux 8.
Předpoklady
- Server se systémem Rocky Linux 8 na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Rocky Linux 8 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
dnf update -y
Krok 2 – Instalace CSF na Rocky Linux 8
CSF je napsán v Perlu, takže do systému budete muset nainstalovat všechny požadované moduly Perlu. Všechny je můžete nainstalovat pomocí následujícího příkazu:
dnf install @perl perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch -y
Po instalaci všech požadovaných modulů si stáhněte nejnovější verzi CSF pomocí následujícího příkazu:
wget https://download.configserver.com/csf.tgz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar xzf csf.tgz
Dále přejděte do extrahovaného adresáře a nainstalujte CSF pomocí následujícího příkazu:
cd csf sh install.sh
Jakmile je CSF nainstalován, získáte následující výstup:
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
Dále ověřte, že jsou k dispozici všechny požadované moduly iptables.
perl /usr/local/csf/bin/csftest.pl
Pokud je vše správně nastaveno, dostanete následující výstup:
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
Verzi CSF nyní můžete zkontrolovat pomocí následujícího příkazu:
csf -v
Získáte následující výstup:
csf: v14.12 (generic) *WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
Krok 3 – Konfigurace CSF
nano /etc/csf/csf.conf
Změňte TESTING =„1“ na TESTING =„0“ a přidejte povolené příchozí a odchozí porty podle vašich požadavků:
# 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"
Po dokončení uložte a zavřete soubor, poté spusťte a povolte služby CSF a LFD:
systemctl start csf lfd systemctl enable csf lfd
Stav CSF můžete zkontrolovat pomocí následujícího příkazu:
systemctl status csf
Měli byste vidět následující výstup:
● 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.
Můžete také zkontrolovat porty, které jsou otevřené, když je spuštěn CSF, pomocí následujícího příkazu:
csf -p
Ukázkový výstup:
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
Krok 4 – Jak používat CSF
Chcete-li vyprázdnit všechna pravidla CSF, spusťte následující příkaz:
csf -f
Chcete-li znovu načíst bránu firewall CSF, spusťte následující příkaz:
csf -r
Chcete-li povolit příchozí připojení z konkrétní adresy IP, spusťte následující příkaz:
csf -a remote-ip-address
Chcete-li odmítnout připojení z konkrétní adresy IP, spusťte následující příkaz:
csf -d remote-ip-address
Můžete také upravit soubor csf.deny a csf.allow k definování seznamu povolených a zakázaných IP adres na firewallu.
Krok 5 – Povolte uživatelské rozhraní CSF
CSF také poskytuje webové rozhraní pro správu firewallu. Ve výchozím nastavení je zakázáno.
Před povolením uživatelského rozhraní CSF nainstalujte požadované moduly pomocí následujícího příkazu:
dnf install perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-INET6 perl-Socket -y
Dále upravte konfigurační soubor CSF:
nano /etc/csf/csf.conf
Povolte uživatelské rozhraní, definujte naslouchací port a nastavte uživatelské jméno a heslo správce, jak je uvedeno níže:
# 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"
Uložte a zavřete soubor a poté restartujte službu CSF a LFD, abyste použili změny:
systemctl restart lfd systemctl restart csf
Krok 6 – Přístup k uživatelskému rozhraní CSF
Nyní otevřete webový prohlížeč a přejděte do uživatelského rozhraní CSF pomocí adresy URL https://ip-ip-vašeho-serveru:8080 . Měli byste vidět přihlašovací stránku CSF:
Zadejte své uživatelské jméno a heslo správce a klikněte na Přihlásit knoflík. Webové rozhraní CSF byste měli vidět na následující obrazovce:
Krok 7 – Odeberte bránu CSF Firewall
Pokud chcete CSF firewall zcela odstranit ze serveru, stačí spustit následující skript:
bash /etc/csf/uninstall.sh
Tím se odstraní firewall CSF se všemi soubory, adresáři a pravidly vytvořenými CSF.
Závěr
Ve výše uvedené příručce jsme vysvětlili, jak nainstalovat CSF a CSF UI na Rocky Linux 8. Vysvětlili jsme také, jak zakázat a odbanovat konkrétní IP adresy pomocí CSF. Nyní můžete implementovat CSF na svůj server a zabezpečit jej před různými typy útoků. Vyzkoušejte to na svém VPS od Atlantic.Net!