Server Setup · 12 min read · Oct 22, 2025

Der perfekte Server - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD und ISPConfig 3.1) - Seite 2

8. Installieren Sie Nginx, PHP5 (PHP-FPM) und Fcgiwrap

Nginx ist als Paket für Ubuntu verfügbar, das wir mit dem folgenden Befehl installieren können:

apt-get install nginx

Wenn Apache2 bereits auf dem System installiert ist, stoppen Sie es jetzt…

service apache2 stop

… und entfernen Sie die Systemstartlinks von Apache:

update-rc.d -f apache2 remove

Starten Sie danach nginx:

service nginx start

(Wenn sowohl Apache2 als auch nginx installiert sind, wird der ISPConfig 3-Installer Sie fragen, welchen Sie verwenden möchten - antworten Sie in diesem Fall mit nginx. Wenn nur einer von beiden installiert ist, wird ISPConfig die notwendige Konfiguration automatisch durchführen.)

Wir können PHP 7 in nginx über PHP-FPM zum Laufen bringen (PHP-FPM (FastCGI Process Manager) ist eine alternative PHP FastCGI-Implementierung mit einigen zusätzlichen Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für beschäftigte Websites), die wir wie folgt installieren:

apt-get -y install php7.0-fpm

PHP-FPM ist ein Daemon-Prozess, der einen FastCGI-Server auf dem Socket /var/run/php/php7.0-fpm.sock ausführt.

Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php7.0-mysql installieren. Es ist eine gute Idee, einige andere PHP5-Module zu installieren, da Sie diese möglicherweise für Ihre Anwendungen benötigen. Sie können nach verfügbaren PHP5-Modulen wie folgt suchen:

apt-cache search php7.0

Wählen Sie die benötigten aus und installieren Sie sie wie folgt:

apt-get -y install php7.0-opcache php7.0-fpm php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php-pear php-auth php7.0-mcrypt mcrypt imagemagick libruby php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring

Die mbstring- und mcrypt-Erweiterungen müssen manuell aktiviert werden.

phpenmod mcrypt  
phpenmod mbstring

APCu ist eine PHP-Erweiterung für den PHP 7 Opcache, die eine Kompatibilitätsschicht für Software hinzufügt, die den PHP APC Cache verwendet.

APCu kann wie folgt installiert werden:

apt-get -y install php-apcu

Öffnen Sie als Nächstes /etc/php/7.0/fpm/php.ini…

nano /etc/php/7.0/fpm/php.ini

… und setzen Sie cgi.fix_pathinfo=0 und Ihre Zeitzone:

[...]
cgi.fix_pathinfo=0
[...]
date.timezone="Europe/Berlin"
[...]

(Sie können alle verfügbaren Zeitzonen in den Verzeichnissen /usr/share/zoneinfo und seinen Unterverzeichnissen finden.)

Jetzt laden Sie PHP-FPM neu:

service php7.0-fpm reload

Um CGI-Unterstützung in nginx zu erhalten, installieren wir Fcgiwrap.

Fcgiwrap ist ein CGI-Wrap, der auch für komplexe CGI-Skripte funktionieren sollte und in Shared-Hosting-Umgebungen verwendet werden kann, da er es jedem vhost ermöglicht, sein eigenes cgi-bin-Verzeichnis zu verwenden.

Installieren Sie das fcgiwrap-Paket:

apt-get -y install fcgiwrap

Nach der Installation sollte der fcgiwrap-Daemon bereits gestartet sein; sein Socket ist /var/run/fcgiwrap.socket. Wenn er nicht läuft, können Sie das Skript /etc/init.d/fcgiwrap verwenden, um ihn zu starten.

Das war’s! Jetzt, wenn Sie einen nginx vhost erstellen, kümmert sich ISPConfig um die korrekte vhost-Konfiguration.

8.1 Zusätzliche PHP-Versionen

Seit ISPConfig 3.0.5 ist es möglich, mehrere PHP-Versionen auf einem Server zu haben (auswählbar über ISPConfig), die über PHP-FPM ausgeführt werden können. Um zu erfahren, wie man zusätzliche PHP-Versionen (PHP-FPM) erstellt und wie man ISPConfig konfiguriert, überprüfen Sie bitte dieses Tutorial: So verwenden Sie mehrere PHP-Versionen (PHP-FPM & FastCGI) mit ISPConfig 3 (Ubuntu 12.10) (funktioniert auch für Ubuntu 16.04).

