Server-Firewall / CSF konfigurieren ist eine Firewall-Anwendungssuite für Linux-Server. CSF ist auch eine Login/Intrusion Detection für Anwendungen wie SSH, SMTP, IMAP, Pop3, den „su“-Befehl und viele mehr. CSF kann z.B. erkennt, wenn sich jemand über SSH beim Server anmeldet, und alarmiert Sie, wenn dieser Benutzer versucht, den Befehl "su" auf dem Server zu verwenden, um höhere Berechtigungen zu erhalten. Es prüft auch auf Anmeldeauthentifizierungsfehler auf Mailservern (Exim, IMAP, Dovecot, uw-imap, Kerio), OpenSSH-Servern, Ftp-Servern (Pure-ftpd, vsftpd, Proftpd) und cPanel-Servern, um Software wie fail2ban zu ersetzen. CSF ist eine gute Sicherheitslösung zum Hosten von Servern und kann in die Benutzeroberfläche (UI) von WHM/cPanel, DirectAdmin und Webmin integriert werden.
Voraussetzungen
- CentOS 7 (mein Server verwendet die IP 192.168.1.101).
- Root-Rechte.
Was wir in diesem Tutorial tun werden:
- Installieren Sie die Abhängigkeiten für CSF.
- CSF installieren.
- CSF konfigurieren.
- Grundlegende CSF-Befehle.
- Erweiterte Konfiguration.
Schritt 1 - Installation von CFS-Abhängigkeiten
CSF basiert aufPerl, Sie müssen also zuerst Perl auf unserem Server installieren. Sie brauchen wget um das CSF-Installationsprogramm und vim herunterzuladen (oder einen Editor Ihrer Wahl) zum Bearbeiten der CSF-Konfigurationsdatei. Installieren Sie die Pakete mit dem Befehl yum:
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Schritt 2 - CSF installieren
Bitte gehen Sie zu "/usr/src/" Verzeichnis und laden Sie CSF mit dem Befehl wget herunter.
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Extrahieren Sie die tar.gz-Datei und gehen Sie in das csf-Verzeichnis, dann installieren Sie sie:
tar -xzf csf.tgz
cd csf
sh install.sh
Sie sollten am Ende die Information erhalten, dass die CSF-Installation abgeschlossen ist.
Jetzt sollten Sie überprüfen, ob CSG auf diesem Server wirklich funktioniert. Gehen Sie zu "/usr/local/csf/bin/" Verzeichnis und führen Sie "csftest.pl" aus .
cd /usr/local/csf/bin/
perl csftest.pl
Wenn Sie die Testergebnisse wie unten gezeigt sehen, dann läuft CSF ohne Probleme auf Ihrem Server:
RESULT: csf should function on this server
Schritt 3 – CSF auf CentOS 7 konfigurieren
Bevor Sie in den CSF-Konfigurationsprozess einsteigen, müssen Sie zunächst wissen, dass "CentOS 7" eine Standard-Firewall-Anwendung namens "firewalld". hat Sie müssen firewalld stoppen und aus dem Autostart entfernen.
Stoppen Sie die Firewalld:
systemctl stop firewalld
Firewalld aus dem Start deaktivieren/entfernen:
systemctl disable firewalld
Wechseln Sie dann zum CSF-Konfigurationsverzeichnis "/etc/csf/" und bearbeiten Sie die Datei "csf.conf" mit dem vim-Editor:
cd /etc/csf/
vim csf.conf
Ändern Sie Zeile 11 "TESTEN " auf "0" zum Anwenden der Firewall-Konfiguration.
TESTING = "0"
Standardmäßig erlaubt CSF eingehenden und ausgehenden Datenverkehr für den SSH-Standardport 22. Wenn Sie einen anderen SSH-Port verwenden, fügen Sie Ihren Port bitte zur Konfiguration in Zeile 139 hinzu "TCP_IN" .
Starten Sie nun CSF und LFD mit dem Befehl systemctl:
systemctl start csf
systemctl start lfd
Aktivieren Sie dann, dass die csf- und lfd-Dienste beim Booten gestartet werden:
systemctl enable csf
systemctl enable lfd
Jetzt können Sie die Liste der Standardregeln von CSF mit dem Befehl sehen:
csf -l
Schritt 4 - Grundlegende CSF-Befehle
1. Starten Sie die Firewall (aktivieren Sie die Firewall-Regeln):
csf -s
2. Löschen/Stoppen Sie die Firewall-Regeln.
csf -f
3. Laden Sie die Firewall-Regeln neu.
csf -r
4. Lassen Sie eine IP zu und fügen Sie sie zu csf.allow hinzu.
csf -a 192.168.1.109
Ergebnisse:
Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
5. Entfernen und löschen Sie eine IP aus csf.allow.
csf -ar 192.168.1.109
Ergebnisse:
Removing rule...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
6. IP verweigern und zu csf.deny hinzufügen:
csf -d 192.168.1.109
Ergebnisse:
Adding 192.168.1.109 to csf.deny and iptables DROP...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
7. Entfernen und löschen Sie eine IP aus csf.deny.
csf -dr 192.168.1.109
Ergebnisse:
Removing rule...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
8. Entfernen und entsperren Sie alle Einträge aus csf.deny.
csf -df
Ergebnisse:
DROP all opt -- in !lo out * 192.168.1.110 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.110
DROP all opt -- in !lo out * 192.168.1.111 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.111
csf: all entries removed from csf.deny
9. Suchen Sie nach einer Musterübereinstimmung auf iptables, z. B.:IP, CIDR, Portnummer
csf -g 192.168.1.110
Schritt 5 – Erweiterte Konfiguration
Hier sind einige Optimierungen für CSF, damit Sie es nach Bedarf konfigurieren können.
Kehren Sie zum csf-Konfigurationsverzeichnis zurück und bearbeiten Sie die Konfigurationsdatei csf.conf:
cd /etc/csf/
vim csf.conf
1. Blockieren Sie keine IP-Adressen, die in den csf.allow-Dateien enthalten sind.
Standardmäßig blockiert lfd auch eine IP unter csf.allow-Dateien. Wenn Sie also möchten, dass eine IP in csf.allow-Dateien niemals von lfd blockiert wird, gehen Sie bitte zu Zeile 272 und ändern Sie "IGNORE_ALLOW" zu "1" . Dies ist nützlich, wenn Sie zu Hause oder im Büro eine statische IP haben und sicherstellen möchten, dass Ihre IP niemals von der Firewall auf Ihrem Internetserver blockiert wird.
IGNORE_ALLOW = "1"
2. Eingehendes und ausgehendes ICMP zulassen.
Gehen Sie zu Zeile 152 für eingehendes Ping/ICMP:
ICMP_IN = "1"
Und Zeile 159 für ausgehendes Ping Ping/ICMP:
ICMP_OUT = "1"
3. Bestimmte Länder sperren
CSF bietet eine Option zum Zulassen und Verweigern des Zugriffs nach Land mithilfe des CIDR (Landesvorwahl). Wechseln Sie zu Zeile 836 und fügen Sie die Ländercodes hinzu, die zugelassen und verweigert werden sollen:
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
4. Senden Sie das Su- und SSH-Anmeldeprotokoll per E-Mail.
Sie können eine E-Mail-Adresse festlegen, die von LFD verwendet wird, um eine E-Mail über "SSH-Anmeldung" zu senden Ereignisse und Benutzer, die das "su" ausführen gehen Sie zur Zeile 1069 und ändern Sie den Wert auf "1".
LF_SSH_EMAIL_ALERT = "1"
...
LF_SU_EMAIL_ALERT = "1"
Und definieren Sie dann die E-Mail-Adresse, die Sie verwenden möchten, in Zeile 588 .
LF_ALERT_TO = "[email protected]"
Wenn Sie weitere Anpassungen wünschen, lesen Sie die Optionen in "/etc/csf/csf.conf" Konfigurationsdatei.
Schlussfolgerung
CSF ist eine anwendungsbasierte Firewall für iptables, die für Linux-Server bereitgestellt wird. CSF hat viele Funktionen und kann webbasierte Verwaltungstools wie cPanel / WHM, DirectAdmin und Webmin unterstützen. CSF ist einfach zu installieren und auf dem Server zu verwenden, erleichtert die Sicherheitsverwaltung für Systemadministratoren.