установка и настройка Dovecot 2 + Exim + ClamAV + Postfixadmin + Mysql + RoundCube

Ниже опи­сан про­цесс уста­нов­ки поч­то­во­го сер­ве­ра на осно­ве MTA Exim. В каче­стве плат­фор­мы будет исполь­зо­ва­на CentOS вер­сии 6.8
Для пол­но­цен­ной рабо­ты пона­до­бят­ся допол­ни­тель­ные паке­ты, такие как: Dovecot v2, MySQL, Clamav и Postfixadmin.

Thank you for reading this post, don't forget to subscribe! 

Вве­де­ние
Exim - будет зани­мать­ся отправ­кой и полу­че­ни­ем писем от дру­гих поч­то­вых серверов
Dovecot - достав­ка почты к поч­то­во­му кли­ен­ту от поч­то­во­го сервера.
MySQL  - в базе MySQL будут содер­жать­ся такие дан­ные как наш домен company.kz, име­на поч­то­вых учет­ных запи­сей, паро­ли и т.д.
ClamAV- это анти­ви­рус зада­ча кото­ро­го про­вер­ка поч­то­вых сооб­ще­ний на пред­мет вирусов
Post

fixAdmin - веб интер­фейс для адми­ни­стра­то­ра поч­то­во­го сер­ве­ра кото­рый поз­во­ля­ет управ­лять поч­то­вым сер­ве­ром, такие опе­ра­ции как заве­де­ние доме­нов, поч­то­вых учет­ный запи­сей, сме­на паро­лей про­из­во­дят­ся имен­но в нем.
RoundCube - веб интер­фейс для поль­зо­ва­те­лей поч­то­во­го сер­ве­ра, этот интер­фейс поз­во­ля­ет рабо­тать с поч­то­вым ящи­ком. Поль­зо­ва­тель в нем про­смат­ри­ва­ет поч­то­вые сооб­ще­ния, отправ­лять пись­ма и т.д.Если Вы хоти­те реаль­ный поч­то­вый сер­вер, Вам понадобится:
  • Белый ста­ти­че­ский IP адрес. Обыч­но эти IP адре­са выда­ет провайдер.
  • Заре­ги­стри­ро­ван­ное домен­ное имя - company.ru. Може­те вос­поль­зо­ват­ся любым реги­стра­то­ром, напри­мер www.reg.ru
  • Два DNS сер­ве­ра кото­рые будут отве­чать за домен - company.ru. Быва­ет так, что после реги­стра­ции доме­на реги­стра­тор дает свои DNS сер­ве­ра в поль­зо­ва­ние. Мож­но уго­во­рить про­вай­де­ра под­дер­жи­вать Ваш домен, а мож­но настро­ить свои DNS сервера
  • PTR запись кото­рая пра­виль­но резолвит Ваш поч­то­вый хост (111.222.333.444 -> mail.company.ru). Обыч­но PTR запись про­пи­сы­ва­ет  про­вай­дер, поэто­му админ обра­ща­ет­ся к про­вай­де­ру с запро­сом зане­сти PTR запись вида -  IP адрес -> mail.company.ru

Исход­ные данные
Домен - point.local
Обыч­но домен поку­па­ют у реги­стра­то­ров доме­нов. Если у вас дру­гой домен, напри­мер "company.ru", изме­ни­те "point.local" на "company.ru" в кон­фи­гу­ра­ци­он­ных файлах.

Имя хоста поч­то­во­го сер­ве­ра -  mx.point.local
Здесь обыч­но  зада­ют имя ком­пью­те­ра, в основ­ном ста­вят "mail.point.local" или "mail.company.ru".

IP адрес поч­то­во­го сер­ве­ра - 192.168.1.2
Если ваш поч­то­вый дол­жен рабо­тать в гло­баль­ной сети, то вам пона­до­бит­ся взять у про­вай­де­ра реаль­ный ста­ти­че­ский IP адрес. Его в наро­де еще назы­ва­ют как "белый".
У меня в моем при­ме­ре исполь­зу­ет­ся "серый" - IP адрес, что­бы пока­зать как рабо­та­ет поч­то­вый сер­вер это­го достаточно.

Крат­кое содержание:

