Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
openchange [2015/04/23 07:51] 83.220.55.174 |
openchange [2015/04/23 14:43] (текущий) |
||
---|---|---|---|
Строка 91: | Строка 91: | ||
smtpd_sasl_type = dovecot | smtpd_sasl_type = dovecot | ||
smtpd_sasl_path = / | smtpd_sasl_path = / | ||
+ | |||
+ | ################################################# | ||
+ | |||
+ | smtpd_recipient_restrictions = permit_mynetworks, | ||
+ | permit_sasl_authenticated, | ||
+ | reject_unauth_destination, | ||
+ | reject_non_fqdn_recipient, | ||
+ | reject_invalid_hostname, | ||
+ | reject_unknown_recipient_domain, | ||
+ | reject_unknown_client, | ||
+ | reject_unlisted_recipient, | ||
+ | reject_unverified_recipient, | ||
+ | reject_unauth_pipelining, | ||
+ | reject_rbl_client cbl.abuseat.org, | ||
+ | reject_rbl_client dialups.mail-abuse.org, | ||
+ | reject_rbl_client bl.spamcop.net, | ||
+ | reject_rbl_client zen.spamhaus.org, | ||
+ | reject_rbl_client sbl-xbl.spamhaus.org, | ||
+ | permit \\ | ||
+ | |||
+ | |||
'' | '' | ||
+ | |||
+ | создадим пользователя | ||
+ | |||
+ | useradd -r -u 1150 -g mail -d /var/vmail -s / | ||
+ | |||
+ | |||
+ | Здесь правило reject_unauth_destination - должно запрещать открытый релей через ваш сервер. | ||
+ | |||
+ | Создадим дополнительные конфигурационные файлы, которые указаны в / | ||
+ | |||
+ | обращение к базе данных MySQL | ||
+ | |||
+ | |||
+ | mkdir / | ||
+ | |||
+ | |||
+ | touch / | ||
+ | |||
+ | добавим в него | ||
+ | |||
+ | '' | ||
+ | password = password \\ | ||
+ | hosts = localhost | ||
+ | dbname = mail \\ | ||
+ | table = domain | ||
+ | select_field = domain \\ | ||
+ | where_field = domain | ||
+ | additional_conditions = and backupmx = ' | ||
+ | '' | ||
+ | |||
+ | touch / | ||
+ | |||
+ | запишем в него | ||
+ | |||
+ | '' | ||
+ | hosts = localhost | ||
+ | dbname = mail \\ | ||
+ | table = mailbox | ||
+ | select_field = CONCAT(domain,'/', | ||
+ | where_field = username | ||
+ | additional_conditions = and active = ' | ||
+ | |||
+ | '' | ||
+ | |||
+ | touch / | ||
+ | |||
+ | запишем в него | ||
+ | |||
+ | '' | ||
+ | password = password \\ | ||
+ | hosts = localhost | ||
+ | dbname | ||
+ | table = alias \\ | ||
+ | select_field = goto \\ | ||
+ | where_field = address \\ | ||
+ | additional_conditions = and active = ' | ||
+ | |||
+ | |||
+ | Установим Dovecot | ||
+ | |||
+ | yum install dovecot dovecot-mysql -y | ||
+ | |||
+ | |||
+ | Чтобы Dovecot служил локальным транспортом, | ||
+ | |||
+ | |||
+ | '' | ||
+ | | ||
+ | |||
+ | |||
+ | В конец main.cf добавим | ||
+ | |||
+ | Чтобы лучше отбивался спам, добавим также следующие ограничения: | ||
+ | |||
+ | '' | ||
+ | reject_unauth_pipelining, | ||
+ | permit_sasl_authenticated, | ||
+ | permit_mynetworks, | ||
+ | reject_unknown_client_hostname, | ||
+ | permit \\ | ||
+ | smtpd_helo_restrictions = \\ | ||
+ | permit_mynetworks, | ||
+ | permit_sasl_authenticated, | ||
+ | reject_invalid_hostname, | ||
+ | reject_invalid_helo_hostname, | ||
+ | reject_unknown_hostname, | ||
+ | reject_non_fqdn_helo_hostname, | ||
+ | reject_unknown_helo_hostname, | ||
+ | permit \\ | ||
+ | smtpd_sender_restrictions = \\ | ||
+ | permit_sasl_authenticated, | ||
+ | permit_mynetworks, | ||
+ | reject_non_fqdn_sender, | ||
+ | reject_authenticated_sender_login_mismatch, | ||
+ | reject_unauthenticated_sender_login_mismatch, | ||
+ | reject_unknown_sender_domain, | ||
+ | permit_sasl_authenticated, | ||
+ | reject_sender_login_mismatch \\ | ||
+ | permit \\ | ||
+ | '' | ||
+ | |||
+ | Скопируем etc еще раз уже под номером 2 см выше. | ||
+ | |||
+ | Настроим dovecot | ||
+ | |||
+ | Заменим содержимое | ||
+ | |||
+ | ''# | ||
+ | # OS: Linux 2.6.32-220.7.1.el6.i686 i686 CentOS release 6.6 (Final) ext4 \\ | ||
+ | auth_debug = yes \\ | ||
+ | auth_debug_passwords = yes \\ | ||
+ | auth_mechanisms = plain login cram-md5 \\ | ||
+ | auth_verbose = yes \\ | ||
+ | base_dir = / | ||
+ | disable_plaintext_auth = no \\ | ||
+ | ssl = no \\ | ||
+ | first_valid_uid = 1150 \\ | ||
+ | last_valid_uid = 1150 \\ | ||
+ | log_timestamp = %Y-%m-%d %H:%M:%S \\ | ||
+ | mail_debug = yes \\ | ||
+ | mail_location = maildir:/ | ||
+ | passdb { \\ | ||
+ | args = / | ||
+ | driver = sql \\ | ||
+ | } \\ | ||
+ | |||
+ | protocols = imap pop3 \\ | ||
+ | service auth { \\ | ||
+ | | ||
+ | user = postfix | ||
+ | group = postfix | ||
+ | mode = 0660 \\ | ||
+ | } \\ | ||
+ | | ||
+ | user = vmail \\ | ||
+ | group = mail \\ | ||
+ | mode = 0660 \\ | ||
+ | } \\ | ||
+ | | ||
+ | user = vmail \\ | ||
+ | group = mail \\ | ||
+ | mode = 0660 \\ | ||
+ | } \\ | ||
+ | # | ||
+ | } \\ | ||
+ | service imap-login { \\ | ||
+ | executable = / | ||
+ | | ||
+ | | ||
+ | port = 143 \\ | ||
+ | | ||
+ | } \\ | ||
+ | service imap { \\ | ||
+ | executable = / | ||
+ | } \\ | ||
+ | service pop3-login { \\ | ||
+ | | ||
+ | | ||
+ | | ||
+ | port = 110 \\ | ||
+ | | ||
+ | } \\ | ||
+ | service pop3 { \\ | ||
+ | | ||
+ | } \\ | ||
+ | userdb { \\ | ||
+ | args = / | ||
+ | | ||
+ | } \\ | ||
+ | protocol lda { \\ | ||
+ | auth_socket_path = / | ||
+ | postmaster_address = admin@point.local | ||
+ | } '' | ||
+ | |||
+ | |||
+ | создаем / | ||
+ | |||
+ | |||
+ | '' | ||
+ | driver = mysql \\ | ||
+ | connect = host=localhost dbname=mail user=postfix password=password \\ | ||
+ | default_pass_scheme = CRAM-MD5 | ||
+ | user_query = SELECT '/ | ||
+ | password_query = SELECT username as user, password, '/ | ||
+ | '' | ||
+ | |||
+ | Установим Postgrey | ||
+ | |||
+ | для этого установим репозиторий rpmforge | ||
+ | |||
+ | |||
+ | rpm -Uvh http:// | ||
+ | |||
+ | |||
+ | установим Postgrey: | ||
+ | |||
+ | yum install postgrey -y | ||
+ | |||
+ | После установки рекомендуется отключить репозиторий | ||
+ | |||
+ | после строки reject_unauth_destination файла main.cf вставляем | ||
+ | |||
+ | check_policy_service unix:/ | ||
+ | | ||
+ | | ||
+ | Установим антивирус | ||
+ | |||
+ | Для этого подключим репозиторий epel | ||
+ | |||
+ | rpm -Uvh http:// | ||
+ | |||
+ | yum install clamav clamav-server clamsmtp –y | ||
+ | |||
+ | Обновим и установим и включим автобновление | ||
+ | |||
+ | fresclam -v | ||
+ | fresclam -d | ||
+ | |||
+ | Сохраним исходный конфиг | ||
+ | |||
+ | mv / | ||
+ | |||
+ | и создадим новый | ||
+ | |||
+ | touch / | ||
+ | |||
+ | отредактируем его | ||
+ | |||
+ | '' | ||
+ | TimeOut: 180 \\ | ||
+ | KeepAlives: 0 \\ | ||
+ | XClient: on \\ | ||
+ | Listen: 127.0.0.1: | ||
+ | ClamAddress: | ||
+ | Header: X-Virus-Scanned: | ||
+ | TempDirectory: | ||
+ | Action: drop \\ | ||
+ | Quarantine: on \\ | ||
+ | User: clam'' | ||
+ | | ||
+ | Дадим пользователю права доступа к нужным папкам и файлам | ||
+ | |||
+ | |||
+ | chown clam:mail -R / | ||
+ | chown clam:clam -R / | ||
+ | | ||
+ | | ||
+ | Подключим фильтрацию вирусов к postfix | ||
+ | |||
+ | в / | ||
+ | |||
+ | добавим | ||
+ | |||
+ | '' | ||
+ | receive_override_options = no_address_mappings'' | ||
+ | |||
+ | |||
+ | а в master.cf | ||
+ | |||
+ | |||
+ | vi / | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | |||
+ | 127.0.0.1: | ||
+ | -o content_filter= | ||
+ | -o receive_override_options=no_unknown_recipient_checks, | ||
+ | -o smtpd_helo_restrictions= | ||
+ | -o smtpd_client_restrictions= | ||
+ | -o smtpd_sender_restrictions= | ||
+ | -o smtpd_recipient_restrictions=permit_mynetworks, | ||
+ | -o mynetworks_style=host | ||
+ | -o smtpd_authorized_xforward_hosts=127.0.0.0/ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Установим Postfixadmin и apache | ||
+ | |||
+ | yum -y install httpd php php-imap php-mbstring php-common php-pdo php-mysql php-cli | ||
+ | |||
+ | |||
+ | перейдем в / | ||
+ | |||
+ | cd / | ||
+ | |||
+ | |||
+ | wget http:// | ||
+ | |||
+ | |||
+ | tar -xvzf postfixadmin-2.91.tar.gz | ||
+ | |||
+ | mv postfixadmin-2.91/ | ||
+ | |||
+ | cd postfixadmin | ||
+ | |||
+ | Сменим владельца на apache | ||
+ | |||
+ | chown -R apache: | ||
+ | откроем / | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | $CONF[' | ||
+ | Включаем автозагрузку всего что нужно | ||
+ | chkconfig mysqld on | ||
+ | chkconfig dovecot on | ||
+ | chkconfig postfix on | ||
+ | chkconfig httpd on | ||
+ | chkconfig postgrey on | ||
+ | chkconfig clamd on | ||
+ | chkconfig clamsmtpd on | ||
+ | chkconfig saslauthd on | ||