8.2 Installieren Sie phpMyAdmin

Installieren Sie phpMyAdmin wie folgt:

apt-get -y install phpmyadmin php-mbstring php-gettext

Sie werden die folgenden Fragen sehen:

Webserver, um automatisch neu zu konfigurieren: <– wählen Sie keine (da nur apache2 und lighttpd als Optionen verfügbar sind)
MySQL-Anwendungskennwort für phpmyadmin: <– Drücken Sie Enter

Sie können phpMyAdmin jetzt im Verzeichnis /usr/share/phpmyadmin/ finden.

Nachdem Sie ISPConfig 3 installiert haben, können Sie auf phpMyAdmin wie folgt zugreifen:

Der ISPConfig-Apps-vhost auf Port 8081 für nginx kommt mit einer phpMyAdmin-Konfiguration, sodass Sie http://server1.example.com:8081/phpmyadmin oder http://server1.example.com:8081/phpMyAdmin verwenden können, um auf phpMyAdmin zuzugreifen.

Wenn Sie einen /phpmyadmin oder /phpMyAdmin-Alias verwenden möchten, den Sie von Ihren Websites aus verwenden können, ist dies etwas komplizierter als für Apache, da nginx keine globalen Aliase hat (d.h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden vhost definieren, von dem aus Sie auf phpMyAdmin zugreifen möchten.

Um dies zu tun, fügen Sie Folgendes in das nginx-Direktivenfeld auf der Registerkarte Optionen der Website in ISPConfig ein:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie http s anstelle von http für Ihren vhost verwenden, sollten Sie die Zeile fastcgi_param HTTPS on; zu Ihrer phpMyAdmin-Konfiguration wie folgt hinzufügen:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                       fastcgi_param HTTPS on; # <-- fügen Sie diese Zeile hinzu
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie sowohl http als auch https für Ihren vhost verwenden, müssen Sie den folgenden Abschnitt in den http {} Abschnitt in /etc/nginx/nginx.conf (vor allen Include-Zeilen) hinzufügen, der bestimmt, ob der Besucher http oder https verwendet und die $fastcgi_https-Variable (die wir in unserer phpMyAdmin-Konfiguration verwenden werden) entsprechend setzt:

nano /etc/nginx/nginx.conf
[...]
http {
[...]
        ## Erkennen, wann HTTPS verwendet wird
        map $scheme $fastcgi_https {
          default off;
          https on;

        }
[...]
}
[...]

Vergessen Sie nicht, nginx danach neu zu laden:

service nginx reload

Gehen Sie dann erneut zum nginx-Direktivenfeld und anstelle von fastcgi_param HTTPS on; fügen Sie die Zeile fastcgi_param HTTPS $fastcgi_https; hinzu, damit Sie phpMyAdmin sowohl für HTTP- als auch für HTTPS-Anfragen verwenden können:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                       fastcgi_param HTTPS $fastcgi_https; # <-- fügen Sie diese Zeile hinzu
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Ubuntu erlaubt keine Anmeldungen zu MySQL als Root-Benutzer über PHPMyAdmin mehr. Ohne Root-Rechte können Sie PHPMyAdmin nicht verwenden, um Datenbankbenutzer zu verwalten oder Datenbanken zu erstellen. Um dieses Problem zu umgehen, werde ich hier einen neuen MySQL-Benutzer mit dem Namen “admin” erstellen, der über Root-Rechte verfügt. Dieser Admin-Benutzer kann zur Datenbankverwaltung in PHPMyAdmin verwendet werden.

Melden Sie sich als Root-Benutzer in der MySQL-Datenbank an:

mysql -u root

Erstellen Sie einen neuen Benutzer “admin” mit dem Passwort “howtoforge”. Ersetzen Sie das Passwort “howtoforge” in den folgenden Befehlen durch ein sicheres Passwort!

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'howtoforge';  
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;  
FLUSH PRIVILEGES;  
exit

8.3 Installieren Sie HHVM (HipHop Virtual Machine)

In diesem Schritt werden wir HHVM mit apt installieren. HHVM ist eine schnelle PHP-Engine, die von Facebook entwickelt wurde.

apt-get -y install software-properties-common  
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449  
add-apt-repository "deb http://dl.hhvm.com/ubuntu xenial main"  
apt-get update  
apt-get -y install hhvm

8.4. Installieren Sie Let’s Encrypt

ISPConfig 3.1 hat integrierte Unterstützung für die kostenlose SSL-Zertifizierungsstelle Let’s Encrypt. Die Let’s Encrypt-Funktion ermöglicht es Ihnen, kostenlose SSL-Zertifikate für Ihre Website in ISPConfig zu erstellen.

Jetzt werden wir die Unterstützung für Let’s Encrypt hinzufügen.

apt install software-properties-common  
add-apt-repository ppa:certbot/certbot  
apt update  
apt -y remove letsencrypt  
apt -y install python-certbot-nginx

9. Installieren Sie Mailman

ISPConfig ermöglicht es Ihnen auch, Mailman-Mailinglisten zu verwalten (zu erstellen/zu ändern/zu löschen). Wenn Sie diese Funktion nutzen möchten, installieren Sie Mailman wie folgt:

apt-get -y install mailman

Wählen Sie mindestens eine Sprache, z.B.:

Sprachen zur Unterstützung: <– en (Englisch)
Fehlende Site-Liste <– Ok

Bevor wir Mailman starten können, muss eine erste Mailingliste mit dem Namen mailman erstellt werden:

newlist mailman

root@server1:~# newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste verwaltet: <– admin E-Mail-Adresse, z.B. [email protected]
Anfängliches Mailman-Passwort: <– admin Passwort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (oder äquivalente) Datei bearbeiten, indem Sie die folgenden Zeilen hinzufügen und möglicherweise das Programm newaliases ausführen:

Mailman-Mailingliste

mailman: “|/var/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”

Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen… <– ENTER

root@server1:~#

Öffnen Sie danach /etc/aliases…

nano /etc/aliases

… und fügen Sie die folgenden Zeilen hinzu:

[...]
## Mailman-Mailingliste
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Führen Sie danach

newaliases

und starten Sie Postfix neu:

service postfix restart

Starten Sie dann den Mailman-Daemon:

service mailman start

Nachdem Sie ISPConfig 3 installiert haben, können Sie auf Mailman wie folgt zugreifen:

Der ISPConfig-Apps-vhost auf Port 8081 für nginx kommt mit einer Mailman-Konfiguration, sodass Sie http://server1.example.com:8081/cgi-bin/mailman/admin/ oder http://server1.example.com:8081/cgi-bin/mailman/listinfo/ verwenden können, um auf Mailman zuzugreifen.

Wenn Sie Mailman von Ihren Websites aus verwenden möchten, ist dies etwas komplizierter als für Apache, da Nginx keine globalen Aliase hat (d.h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden vhost definieren, von dem aus Sie auf Mailman zugreifen möchten.

Um dies zu tun, fügen Sie Folgendes in das nginx-Direktivenfeld auf der Registerkarte Optionen der Website in ISPConfig ein:

        location /cgi-bin/mailman {
               root /usr/lib/;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location /images/mailman {
               alias /usr/share/images/mailman;
        }

        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

Dies definiert den Alias /cgi-bin/mailman/ für Ihren vhost, was bedeutet, dass Sie auf die Mailman-Admin-Oberfläche für eine Liste unter http:///cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste unter http:///cgi-bin/mailman/listinfo/ zu finden ist.

Unter http:///pipermail finden Sie die Mailinglistenarchive.

10. Installieren Sie PureFTPd und Quota

PureFTPd und Quota können mit dem folgenden Befehl installiert werden:

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

Bearbeiten Sie die Datei /etc/default/pure-ftpd-common…

nano /etc/default/pure-ftpd-common

… und stellen Sie sicher, dass der Startmodus auf standalone gesetzt ist und VIRTUALCHROOT=true gesetzt ist:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Jetzt konfigurieren wir PureFTPd, um FTP- und TLS-Sitzungen zuzulassen. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, führen Sie aus:

echo 1 > /etc/pure-ftpd/conf/TLS

Um TLS zu verwenden, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, daher erstelle ich zuerst dieses Verzeichnis:

mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ländercode (2 Buchstaben) [AU]: <– Geben Sie Ihren Ländercode ein (z.B. “DE”).
Bundesland oder Provinzname (vollständiger Name) [Some-State]: <– Geben Sie Ihren Bundesland- oder Provinzname ein.
Ortsname (z.B. Stadt) []: <– Geben Sie Ihre Stadt ein.
Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]: <– Geben Sie Ihren Organisationsnamen ein (z.B. den Namen Ihrer Firma).
Abteilung (z.B. Sektion) []: <– Geben Sie Ihren Abteilungsnamen ein (z.B. “IT-Abteilung”).
Allgemeiner Name (z.B. IHR Name) []: <– Geben Sie den vollqualifizierten Domainnamen des Systems ein (z.B. “server1.example.com”).
E-Mail-Adresse []: <– Geben Sie Ihre E-Mail-Adresse ein.

Ändern Sie die Berechtigungen des SSL-Zertifikats:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Starten Sie dann PureFTPd neu:

service pure-ftpd-mysql restart

Bearbeiten Sie /etc/fstab. Meine sieht so aus (ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zu der Partition mit dem Einhängepunkt / hinzugefügt):

nano /etc/fstab
# /etc/fstab: statische Dateisysteminformationen.  
#  
# Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein  
# Gerät zu drucken; dies kann mit UUID= als robustere Methode verwendet werden, um Geräte  
# zu benennen, die auch funktionieren, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5).  
#  
#        
/dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1  
# /boot war während der Installation auf /dev/sda1  
UUID=39762f15-3a49-4982-add3-139d5040b48a /boot ext2 defaults 0 2  
/dev/mapper/server1--vg-swap_1 none swap sw 0 0  
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Um Quota zu aktivieren, führen Sie diese Befehle aus:

mount -o remount /
quotacheck -avugm  
quotaon -avug

Die folgenden Fehlermeldungen sind normal für den Befehl und können ignoriert werden:

quotacheck: Scanning /dev/mapper/server1--vg-root [/] done  
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.  
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.  
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.  
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.  
quotacheck: Checked 18566 directories and 110119 files  
quotacheck: Old file not found.  
quotacheck: Old file not found.

11. Installieren Sie den BIND DNS-Server

BIND wird wie folgt installiert:

apt-get -y install bind9 dnsutils haveged

Aktivieren und starten Sie haveged.

systemctl enable haveged  
service haveged start

12. Installieren Sie Vlogger, Webalizer und AWStats

Vlogger, Webalizer und AWStats können wie folgt installiert werden:

apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Öffnen Sie danach /etc/cron.d/awstats…

nano /etc/cron.d/awstats

… und kommentieren Sie alles in dieser Datei aus:

#MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generieren Sie statische Berichte:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

13. Installieren Sie Jailkit

Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - es kann danach nicht installiert werden!):

apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper binutils
cd /tmp  
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz  
tar xvfz jailkit-2.19.tar.gz  
cd jailkit-2.19  
./debian/rules binary

Sie können jetzt das Jailkit.deb-Paket wie folgt installieren:

cd ..  
dpkg -i jailkit_2.19-1_*.deb  
rm -rf jailkit-2.19*

14. Installieren Sie fail2ban

Dies ist optional, aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:

apt-get -y install fail2ban

Um fail2ban zu ermöglichen, PureFTPd und Dovecot zu überwachen, erstellen Sie die Datei /etc/fail2ban/jail.local:

nano /etc/fail2ban/jail.local
[pureftpd]
enabled  = true
port     = ftp
filter   = pureftpd
logpath  = /var/log/syslog
maxretry = 3

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
logpath = /var/log/syslog
maxretry = 5

[postfix-sasl]
enabled  = true
port     = smtp
filter   = postfix-sasl
logpath  = /var/log/syslog
maxretry = 3

Erstellen Sie dann die folgenden beiden Filterdateien:

nano /etc/fail2ban/filter.d/pureftpd.conf
[Definition]
failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.*
ignoreregex =
nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf
[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P\S*),.*
ignoreregex =

Fügen Sie die fehlende ignoreregex-Zeile in die postfix-sasl-Datei ein:

echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf

Starten Sie fail2ban danach neu:

service fail2ban restart

Um die UFW-Firewall zu installieren, führen Sie diesen apt-Befehl aus:

apt-get install ufw
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.