1. Настрой­ка сете­во­го адаптера
2. Под­клю­че­ние необ­хо­ди­мых репозитариев
3. Уста­нов­ка СУБД MySQL, созда­ние базы дан­ных VEXIM
4. Уста­нов­ка Postfixadmin
5. Уста­нов­ка ClamAV
6. Уста­нов­ка и настрой­ка Dovecot
7. Уста­нов­ка и настрой­ка Exim
8. Отклю­ча­ем Postfix
9. Добав­ле­ние сер­ви­сов в автозагрузку
10. Выстав­ля­ем пра­ва на поч­то­вые каталоги
11. Настрой­ка DNS сервера
12. Настрой­ка PostfixAdmin
13. Уста­нов­ка и настрой­ка RoundCube Web Mail
14. Настрой­ка фаер­вол­ла iptables

15. Уста­нов­ка Fail2ban

1. Настрой­ка сете­во­го адаптера
Наш сер­вер име­ет все­го один сете­вой адап­тер, после уста­нов­ки CentOS, настрой­ки это­го адап­те­ра хра­нят­ся в фай­ле "/etc/sysconfig/network-scripts/ifcfg-eth0".
По умол­ча­нию этот файл содер­жит сле­ду­ю­щие настройки

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

Сле­ду­ет допи­сать в этот файл допол­ни­тель­ные настрой­ки, под­пра­вим содер­жи­мое это­го файла:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Что­бы вне­сти текст в файл, нажми­те кла­ви­шу "INS" -это акти­ви­ру­ет режим редак­ти­ро­ва­ния, пере­ве­дет вас с режи­ма про­смот­ра в режим редак­ти­ро­ва­ния. После чего вво­ди­те новые дан­ные. Обыч­но после нажа­тия "INS", текст встав­ля­ет­ся ком­би­на­ци­ей "SHISFT"+"INS".
По окон­ча­нию вво­да тек­ста, нажми­те кноп­ку "ESC" и потом нажми­те одно­вре­мен­но кноп­ки "SHIFT и два раза нажать "z" или вве­ди­те ":w!" и потом нажми­те "ENTER" - это дела­ет­ся для сохра­не­ния фай­ла и выхо­да с редактора.
Поиск фай­ла в редак­то­ре vi дела­ет­ся путем нажа­тия кноп­ки "/", далее вво­дит­ся текст кото­рый нуж­но найти.

 

 

Пере­за­пус­ка­ем сете­вую службу:

# service network restart

Впи­сы­ва­ем адре­са DNS серверов:

# vi /etc/resolv.conf

Здесь IP адреса:
192.168.1.2 - это IP наше­го поч­то­во­го сер­ве­ра, он так­же будет и DNS сервером
111.222.333.444  - адрес DNS сер­ве­ра провайдера
Пере­за­пу­стим сете­вую служ­бу, что­бы вне­сен­ные нами изме­не­ния всту­пи­ли в силу:

# service network restart

Про­верь­те, выход в Интер­нет на сервере:

# ping google.ru

Нали­чие Интер­не­та - обязательно!

2. Под­клю­чим необ­хо­ди­мые репозитарии:

rpm -Uvh http://dl.atrpms.net/el6-i386/atrpms/stable/atrpms-repo-6-7.el6.i686.rpm

3. Уста­нов­ка СУБД MySQL, созда­ние базы дан­ных VEXIM
Уста­но­вим СУБД MySQL:

# yum -y install mysql-server mysql
# service mysqld start

Созда­дим базу дан­ных Vexim:

# mysql -p

4. Уста­нов­ка Postfixadmin
Уста­но­вим зави­си­мо­сти для Postfixadmin:

Ска­ча­ем Postfixadmin и настро­им его:

# cd /var/www/html
# wget http://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin-2.3.7/postfixadmin-2.3.7.tar.gz/download

# tar -xvzf postfixadmin-2.3.7.tar.gz
# mv postfixadmin-2.3.7/ postfixadmin
# cd  postfixadmin

Меня­ем параметры:

# vi config.inc.php

$CONF['configured'] = true;

$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'vexim';
$CONF['database_password'] = 'password'
$CONF['database_name'] = 'vexim';
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw";

 

5. Уста­нов­ка ClamAV
Уста­но­вим Clamav:

# yum -y install clamav

# freshclam -v

# freshclam -d

6. Уста­нов­ка и настрой­ка Dovecot
Уста­но­вим Dovecot:

# yum install dovecot dovecot-mysql -y

# mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf-orig

Настро­им Dovecot, создай­те файл /etc/dovecot/dovecot.conf:

# vi /etc/dovecot/dovecot.conf

 

 

