RoundCube (через SSL) и Webmin с fail2ban для ISPConfig 3 на Debian 6.0

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

DebianЯ предпочитаю использовать RoundCube в ISPConfig 3, как решение по умолчанию. Также я считаю, что было бы полезно иметь установленную во всех моих системах панель управления сервером Webmin. В этой статье Вы можете увидеть самый быстрый способ, установка, с сопутствующей высокой поддержкой fail2ban. Наконец, я смогу получить доступ ко всем им по SSL (даже на PhpMyAdmin - смотрим в конце).

Я предполагаю, что вы следовали руководство из материала Идеальный сервер - Debian 6.0 [ISPConfig 3]

Если Вы собираетесь получить доступ к группам почты веб почты ISPConfig 3 через SSL, я также предполагаю, что Вы следовали главы 6.2 Включение SSL для веб интерфейса ISPConfig из ISPConfig 3 руководства (это необходимо только, если Вы хотите получить доступ к панели управления и веб интерфейсу через SSL на порту 8080). Если вы придерживались сказаному выше, то я могу считать, что Вы можете продолжить настройку сервера по этому учебнику.

Webmin

Загрузим последнюю версию панели управления сервером с официального сайта Webmin ...

  • wget http://prdownloads.sourceforge.net/webadmin/webmin_1.530_all.deb

... а теперь установим его:

  • dpkg -i webmin_1.530_all.deb

RoundCube

Если Вы не хотите использовать Squirrelmail удалить его выполнив слудующую команду ...

  • apt-get remove squirrelmail

... а так же удалите файл /etc/apache2/conf.d/squirrelmail.conf :

  • rm /etc/apache2/conf.d/squirrelmail.conf

Или если Вы хотите изменить /etc/apache2/conf.d/squirrelmail.conf то измените псевдоним что-то вроде webmail1.

Установить RoundCube:

  • apt-get install roundcube

Создайте или отредактируйте файл /etc/apache2/conf.d/roundcube.conf установив псевдоним веб почты. Если вы хотите SSL Вы должны включить последние две директивы, чтобы Apache Всегда перенаправлял Вас на SSL настройки ISPConfig 3.

# Those aliases do not work properly with several hosts on your apache server
# Uncomment them to use it or adapt them to your configuration
#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
    Alias /webmail /var/lib/roundcube
    Alias /roundcube /var/lib/roundcube

# Access to tinymce files
<Directory "/usr/share/tinymce/www/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order allow,deny
      allow from all
</Directory>

<Directory /var/lib/roundcube/>
  Options +FollowSymLinks
  # This is needed to parse /var/lib/roundcube/.htaccess. See its
  # content before setting AllowOverride to None.
  AllowOverride All
  order allow,deny
  allow from all
</Directory>

# Protecting basic directories:
<Directory /var/lib/roundcube/config>
        Options -FollowSymLinks
        AllowOverride None
</Directory>

<Directory /var/lib/roundcube/temp>
        Options -FollowSymLinks
        AllowOverride None
        Order allow,deny
        Deny from all
</Directory>

<Directory /var/lib/roundcube/logs>
        Options -FollowSymLinks
        AllowOverride None
        Order allow,deny
        Deny from all
</Directory>




<IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location /webmail>
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]

    </Location>
  </IfModule>
</IfModule>

<IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location /roundcube>
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]
    </Location>
  </IfModule>
</IfModule>

Отредактируем /var/lib/roundcube/config/main.inc.php и изменим некоторые переменные в файле:

auto_create_user = TRUE;
$rcmail_config['default_host'] = 'localhost';

Если Вы хотите установить следующий плагин (регистратор, который помогает fail2ban), Вы должны расширить список плагинов, в этом же файле. Если только плагин будет установлен тогда Вы должны изменить строку, как показано ниже:

$rcmail_config['plugins'] = array('fail2ban');

Установить плагин формы регистратора RoundCube можно отсюда.

В общем, Вы должны скачать файл по ссылке выше (fail2ban.php) и вставьте его в каталог fail2ban в папке плагинов RoundCube: /usr/share/roundcube/plugins/fail2ban/fail2ban.php

Этот плагин вначале создаст, а затем будет обновилять файл журнала с каждой попыткой аторизации: /var/log/roundcube/userlogins

Fail2ban

В расширение файла jail.local, /etc/fail2ban/jail.local нам необходимо вставить, смотри Идеальный сервер - Debian 6.0 с BIND и Courier [ISPConfig 3]:

[roundcube]
enabled  = true
port     = http,8080
filter   = roundcube
logpath  = /var/log/roundcube/userlogins
maxretry = 5
[webmin-auth]
enabled = true
port    = 10000
filter  = webmin-auth
logpath  = /var/log/auth.log
maxretry = 3 

8080 порт в RoundCube требуется, только если Вы включили перенаправление на HTTPS.

Последнее (и очень важное), не забудь создать файл roundcube.conf /etc/fail2ban/filter.d/roundcube.conf со следующим содержанием:

[Definition]
failregex = FAILED login for .*. from <host>
ignoreregex =

Перезагрузите fail2ban:

  • /etc/init.d/fail2ban restart

PhpMyAdmin (SSL)

Если Dы желаете получить доступ к PhpMyAdmin через SSL, Вы можете пойти тем же путем что и с RoundCube. Отредактируйте файл /etc/apache2/conf.d/phpmyadmin.conf и вставьте в конец файла следующие строки:

<ifmodule mod_rewrite.c="">
  <ifmodule mod_ssl.c="">
    <location phpmyadmin="">
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}:8080%{REQUEST_URI}  [L]
    </location>
  </ifmodule>
</ifmodule>

После этого, перезапустить Apache:

  • /etc/init.d/apache2 restart