Der Perfekte Server - Ubuntu 11.10 mit nginx [ISPConfig 3] - Seite 5

16 Installation von PureFTPd und Quota PureFTPd und quota können mit dem folgenden Befehl installiert werden:

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

Editieren Sie die Datei /etc/default/pure-ftpd-common...

vi /etc/default/pure-ftpd-common

... und stellen Sie sicher, dass der start mode gleich standalone und VIRTUALCHROOT=true gesetzt sind:
[...]
STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...]
Konfigurieren Sie nun PureFTPd dazu, FTP und TLS Sitzungen zu erlauben. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und Dateien in reiner Textform übertragen werden. Durch die Benutzung von TLS wird die gesamte Kommunikation verschlüsselt, wodurch es FTP sehr viel sicherer macht.

Wollen Sie FTP und TLS Sitzungen erlauben, führen Sie folgenden Befehl aus:

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

Um TLS benutzen zu können, müssen Sie ein SSL Zertifikat erstellen. Ich tue dies in /etc/ssl/private/, dieses Verzeichnis muss ich zuerst erstellen:

mkdir -p /etc/ssl/private/

Danach können Sie das SSL Zertifikat folgendermaßen erstellen:

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 Ihre Landesbezeichnung an (z.B., "DE"). State or Province Name (full name) [Some-State]: <-- Geben Sie Ihr Bundesland an. Locality Name (eg, city) []: <-- Geben Sie Ihre Stadt an. Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Geben Sie den Namen Ihrer Organisation an (z.B., den Namen Ihrer Firma). Organizational Unit Name (eg, section) []: <-- Geben Sie den Namen Ihrer Organisationseinheit an (z.B. "IT Abteilung"). Common Name (eg, YOUR name) []: <-- Geben Sie die vollwertige Domain des Systems an (z.B. "server1.example.com"). Email Address []: <-- Geben Sie Ihre 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 wie folgt aus (Ich habe ,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 zur Partition mit dem Mount Point / 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 nodev,noexec,nosuid 0 0 /dev/mapper/server1-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1 # /boot was on /dev/sda1 during installation UUID=6fbce377-c3d6-4eb3-8299-88797d4ad18d /boot ext2 defaults 0 2 /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Um Quota zu erlauben, benutzen Sie diese Befehle:

mount -o remount /

quotacheck -avugm
quotaon -avug


17 Installation des BIND DNS Servers

BIND kann folgendermaßen installiert werden:

apt-get install bind9 dnsutils


18 Installation von Vlogger, Webalizer und AWstats

Vlogger, webalizer und AWstats können wie folgt installiert werden:

apt-get install vlogger webalizer awstats
geoip-database

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

vi /etc/cron.d/awstats

... und kommentieren Sie 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

19 Installation von Jailkit

Jailkit wird nur gebraucht, wenn Sie SSH Benutzer chrooten möchten. Es kann wie folgt installiert werden (wichtig: Jailkit muss vor ISPConfig installiert werden - dies kann später nicht nachgeholt werden!):

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

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

Installieren Sie das Jailkit .deb Paket nun folgendermaßen:

cd ..
dpkg -i jailkit_2.14-1_*.deb
rm -rf jailkit-2.14*


20 Installation von fail2ban

Diese ist optional aber empfohlen, da der ISPConfig Monitor versucht, den fail2ban Log anzuzeigen:

apt-get install fail2ban

Um fail2ban PureFTPd, SASL und Courier ü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 [sasl] enabled = true port = smtp filter = sasl logpath = /var/log/mail.log maxretry = 5 [courierpop3] enabled = true port = pop3 filter = courierpop3 logpath = /var/log/mail.log maxretry = 5 [courierpop3s] enabled = true port = pop3s filter = courierpop3s logpath = /var/log/mail.log maxretry = 5 [courierimap] enabled = true port = imap2 filter = courierimap logpath = /var/log/mail.log maxretry = 5 [courierimaps] enabled = true port = imaps filter = courierimaps logpath = /var/log/mail.log maxretry = 5
Erstellen Sie dann die folgen fünf Filterdateien:

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


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

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


# Fail2Ban configuration file
# # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>S+) # Values: TEXT # failregex = pop3d: LOGIN FAILED.*ip=[.*:<HOST>] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =

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


# Fail2Ban configuration file
# # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>S+) # Values: TEXT # failregex = pop3d-ssl: LOGIN FAILED.*ip=[.*:<HOST>] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =

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


# Fail2Ban configuration file
# # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>S+) # Values: TEXT # failregex = imapd: LOGIN FAILED.*ip=[.*:<HOST>] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =

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


# Fail2Ban configuration file
# # $Revision: 100 $ # [Definition] # Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>S+) # Values: TEXT # failregex = imapd-ssl: LOGIN FAILED.*ip=[.*:<HOST>] # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
Starten Sie fail2ban danach neu:

/etc/init.d/fail2ban restart


0 Kommentar(e)

Zum Posten von Kommentaren bitte