Созда­дим файл /etc/dovecot/dovecot-mysql.conf для досту­па Dovecot к MySQL базе.

# vi /etc/dovecot/dovecot-mysql.conf

 

 #File: /etc/dovecot/dovecot-mysql.conf

 

7. Уста­нов­ка и настрой­ка Exim
Уста­но­вим сам Exim:

# yum install exim exim-mysql -y
# mv /etc/exim/exim.conf /etc/exim/exim.conf-orig

Теперь настро­им Exim, созда­дим кон­фиг файл /etc/exim/exim.conf

# vi  /etc/exim/exim.conf

#######################

 


Созда­ем файл /etc/exim/black.list

# vi /etc/exim/black.list

 

7. Отклю­ча­ем Postfix

# alternatives --config mta
# chkconfig --level 123456 postfix off
# service postfix stop
# yum remove postfix -y

Так­же отклю­чим цепоч­ку RH-Input:

# setup

Firewall Configuration -> Firewall Enabled -> Уби­ра­ем галочку

Отклю­ча­ем SELINUX:

# vi /etc/selinux/config

9. Добав­ле­ние сер­ви­сов в автозагрузку

# chkconfig clamav on
# chkconfig mysqld on
# chkconfig httpd on
# chkconfig exim on
# chkconfig dovecot on

10. Выстав­ля­ем пра­ва на поч­то­вые каталоги
Важ­но пра­виль­но выста­вить пра­ва досту­па на важ­ные папки,
у мно­гих начи­на­ю­щих воз­ни­ка­ют про­бле­мы имен­но с этой частью настрой­ки Exim.

# usermod -a -G exim clamav
# chmod -Rf g+w /var/spool/exim
# chmod -Rf g+s /var/spool/exim
# chown exim:exim -R /var/spool/exim
# chown clamav:clamav -R /var/run/clamav/

Созда­ем поч­то­вый каталог

# mkdir /var/vmail

# chown exim:exim -R /var/vmail

11. Настрой­ка DNS сервера
Если у вас есть заре­ги­стри­ро­ван­ное домен­ное  имя "company.ru" и два DNS сер­ве­ра реги­стра­то­ра или хосте­ра то, дан­ный пункт настрой­ки DNS сер­ве­ра - мож­но про­пу­стить!  При этом в фай­ле - /etc/resolv.conf, долж­ны быть ука­за­ны толь­ко IP адре­са DNS сер­ве­ров ваше­го про­вай­де­ра, не надо встав­лять туда IP адре­са DNS хосте­ра или ваше­го реги­стра­то­ра домена.

Для того что­бы про­те­сти­ро­вать поч­то­вый сер­вер, настрой­те Bind. Этот пакет поз­во­лить настро­ить DNS сервер.
Пер­вым делом про­ве­ря­ем - исполь­зу­ет­ся ли наш DNS сер­вер для раз­ре­ше­ния запросов:

# cat /etc/resolv.conf

Наш сер­вер DNS будет авто­ри­тар­ным для зоны "point.local", запрос о зоне "point.local" будет выда­вать­ся нашим DNS-ком, а дру­гие кото­рые он не смо­жет обра­бо­тать уйдут на сер­вер DNS провайдера.

Наш поч­то­вый сер­вер име­ет сле­ду­ю­щий IP адрес 192.168.1.2, он еще у нас дол­жен быть и DNS сер­ве­ром. Поэто­му вез­де в настрой­ках DNS сер­ве­ра меня­ем IP адрес на наш 192.168.1.2

# yum install bind -y

# vi /etc/sysconfig/network

# vi /etc/hosts

Уда­ля­ем Network Manager (NM):

# service NetworkManager stop

# chkconfig NetworkManager off

# yum remove dnsmasq -y

# vi /etc/resolv.conf

Здесь IP адреса:
192.168.1.2 - наш DNS сервер
111.222.333.444 - IP адрес DNS сер­ве­ра провайдера
Сохра­ня­ем на вся­кие пожар­ные основ­ной кон­фи­гу­ра­ци­он­ный файл демо­на "named":

# mv /etc/named.conf /etc/named.conf.orig

Созда­ем чистый кон­фиг файл с настрой­ка­ми внизу:

# vi /etc/named.conf

 

 

Созда­ем файл пря­мо­го про­смот­ра зоны - point.local (forward zone)

# vi /var/named/point.local.fwd

 

 

