Einführung
CSF ist eine Stateful Packet Inspection (SPI) Firewall, Login/Intrusion Detection und Sicherheitsanwendung für Linux-Server.
Es besteht aus der Firewall selbst (CSF), die umfassend, unkompliziert, einfach und flexibel zu konfigurieren ist.
Es hat auch einen Login Failure Daemon (LFD), der CSF perfekt ergänzt. Dieses LFD wird ständig ausgeführt und scannt regelmäßig (alle X Sekunden) die neuesten Protokolldateieinträge auf Anmeldeversuche auf Ihrem Server, die innerhalb kurzer Zeit kontinuierlich fehlschlagen. Solche Versuche werden oft als „Brute-Force-Angriffe“ bezeichnet und der Daemon-Prozess reagiert sehr schnell auf solche Muster und blockiert schnell anstößige IPs
CSF unter CentOS 8 installieren
Wie erwartet ist CSF in den offiziellen CentOS-Repositories nicht verfügbar. Es ist jedoch möglich, es zu installieren, da es stark mit Perl verknüpft ist und diese Sprache von CentOS 8 unterstützt wird.
Öffnen Sie also eine Terminalsitzung und aktualisieren Sie CentOS 8
sudo dnf install
Installieren Sie am Ende das Perl elementare Module und andere Tools, die wir später verwenden werden, wie vim
sudo dnf install @perl curl tar vim
Am Ende der Installation müssen Sie weitere zusätzliche Perl-Module auf CentOS 8 installieren
sudo dnf install perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch perl-GDGraph
Sie können die Installation von Perl überprüfen, indem Sie den folgenden Befehl ausführen:
[root@unixcop ~]# perl -v
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi
(with 55 registered patches, see perl -V for more detail)
Copyright 1987-2018, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
[root@unixcop ~]#
Jetzt können Sie CSF mit dem Curl-Befehl herunterladen
[root@unixcop ~]# curl -O https://download.configserver.com/csf.tgz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2244k 100 2244k 0 0 655k 0 0:00:03 0:00:03 --:--:-- 655k
[root@unixcop ~]#
Wie Sie sehen können, ist es ziemlich leicht. Jetzt entpacken.
tar xvfz csf.tgz
Greifen Sie also auf den generierten Ordner zu und führen Sie darin das Installationsskript namens install aus .sh
cd csf
sudo sh install.sh
Dadurch wird der Installationsvorgang gestartet und die Standardkonfiguration angewendet.
Konfigurieren von CSF auf CentOS 8
Wenn CFS installiert ist, wendet es einige sehr gute Standardeinstellungen an, aber jeder von uns muss etwas Feinabstimmung vornehmen.
Die Datei ist /etc/csf/csf.conf die vor der Bearbeitung sicherheitshalber gesichert werden sollten.
sudo vim /etc/csf/csf.conf
Und in dieser Datei finden Sie viele sehr gut dokumentierte Parameter. Und einer der wichtigsten Abschnitte ist derjenige, der die offenen Ports für eingehende und ausgehende Verbindungen auflistet.
In derselben Datei können Sie CSF aktivieren oder deaktivieren, indem Sie den folgenden Wert ändern:
TESTING = "1"
Für
TESTING = "0"
Damit signalisieren Sie dem Programm, dass es startbereit ist.
Speichern Sie die Änderungen und schließen Sie die Datei.
Jetzt können Sie den CSF-Dienst starten.
sudo systemctl enable --now csf
Es ist auch ratsam, den Status des Dienstes zu überprüfen, um festzustellen, ob er ordnungsgemäß ausgeführt wird.
[root@unixcop csf]# sudo systemctl enable --now csf
[root@unixcop csf]# sudo systemctl status csf
● csf.service - ConfigServer Firewall & Security - csf
Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled)
Active: active (exited) since Mon 2021-07-26 17:43:04 EET; 17s ago
Process: 20176 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
Main PID: 20176 (code=exited, status=0/SUCCESS)
Jul 26 17:43:03 unixcop csf[20176]: ACCEPT all opt in * out lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOGDROPOUT all opt in * out !lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOGDROPIN all opt in !lo out * ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: csf: FASTSTART loading DNS (IPv4)
Jul 26 17:43:03 unixcop csf[20176]: csf: FASTSTART loading DNS (IPv6)
Jul 26 17:43:03 unixcop csf[20176]: LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALOUTPUT all opt in * out !lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALINPUT all opt in !lo out * ::/0 -> ::/0
Jul 26 17:43:04 unixcop systemd[1]: Started ConfigServer Firewall & Security - csf.
[root@unixcop csf]#
Sie können auch die Ports überprüfen, die geöffnet sind, wenn CSF ausgeführt wird.
[root@unixcop csf]# sudo csf -p
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 (910/root) /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
323/udp -/- - (853/chrony) /usr/sbin/chronyd /usr/sbin/chronyd
[root@unixcop csf]#
Benutzeroberfläche in der CSF-Firewall auf CentOS aktivieren
CSF Firewall wird mit einer eigenständigen Benutzeroberfläche geliefert. Dies ist standardmäßig deaktiviert. Installieren Sie unter CentOS die folgenden Anforderungen:yum install perl-IO-Socket-SSL perl-Net-SSLeay perl-Net-LibIDN perl-IO-Socket-INET6 perl-Socket6
yum install perl-IO-Socket-SSL perl-Net-SSLeay perl-Net-LibIDN perl-IO-Socket-INET6 perl-Socket
CSF-Konfigurationsdatei bearbeiten
vim /etc/csf/csf.conf
Ersetzen Sie UI =„0“ mit UI =„1“
Ändern Sie die folgenden Einstellungen nach Bedarf.
UI_PORT = "6666"
UI_USER = "username"
UI_PASS = "password"
Standardmäßig können nur IPs auf der weißen Liste auf die Benutzeroberfläche zugreifen, um Ihre IP auf die weiße Liste zu setzen, führen Sie sie aus
echo "YOUR_IP_ADDR" >> /etc/csf/ui/ui.allow
Wenn Sie die CSF-Benutzeroberfläche von allen IP-Adressen zulassen möchten, setzen Sie UI_ALLOW in csf.conf
auf 0UI_ALLOW = "0"
CSF verwendet ein selbstsigniertes SSL, wenn Sie ein SSL-Zertifikat haben, können Sie es verwenden. Das SSL-Zertifikat ist im Ordner
verfügbar/etc/csf/ui/
Um das kostenlose LetsEncrypt-SSL-Zertifikat für die CSF-Benutzeroberfläche zu verwenden, setze ich Symlink auf SSL-Zertifikat.
cd /etc/csf/ui
mv server.key server.key.old
mv server.crt server.crt.old
ln -s /etc/letsencrypt/live/DOMAIN/fullchain.pem server.crt
ln -s /etc/letsencrypt/live/DOMAIN/privkey.pem server.key
Starten Sie nun CSF und LDF neu
systemctl restart lfd
systemctl restart csf
Dies fordert zuerst zur Benutzerauthentifizierung auf. Nach erfolgreicher Anmeldung sehen Sie den folgenden Bildschirm.
Schlussfolgerung
Sie haben also gelernt, wie Sie die Config Server Firewall unter CentOS 8 installieren. Wie Sie feststellen können, ist der Vorgang nicht komplex, erfordert jedoch einige zusätzliche Schritte, um den Vorgang abzuschließen.