Multiserver Setup mit dedizierten Web, E-Mail, DNS & MySQL Datenbank Servern unter Debian Squeeze mit ISPConfig 3 - Seite 2


Konfigurieren Sie nun PureFTPd, sodass es FTP und TLS Sitzungen erlaubt. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und Daten in klarem Text übertragen werden. Durch Benutzung von TLS wird jegliche Kommunikation verschlüsselt, wodurch FTP sehr viel sicherer gemacht wird.

Wollen Sie FTP und TLS Sitzungen erlauben, benutzen Sie:

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

Um TLS zu benutzen, müssen Sie ein SSL Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, deshalb muss ich dieses Verzeichnis erst erstellen:

mkdir -p /etc/ssl/private/

Danach können Sie das SSL Zertifikat generieren:

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

Country Name (2 letter code) [AU]: <-- Geben Sie Ihr Land an (z.B., "DE"). State or Province Name (full name) [Some-State]: <-- Geben Sie Ihr Bundesland an (z.B. Niedersachsen). Locality Name (eg, city) []: <-- Geben Sie Ihre Stadt an (z.B. Lueneburg). Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen Ihrer Firma an. Organizational Unit Name (eg, section) []: <-- Geben Sie den Namen Ihrer Abteilung an (z.B. "IT Department"). Common Name (eg, YOUR name) []: <-- Geben Sie den qualifiezierten Domainnamen Ihres Systems an (z.B. "server1.example.com"). Email Address []: <-- Geben Sie Ihre E-Mail Adresse an.
Ändern Sie die Zugriffsrechte auf das SSL Zertifikat:

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

Starten Sie dann PureFTPd neu:

/etc/init.d/pure-ftpd-mysql restart

Editieren Sie die /etc/fstab Datei. Meine sieht folgendermaßen aus (ich habe ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 zur Partition mit dem Mountpunkt / hinzugefügt): :

vi /etc/fstab

# /etc/fstab: static file system information.
# # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # / was on /dev/sda1 during installation UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 / ext3 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1 # swap was on /dev/sda5 during installation UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Um Quota zu aktivieren, benutzen Sie folgende Befehle:

mount -o remount /

quotacheck -avugm
quotaon -avug

Installieren Sie vlogger, webalizer und awstats:

apt-get -y install vlogger webalizer awstats

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

vi /etc/cron.d/awstats

... und kommentieren beide Cron Jobs in der Datei aus:
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
# Generate static reports: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
Installieren Sie Jailkit: Jailkit wird nur gebraucht, wenn Sie SSH Benutzer und Cron Jobs chrooten wollen. Es kann wie folgt installiert werden (Wichtig: Jailkit muss vor ISPConfig installiert werden - dies kann nicht nachträglich geschehen!):

apt-get -y install build-essential autoconf automake1.9 libtool flex bison debhelper

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./debian/rules binary
cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*

Installieren Sie fail2ban: Dies ist zwar optional, wird aber empfohlen, da der ISPConfig Monitor versucht, dessen Log anzuzeigen:

apt-get install fail2ban

Um fail2ban PureFTPd überwachen zu lassen, erstellen Sie die Datei /etc/fail2ban/jail.local:

vi /etc/fail2ban/jail.local

[pureftpd]
enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3
Danach erstellen Sie die folgende Filterdatei:

vi /etc/fail2ban/filter.d/pureftpd.conf

[Definition]
failregex = .*pure-ftpd: (.*@<HOST>) [WARNING] Authentication failed for user.* ignoreregex =
Starten Sie fail2ban danach neu:

/etc/init.d/fail2ban restart

3 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: perikleus

Hi Leute,
danke fuer dieses tolle HowTo, wie immer super detailiert und selbst fuer Debian (fast) Laien wie mich verstaendlich ! ;-)
Ich habe allerdings feststellen muessen, dass mein Apache2 hier mit vlogger ein Problem hat.
DasApache Error Logfile wird mit Eintraegen wie diesen geflutet:


piped log program ' /usr/local/ispconfig/server/scripts/vlogger -s access.log -t "%Y%m%d-access.log" /var/log/ispconfig/httpd' failed unexpectedly
Can't locate Date/Format.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at /usr/local/ispconfig/server/scripts/vlogger line 148.
BEGIN failed--compilation aborted at /usr/local/ispconfig/server/scripts/vlogger line 148.


Folge ist, dass der Apache irgendwann stockt und keine requests mehr annimmt. Auch ISPConfig ist nicht mehr nutzbar.

Abhilfe schaffte bei mir dies:

apt-get install libtimedate-perl
/etc/init.d/apache2 restart


Falls jemand ein aehnliches Problem hoffe ich das ich helfen konnte ! ;-)


Von: SvenKLM

Hallo,

zuerst mal, ein geiles Tutorial.

Da ist nur ein Punkt, den ich nicht verstehe:

Wenn ich mehrere Webserver verwenden will, wie binde ich die ein?

Dann mal eine andere Frage, die nichts mit dem Turial zu tun hat:

Gibt es eine Empfehlung, ein bestimmtes WebFTP Programm zu verwenden?

Gruß
Sven


Von: S-204

Ich habe dazu gerade ein kleines Verständnisproblem.

Die IP-Adressen 192.168.xxx.xxx sind aus dem localen Bereich und aus dem Web nicht erreichbar. Der Root-Server beim Hoster hat aber nur 1 IP-Adresse. Wie bekomme ich in ISPconfig3 die Zuordnung der lokalen Adressen zu den Vservern hin (NAT-Routing ?) ?