Созда­ем файл обрат­но­го про­смот­ра зоны - point.local (reverse zone)

# vi /var/named/point.local.rev

Здесь  за место 1.168.192 - надо ука­зать свою под сеть в обрат­ном порядке.
А так­же в при добав­ле­нии PTR запи­си тре­бу­ет­ся ста­вить послед­нею циф­ру IP адреса,
у нас эта циф­ра 2, так как IP адрес поч­то­во­го сер­ве­ре окан­чи­ва­ет­ся на 2 (192.168.1.2)

$ORIGIN 1.168.192.in-addr.arpa.

 

# service named start

# chkconfig  named on

Про­вер­ка рабо­ты DNS:

# dig point.local

 

 ; <<>> DiG 9.7.4-RedHat-9.7.4-1.el5 <<>> point.local

 

# nslookup mx.point.local

# nslookup 192.168.1.2

# nslookup -type=MX point.local

hostname -f

# reboot

 

12. Настрой­ка PostfixAdmin
Здесь мы настро­им веб интер­фейс под назва­ни­ем - PostfixAdmin. Этот интер­фейс управ­ля­ет поч­то­вым сер­ве­ром. В нем мож­но: добав­лять обслу­жи­ва­е­мые доме­ны для почты,  откры­вать или уда­лять поч­то­вые учет­ные запи­си, настра­и­вать функ­цию авто­от­вет­чи­ка  на опре­де­лён­ные ящи­ки и т.д.

Зай­ди­те в PostfixAdmin, для это­го запу­сти­те бра­у­зер и вве­ди­те адрес: http://127.0.0.1/postfixadmin/setup.php

В окош­ке "Change setup password" вве­ди­те свой пароль два раза. Запом­ни­те его, он нам при­го­дит­ся в дальнейшем.

Во вто­ром окош­ке появит­ся HASH наше­го паро­ля (шиф­ро­ван­ный пароль). Ско­пи­руй­те эту "беле­бер­ду" в буфер.

После того как вы ско­пи­ро­ва­ли "hash" в буфер обме­на, его нуж­но вста­вить в файл:

/var/www/html/postfixadmin/config.inc.php

Открой­те этот файл и най­ди­те в нем строчку:

За место "changeme" ста­вим наш hash кото­рый ско­пи­ро­ва­ли в буфер. Полу­чит­ся так:

И еще поставь­те NO здесь:

Сохра­ни­те файл.

Зай­ди­те еще раз на стра­нич­ку: http://127.0.0.1/postfixadmin/setup.php

 

Создай­те учет­ку Адми­на, напри­мер "administrator@point.local", опре­де­ли­те его пароль.

 

Нажми­те на кноп­ке "Add Admin", появит­ся надпись:

Admin has been added!
(administrator@point.local)

Запом­ни­те адрес адми­на и пароль.

Теперь уже захо­дим на стра­нич­ку http://127.0.0.1/postfixadmin/

 

Вво­дим поч­то­вый адрес адми­на и пароль.

 

Добав­ля­ем домен "point.local":  Domain List - > New Domain -> point.local

Галоч­ка Add default mail aliases

 

После появит­ся надпись:

Созда­дим пер­вый поч­то­вый ящик, я создал "linux@point.local".

Меню Virtual List -> Add MailBox ->

Username - linux

Password - 123 (sample)

 

Теперь при­шло вре­мя тести­ро­вать наш поч­то­вый сервер.

Най­ди­те в локаль­ной сети сво­бод­ный ком­пью­тер, настрой­те сете­вые настрой­ки так что­бы он видел поч­то­вый сервер.

Сете­вой адрес дол­жен быть в под сети сер­ве­ра. Не забудь­те ука­зать ДНС сер­вер,  у меня он име­ет IP адрес поч­то­во­го сервера.

Открой­те поч­то­вый кли­ент Outlook, ука­жи­те адрес ваше­го сер­ве­ра и логин/пароль учет­ной запи­си linux@point.local

 

Отправь­те себе тесто­вое письмо!

13. Уста­нов­ка и настрой­ка RoundCube Web Mail
На дан­ном эта­пе у нас есть удоб­ный веб интер­фейс для адми­ни­стра­то­ра поч­то­во­го сер­ве­ра, но нет веб интер­фей­са для поль­зо­ва­те­лей. Этот досад­ное недо­ра­зу­ме­ние реша­ет­ся уста­нов­кой RoundCube:

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

