GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie CSF (Config Server Firewall) unter CentOS 7

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.


Cent OS
  1. So installieren und konfigurieren Sie VNC unter CentOS 7

  2. So installieren und konfigurieren Sie einen NFS-Server unter CentOS 8

  3. So installieren und konfigurieren Sie Gitlab unter CentOS 8

  4. Installieren und konfigurieren Sie CSF (Config Server Firewall) unter Ubuntu 20.04 LTS

  5. So installieren und konfigurieren Sie Postgres 13 auf Centos 8

So installieren und konfigurieren Sie CSF (Config Server Firewall) unter Ubuntu 20.04 LTS

So installieren und konfigurieren Sie den DHCP-Server auf Centos 8

So installieren Sie die Config Server Firewall (CSF) unter Debian 11

So installieren Sie CSF (Config Server Firewall) unter CentOS 8

So installieren und konfigurieren Sie Sandstorm Server unter CentOS 8

So installieren und konfigurieren Sie VNC Server unter CentOS/RHEL 8