Der Perfekte Server – Ubuntu 11.10 [ISPConfig 3]

19 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

20 Installation von SquirrelMail

Um den SquirrelMail Webmail Client zu installieren, benutzen Sie:

apt-get install squirrelmail

Konfigurieren Sie SquirrelMail anschließend:

squirrelmail-configure

Sie müssen SquirrelMail sagen, dass Sie Courier-IMAP/-POP3 benutzen:

SquirrelMail Configuration : Read: config.php (1.4.0)
———————————————————
Main Menu —
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <– D

SquirrelMail Configuration : Read: config.php
———————————————————
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don’t work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
bincimap    = Binc IMAP server
courier     = Courier IMAP server
cyrus       = Cyrus IMAP server
dovecot     = Dovecot Secure IMAP server
exchange    = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = University of Washington’s IMAP server
gmail       = IMAP access to Google mail (Gmail) accounts

quit        = Do not change anything
Command >> <– courier

SquirrelMail Configuration : Read: config.php
———————————————————
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don’t work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

Please select your IMAP server:
bincimap    = Binc IMAP server
courier     = Courier IMAP server
cyrus       = Cyrus IMAP server
dovecot     = Dovecot Secure IMAP server
exchange    = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = University of Washington’s IMAP server

quit        = Do not change anything
Command >> courier

imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue… <– ENTER

SquirrelMail Configuration : Read: config.php (1.4.0)
———————————————————
Main Menu —
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <– S

SquirrelMail Configuration : Read: config.php (1.4.0)
———————————————————
Main Menu —
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> S

Data saved in config.php
Press enter to continue… <– ENTER

SquirrelMail Configuration : Read: config.php (1.4.0)
———————————————————
Main Menu —
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <– Q

Nun werden wir SquirrelMail so konfigurieren, dass man es aus einer (mit ISPConfig erstellten) Webseite heraus benutzen kann indem wir die /squirrelmail oder /webmail Aliases benutzen. Ist Ihre Webseite www.example.com, werden Sie in der Lage sein SquirrelMail durch www.example.com/squirrelmail oder www.example.com/webmail zu erreichen.

SquirrelMails Apache Konfiguration ist in der Datei /etc/squirrelmail/apache.conf, diese wird jedoch
nicht von Apache geladen, da sie sich nicht im /etc/apache2/conf.d/ Verzeichnis befindet. Deshalb erstellen Sie einen Symlink namens squirrelmail.conf im /etc/apache2/conf.d/ Verzeichnis, der zu /etc/squirrelmail/apache.conf zeigt und starten danach Apache neu:

cd /etc/apache2/conf.d/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2 reload

Öffnen Sie nun /etc/apache2/conf.d/squirrelmail.conf

vi /etc/apache2/conf.d/squirrelmail.conf

… und fügen die folgenden Zeilen zum <Directory /usr/share/squirrelmail></Directory> Container hinzu welche sicherstellen, dass mod_php zum Zugriff auf SquirrelMail genutzt wird, egal welchen PHP Modus sie in ISPConfig für Ihre Webseite ausgewählt haben:

[...]
<Directory /usr/share/squirrelmail>
 Options FollowSymLinks
 <IfModule mod_php5.c>
 AddType application/x-httpd-php .php
 php_flag magic_quotes_gpc Off
 php_flag track_vars On
 php_admin_flag allow_url_fopen Off
 php_value include_path .
 php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp
 php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname
 php_flag register_globals off
 </IfModule>
 <IfModule mod_dir.c>
 DirectoryIndex index.php
 </IfModule>

 # access to configtest is limited by default to prevent information leak
 <Files configtest.php>
 order deny,allow
 deny from all
 allow from 127.0.0.1
 </Files>
</Directory>
[...]

Erstellen Sie das Verzeichnis /var/lib/squirrelmail/tmp

mkdir /var/lib/squirrelmail/tmp

… und lassen Sie den Benutzer www-data davon Besitz nehmen:

chown www-data /var/lib/squirrelmail/tmp

Laden Sie Apache danach neu:

/etc/init.d/apache2 reload

Das war es schon – /etc/apache2/conf.d/squirrelmail.conf definiert ein Alias namens /squirrelmail, das zu SquirrelMails Installationsverzeichnis zeigt /usr/share/squirrelmail.

Sie können SquirrelMail nun folgendermaßen von Ihrer Webseite aus erreichen:

http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmail

Sie können außerdem vom ISPConfig Control Panel vhost darauf zugreifen (nachdem Sie im nächsten Kapitel ISPConfig installiert haben)(dies bedarf keiner Konfiguration in ISPConfig):

http://server1.example.com:8080/squirrelmail

Möchten Sie das Alias /webmail anstatt von /squirrelmail benutzen, öffnen Sie einfach /etc/apache2/conf.d/squirrelmail.conf

vi /etc/apache2/conf.d/squirrelmail.conf

… und fügen die Zeile Alias /webmail /usr/share/squirrelmail hinzu:

Alias /squirrelmail /usr/share/squirrelmail
Alias /webmail /usr/share/squirrelmail
[...]

Laden Sie dann Apache neu:

/etc/init.d/apache2 reload

Sie können nun auf den folgenden Wegen auf SquirrelMail zugreifen:

http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail
(nachdem Sie im nächsten Kapitel ISPConfig installiert haben)

Würden Sie gerne einen vhost wie webmail.example.com anlegen über den Ihre Benutzer auf SquirrelMail zugreifen können, müssten Sie folgende vhost Konfiguration zu /etc/apache2/conf.d/squirrelmail.conf hinzufügen:

vi /etc/apache2/conf.d/squirrelmail.conf

[...]
<VirtualHost 1.2.3.4:80>
 DocumentRoot /usr/share/squirrelmail
 ServerName webmail.example.com
</VirtualHost>

Ersetzen Sie 1.2.3.4 mit der korrekten IP-Adresse Ihres Servers. Natürlich muss es einen DNS Record für webmail.example.com geben, der zur IP-Adresse zeigt, die Sie in Ihrer vhost Konfiguration benutzen. Stellen Sie außerdem sicher, dass der vhost webmail.example.com nicht in ISPConfig existiert (andernfalls werden beide vhosts einander behindern!).

Starten Sie nun Apache neu…

/etc/init.d/apache2 reload

… und Sie können SquirrelMail unter http://webmail.example.com erreichen!

Das könnte dich auch interessieren …