# yum install php php-xml php-mcrypt php-intl php-sqlite php-pgsql

# cd /var/www/html

# wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.9.5/roundcubemail-0.9.5.tar.gz/download

# tar xvfz roundcubemail-0.9.5.tar.gz

# mv roundcubemail-0.9.5 roundcube

Cоз­да­ем файл roundcube.conf:

# vi /etc/httpd/conf.d/roundcube.conf

Впи­сы­ва­ем следующее:

 

 

[root@centos6 ~]# cat /etc/httpd/conf.d/roundcube.conf
<VirtualHost *:8080>
DocumentRoot /var/www/user1/site/roundcube.test.t
ServerName roundcube.test.t
ServerAlias www.roundcube.test.t ^webmail.*
CustomLog /var/log/httpd/roundcube.test.t-access.log combined
ErrorLog /var/log/httpd/roundcube.test.t-error.log
<IfModule mod_fcgid.c>
SuexecUserGroup user1 user1
<Directory /var/www/user1/site/roundcube.test.t>
Options +ExecCGI
AllowOverride All
AddHandler fcgid-script .php
FCGIWrapper /var/www/user1/php-cgi/php.cgi .php
Order allow,deny
Allow from all
</Directory>
</IfModule>
</VirtualHost>
[root@centos6 ~]# cat /etc/nginx/conf.d/roundcube.conf
server {
listen 80;
server_name roundcube.test.t www.roundcube.test.t;
location ~ /.ht {
deny all;
}
location ~* .(jpg|swf|jpeg|gif|png|css|js|ico)$ {
root /var/www/user1/site/roundcube.test.t;
}
location ~ ^/webmail($|/.*) {
alias /var/www/user1/site/roundcube.test.t$1;
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}

Далее созда­ем базу дан­ных и пользователя:

# mysqladmin -p create roundcubemail

# mysql -p

# service httpd restart

# chown apache:apache -R /var/www/html/roundcube/temp

# chown apache:apache -R /var/www/html/roundcube/logs

Ста­вим свой часо­вой пояс:

# vi /etc/php.ini

или

Далее  идем по адре­су http://127.0.0.1/roundcube/installer/ и  уста­нав­ли­ва­ем по умол­ча­нию, не меняя ника­ких настро­ек, кро­ме двух полей,  где нуж­но ука­зать назва­ние базы дан­ных и пароль. В нашем слу­чае  назва­ние базы будет "roundcubemail", а пароль ука­зан­ный ранее 'password'.  А так­же сле­ду­ет вклю­чить опцию 'htmleditor' в 'always'. В про­цес­се настрой­ки надо обя­за­тель­но согла­сит­ся на созда­ние схе­мы базы Roundcube (Create Database Scheme). В про­тив­ном слу­чае будет ошибка.
По окон­ча­нии уста­нов­ки веб интер­фей­са, Вам будет пред­ло­же­но ска­чать и сохра­нить два кон­фи­гу­ра­ци­он­ных файла:
1. db.inc.php
2. main.inc.php
Эти два фай­ла тре­бу­ет­ся пере­ме­стить в папку:

Далее откры­ва­ем файл /var/www/html/roundcube/config/main.inc.php и в нем меня­ем алго­ритм по умол­ча­нию на:

$rcmail_config['imap_auth_type'] = cram-md5;

А так­же ста­вим IP адрес сво­е­го поч­то­во­го хоста здесь:

Если пароль к базе Roundcube был вве­ден с ошиб­кой, его мож­но сме­нить в файле

Здесь:
roundcube - имя поль­зо­ва­те­ля базы roundcubemail
password - пароль досту­па к базе
roundcubemail - сама база веб Интер­фей­са RoundCube

Если все про­шло успеш­но, уда­ля­ем дирек­то­рию уста­нов­щи­ка в целях безопасности.

Пыта­ем­ся зай­ти с Веб интер­фей­са, в бра­у­зе­ре вво­дим адрес:

или

Будет выве­де­но окош­ко, где надо указать:
- логин
- пароль
- сервер
Вво­дим например:
- логин: user@point.local
- пароль: 123456
- сер­вер: point.local

 

14. Настрой­ка фаер­вол­ла iptables
Созда­ем файл с пра­ви­ла­ми фаерволла:

 

#!/bin/bash

#Очист­ка всех цепочек
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -X
iptables -X -t nat
iptables -X -t mangle

#Поли­ти­ка по умол­ча­нию - запре­тить все, что не разрешено
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Раз­ре­ша­ем обра­ще­ние к lo интерфейсу
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT

#Про­пус­кать уже ини­ци­и­ро­ван­ные, а так­же их дочер­ние паке­ты на вход
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

#Про­пус­кать новые, ини­ци­и­ро­ван­ные, а так­же их дочер­ние на выход
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Раз­ре­ша­ем пин­ги с внeш­не­го интерфейса
iptables -A INPUT -i eth0 -p ICMP -j ACCEPT
iptables -A OUTPUT -o eth0 -p ICMP -j ACCEPT

#Раз­ре­ша­ем доступ по SSH на 1234 порт сервера
iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1234 -j ACCEPT

#Раз­ре­ша­ем WWW на 80 порт (для Roundcube и Postfixadmin)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

#Раз­ре­ша­ем поч­то­вый доступ по пор­там 143 (IMAP), 110(POP3) и 25 (SMTP).
iptables -A INPUT -p tcp -m multiport --dports 25,110,143 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 25,110,143 -j ACCEPT

#Раз­ре­ша­ем ходить DNS запро­сам по UDP протоколу
iptables -A OUTPUT  -p udp -m udp  --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT   -p udp -m udp  --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#Раз­ре­ша­ем ходить DNS запро­сам по TCP протоколу
iptables -A OUTPUT  -p tcp -m tcp  --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT   -p tcp -m tcp  --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Лими­ти­ру­ем запро­сы по DNS порту
iptables -A INPUT -p udp --dport 53 -m hashlimit --hashlimit-name DNS --hashlimit-above 20/second \
--hashlimit-mode srcip --hashlimit-burst 100 --hashlimit-srcmask 28 -j DROP

 

Даем пра­ва на запуск фай­ла (испол­ня­е­мый файл):

Встав­ля­ем авто­за­пуск скрип­та во вре­мя загруз­ки ОС:

# vi /etc/rc.d/rc.local

15. Уста­нов­ка Fail2ban

На сер­вер часто ломят­ся раз­ные робо­ты (боты), под­би­рая паро­ли и логи­ны. Логи поч­то­вой систе­мы от этих ботов рас­тут, и самое глав­ное в кон­це кон­цов не исклю­че­но что, бот под­бе­рет пра­виль­ную пару логин/пароль. Ути­ли­та Fail2Ban помо­га­ет ути­хо­ми­рить ботов, бло­ки­руя через iptables ip адре­са хостов ботов.

# yum install fail2ban -y

Открой­те файл - /etc/fail2ban/jail.conf

# vi /etc/fail2ban/jail.conf

И  добавь­те в конец фай­ла сле­ду­ю­щий текст:

 

 

Здесь IP адрес:
192.168.1.2 - за место это­го IP адре­са ука­зы­ва­ем Ваш внеш­ний белый адрес кото­рый не будет про­ве­рят­ся fail2ban. Если их два, ука­зы­ва­ем их через пробел.

Созда­ем файл - /etc/fail2ban/filter.d/roundcube.banhammer.conf:

# vi /etc/fail2ban/filter.d/roundcube.banhammer.conf

Созда­ем файл - /etc/fail2ban/filter.d/dovecot.banhammer.conf:

# vi /etc/fail2ban/filter.d/dovecot.banhammer.conf

Созда­ем файл - /etc/fail2ban/filter.d/exim.banhammer.conf

# vi /etc/fail2ban/filter.d/exim.banhammer.conf

Ста­вим fail2ban в автозагрузку:

# chkconfig fail2ban on

Стар­ту­ем демо­на fail2ban:

# service fail2ban start

16 Воз­мож­ные проблемы:

забыл про­пи­сать пароль во вто­рой строч­ки /etc/exim/exim.conf


Проблема:


надо  зако­мен­ти­ро­вать в кон­фи­гу­ра­ци­он­ном фай­ле /etc/freshclam.conf две строчки:

или

А потом про­пи­сать путь к нему в фай­ле /etc/clamd.d/clamav.conf

Сброс паро­ля Адми­ни­стра­то­ра в Postfixadmin Как сбро­сить пароль Адми­ни­стра­то­ра в Postfixadmin

1
dovecot pw -s MD5-CRYPT -p password | sed 's/{MD5-CRYPT}//'

1
mysql -u root –p

1
use postfixadmin;

1
select * from admin;

1
update admin set password='хеш пароль' where username='admin@blablabla.ru';