Устанавливаем:
Код:
apt-get install sasl2-bin libsasl2-2 libsasl2-modules libsasl2-modules-ldap
редактируем:
vim /etc/default/saslauthdприводим к такому виду строчки:
Код:
START=yes
MECHANISMS="ldap"
CONFIG_FILE="/etc/saslauthd.conf"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
создаём и редактируем файлик :
vim /etc/saslauthd.confКод:
ldap_servers: ldap://localhost
ldap_search_base: ou=Users,dc=padonak,dc=su
ldap_filter: (uid=%u)
добавляем пользователя POSTFIX в группу SASL : vim /etc/group
Цитата:
sasl:x:45:postfix
редактируем файл :
vim /etc/postfix/sasl/smtpd.confКод:
pwcheck_method: saslauthd
log_level: 3
mech_list: PLAIN LOGIN
добавдяем в
vim /etc/postfix/main.cfКод:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
рестартуем сервисы :
Код:
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
тестим авторизацию:
Код:
testsaslauthd -u padonak -p "ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ"
если всё хорошо, то в ответ будет ЭТО :
Код:
0: OK "Success."
Если нет - то БЕДАААААААА.....
если будет такая хрень :
Цитата:
connect() : Connection refused
можно папробовать вот такое решение :
Код:
rm -rf /var/run/saslauthd
ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd
Заодно не отходя от кассы - сгенерируем сертификаты для SSL
Код:
cd /etc/postfix/ssl/
touch smtpd.key
chmod 600 smtpd.key
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt # отвечаем на вопросы
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
добавдяем в
vim /etc/postfix/main.cfКод:
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
smtp_tls_note_starttls_offer = yes
smtpd_tls_auth_only = no
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
а так же строчку
permit_sasl_authenticated в (мои настройки - пример):
Код:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
compatibility_level=2
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file=/etc/postfix/ssl/smtpd.key
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
smtpd_use_tls = yes
smtp_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
# verify_cache db bug
address_verify_map = proxy:btree:$data_directory/verify_cache
proxy_write_maps =
$smtp_sasl_auth_cache_name
$lmtp_sasl_auth_cache_name
$address_verify_map
#через какой период перестать делать попытки при отправке сообщения
#и вернуть его отправителю с ошибкой
maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d
# Задержка перед отправкой сообщения об ошибке (4xx or 5xx). По умолчанию 1s.
smtpd_error_sleep_time = 3s
# количество ошибок, которые должны быть сделаны, прежде чем наш сервер начнет замедлять ответы. По умолчанию 10.
smtpd_soft_error_limit = 5
# максимальное количество ошибок, которые может сделать удаленный сервер SMTP. После с ним будет разорвана сессия. По умолчанию 20.
smtpd_hard_error_limit = 10
#параметр расчетного времени. Именно от него будут вести отчет другие значения.
# По умолчанию также равен 60s.
anvil_rate_time_unit = 60s
# сколько клиенту можно отправлять сообщений за anvil_rate_time_unit
smtpd_client_message_rate_limit = 2
# максимальное количество получателей за anvil_rate_time_unit
smtpd_client_recipient_rate_limit = 3
# количество одновременно разрешенных подключений для клиента
smtpd_client_connection_count_limit = 2
# максимальное количество коннектов, разрешенных для клиента за anvil_rate_time_unit
smtpd_client_connection_rate_limit = 3
myhostname = mail.drivesource.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydomain = padonak.su
myorigin = $mydomain
mydestination = mail.drivesource.ru, localhost
#relayhost = 93.95.101.238
relayhost =
mynetworks = 127.0.0.0/8
93.95.101.238
192.168.4.0/23
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
message_size_limit = 104857600
######## SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
# отсекаем криво настроенные почтовые агенты
strict_rfc821_envelopes = yes
# запрещаем проверку отправителем существование адреса получателя
# на этапе передачи заголовка
disable_vrfy_command = yes
# разрешаем дополнительные проверки пока отправитель
# передает RCPT TO: и MAIL FROM: заголовки. Для детализации mail.log
smtpd_delay_reject = yes
# требуем от отправителя представиться
# (на том, как себя представляет передающий комп,
# основаны многие эффективные проверки "на вшивость"
# автоматических рассылок от зомби и троянов)
smtpd_helo_required = yes
# Всегда отклонять письма для всех неизвестных ящиков
smtpd_reject_unlisted_recipient = yes
# clamAV
content_filter = scan:127.0.0.1:10026
receive_override_options = no_address_mappings
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/client_access,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_unknown_client,
reject_unknown_client_hostname,
reject_unknown_reverse_client_hostname,
permit
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_helo_access pcre:/etc/postfix/helo_checks.pcre
reject_unknown_helo_hostname,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_hostname,
permit
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_sender_access hash:/etc/postfix/sender_access,
check_helo_access regexp:/etc/postfix/helo_regexp,
reject_authenticated_sender_login_mismatch,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
#reject_unverified_sender,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023,
permit
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_sender_access pcre:/etc/postfix/sender_checks.pcre
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unlisted_recipient,
reject_unauth_destination,
reject_unverified_recipient,
permit
smtpd_data_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
permit
smtpd_end_of_data_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_multi_recipient_bounce,
permit
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination,
permit
## проба пересылки спама
header_checks = regexp:/etc/postfix/header_checks
##########################################################################
virtual_mailbox_domains = padonak.su
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_limit = 0
# lookup directory in filesystem where to deliver message
virtual_mailbox_maps = ldap:/etc/postfix/ldap-mailbox.cf
# check account existense
virtual_alias_maps = ldap:/etc/postfix/ldap-virtual.cf hash:/etc/postfix/virtual_aliases
virtual_minimum_uid = 500
virtual_uid_maps = static:500
virtual_gid_maps = static:500
рестартуем :
Код:
/etc/init.d/postfix restart
И проверяем на открытый релей (не дай бог !)
http://tests.nettools.ru/Вводим в поле
Mail Relay: свой адрес почтовика :
padonak.suИиииии......
Цитата:
Все тесты пройдены успешно.
Сервер не является публичным пересыльщиком почты.
Всё прекрасно !
_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.