*Drive*- Здесь рулят padonki https://drivesource.ru/ |
|
Postfix+LDAP+SASL+Postgrey+clamav https://drivesource.ru/viewtopic.php?f=15&t=636 |
Страница 1 из 2 |
Автор: | Padonak [ 27 окт 2008, 23:29 ] |
Заголовок сообщения: | Postfix+LDAP+SASL+Postgrey+clamav |
# apt-get install postgrey В файле /etc/default/postgrey отредактируйте параметры по вашему усмотрению Код: POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=600" POSTGREY_TEXT="Sorry, but server is temporarily inaccessible" В файле /etc/postfix/main.cf добавим к smtpd_recipient_restrictions параметр Код: check_policy_service inet:127.0.0.1:10023
|
Автор: | Padonak [ 27 окт 2008, 23:30 ] |
Заголовок сообщения: | Анализ статистики |
Для анализа постфиксовской статистики воспользуемся парсером pflogsumm. # apt-get install pflogsumm Запускается парсер следующим образом: # pflogsumm /var/log/mail.log На выхлопе - различная полезная информация. |
Автор: | Padonak [ 13 май 2009, 00:22 ] |
Заголовок сообщения: | postfix-saslauth-LDAP + SSL-TLS |
Устанавливаем: Код: 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 Ииииии...... Цитата: Все тесты пройдены успешно. Сервер не является публичным пересыльщиком почты. Всё прекрасно ! |
Автор: | Padonak [ 13 май 2009, 22:54 ] |
Заголовок сообщения: | Очистка очередей в postfix. |
Иногда у системных администраторов, а также владельцев выделенных серверов возникает необходимость очистить все очереди сообщений. Например, когда в результате взлома какого-либо уязвимого скрипта, спамеры пытаются разослать спам с выделенного сервера. К вам приходит куча Абузов, и вы не знаете что делать. Приведу несколько команд применительно к postfix. Ну первым делом посоветую набрать команду: Код: mailq Если в результате вы выдите что-то типа Mail queue is empty либо в очереди лежит несколько сообщений, то значит с вашей почтой все в порядке. Если же в результате выводится порядка нескольких сотен, тысяч, миллионов почтовых сообщений, значит срочно нужно бить тревогу. Первым делом в такой ситуации необходимо отключить почтовый сервер: Код: service postfix stop чтобы больше не рассылать спам. Затем, конечно, необходимо разобраться в самом взломе, выявить уязвимый скрипт, либо нечистоплотного клиента вашего сервера, либо провести ряд мероприятий по улучшению безопасности вашего сервера. Тут тема очень широка и в формат простой заметки она никак не войдет . Ну и затем необходимо очистить все очереди почтовых сообщений командой: Код: postsuper -d ALL После чего вновь запустить почтовый сервер: Код: service postfix start что бы сообщения в очереди начали обрабатываться заново: Код: postsuper -r ALL
|
Автор: | Padonak [ 13 июл 2009, 14:44 ] |
Заголовок сообщения: | ClamAV + clamsmtpd + Postfix |
Код: sudo apt-get install clamav clamsmtp Код: vim /etc/clamsmtpd.conf Код: # line 27: uncomment Header: X-AV-Checked: ClamAV using ClamSMTP # line 45: change User: clamav Код: chown -R clamav. /var/spool/clamsmtp chown -R clamav. /var/run/clamsmtp Настройка postfix В файл main.cf необходимо добавить две строчки: Код: content_filter = scan:127.0.0.1:10026 receive_override_options = no_address_mappings В файл master.cf необходимо добавить следующие строки: Код: # AV scan filter (used by content_filter) scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes # For injecting mail back into postfix from the filter 127.0.0.1:10025 inet n - n - 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8 Примечание: вокруг знака '=' пробелы не ставить. и не забыть перезагрузить : Код: systemctl restart clamav-daemon clamsmtp postfix Столкнулся с такой проблемой : ClamAV: файл clamd.ctl не создается в Ubuntu freshclam выдаёт ошибку: Код: Can't connect to clamd through /var/run/clamav/clamd.ctl: No such file or directory Что я сделал: Код: sudo systemctl stop clamav-daemon.service sudo rm /var/log/clamav/freshclam.log (иногда блокируется) sudo systemctl start clamav-daemon.service после этого : Код: root@pechkin:/etc/postfix# freshclam Mon Jan 17 20:35:45 2022 -> ClamAV update process started at Mon Jan 17 20:35:45 2022 Mon Jan 17 20:35:45 2022 -> ^Your ClamAV installation is OUTDATED! Mon Jan 17 20:35:45 2022 -> ^Local version: 0.103.2 Recommended version: 0.103.5 Mon Jan 17 20:35:45 2022 -> DON'T PANIC! Read https://www.clamav.net/documents/upgrading-clamav Mon Jan 17 20:35:45 2022 -> daily.cvd database is up-to-date (version: 26425, sigs: 1971785, f-level: 90, builder: raynman) Mon Jan 17 20:35:45 2022 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr) Mon Jan 17 20:35:45 2022 -> bytecode.cvd database is up-to-date (version: 333, sigs: 92, f-level: 63, builder: awillia2) укажем скрипт который будет уведомлять о вирусах: Код: vim /etc/clamsmtpd.conf приводим к такому виду Код: Header: X-AV-Checked: ClamAV using ClamSMTP Quarantine: on VirusAction: /etc/clamav/script.sh Сделаем скрипт выполняемым: Код: chmod +x /etc/clamav/script.sh перезапустим clamsmtp чтобы применить изменения: Цитата: service clamsmtp restart service clamsmtp status ps -ef|grep clamsmtp Код: #!/bin/sh DOMAIN=example.com ADMIN=admin@example.com PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin LINE="-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-" if [ X`echo $SENDER | egrep $DOMAIN` != "X" ]; then MAILTO=$SENDER,$ADMIN else MAILTO=`echo "$RECIPIENTS" | egrep $DOMAIN | tr '\n' ','`$ADMIN fi (echo "Virus name: $VIRUS" echo "Sender: $SENDER" echo "Recipient(s): $RECIPIENTS" echo if [ "x$EMAIL" != "x" ] && [ -f $EMAIL ] then echo "Quarantined to: $EMAIL" fi ) | cat -v | mail -s "$VIRUS found on mailserver" $MAILTO Пример скрипта: |
Автор: | Padonak [ 22 дек 2009, 21:43 ] |
Заголовок сообщения: | Создание “белых списков” адресов в Postfix |
Определение “белых списков” адресов - это первый шаг при настройке любой фильтрации почты. Этим вы гарантируете, что почта от нужных вам людей, не будет отвергнута как спам или остановлена одним из антивирусных сканеров. Разберем эту возможность на примере Postfix. Определение “белых списков” адресов в Postfix решается при помощи файлов map и директивы smtpd_sender_restriction в конфигурационном файле /etc/postfix/main.cf. Создадим в любимом текстовом редакторе файл с примерным содержимым: padonak@padonak.su OK @padonak.su OK .padonak.su OK Далее, выйдем из редактора с сохранением содержимого в виде файла /etc/postfix/whitelist. Теперь преобразим наш файл whitelist в индексированную базу данных, выполнив команду: # postmap /etc/postfix/whitelist В результате этого будет создана база данных формата hash (используется в Linux по умолчанию), содержащая список “белых адресов” пользователей или доменов, которым мы доверяем. Следующим действием будет добавление в конфигурационный файл Postfix (/etc/postfix/main.cf) следующей строки: smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/whitelist Postfix поддерживает три формата баз данных (hash, btree или dbm). Возможно, что вместо hash вам потребуется указать другой формат, который используется по умолчанию в вашей системе. Для того, чтобы узнать какой тип использует ваша система, выполните: $ postconf | grep database_type результатом может быть вывод: default_database_type = hash или: default_database_type = btree или: default_database_type = dbm В нашем примере файла /etc/postfix/whitelist мы используем следующие правила: разрешаем всю почту от одного пользователя: padonak@padonak.su разрешаем всю почту со всех адресов домена padonak.su: @padonak.su разрешаем всю почту с домена padonak.su (включая его поддомены): .padonak.su |
Автор: | Padonak [ 04 фев 2010, 20:12 ] |
Заголовок сообщения: | saslauthd + postfix |
Код: vim /etc/default/saslauthd START=yes MECHANISMS="ldap" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" Код: vim /etc/saslauthd.conf
ldap_servers: ldap://127.0.0.1/ ldap_bind_dn: cn=admin,dc=padonak,dc=su ldap_bind_pw: password ldap_version: 3 ldap_timeout: 10 ldap_cache_ttl: 30 ldap_cache_mem: 32768 ldap_scope: sub ldap_search_base: ou=Users,dc=padonak,dc=su ldap_auth_method: bind pwcheck_method: saslauthd mech_list: plain login перезапускаем saslauthd и проверяем работу testsaslauthd -u test -p test 0: OK "Success." в /etc/postfix/main.cf добавляем smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination если нигде не опечаталсо - то всё должно работать . |
Автор: | paramedic [ 13 ноя 2013, 15:25 ] |
Заголовок сообщения: | Re: Postfix - настройка почтового клиента |
Есть одна задачка, решение которой я не смог найти: Есть связка postfix+dovecot. Хранение почты в maildir'е. Доступ по ldap. Надо сделать так, чтобы клиенты pop3 забирали почту с очисткой очереди pop3, но при этом по протоколу imap почта оставалась доступной и клиенты imap видели и имели доступ ко всей почте. Если есть направления куда копать - хелп. |
Автор: | Padonak [ 13 ноя 2013, 15:30 ] |
Заголовок сообщения: | Re: Postfix - настройка почтового клиента |
ты разницу знаешь протоколов pop и imap ? Дело в том - что протокол рор не может управлять папочками и письмами на сервере, в отличии от imap. Максимум, что можно сделать с протоколом рор - это "оставлять копии писем на сервере". Тогда они будут доступны для доступа по imap . РОР - только забирает их с сервера.... З.Ы. Или Я чёт не вкурил в твоё задание |
Автор: | paramedic [ 14 ноя 2013, 00:03 ] |
Заголовок сообщения: | Re: Postfix - настройка почтового клиента |
Да закрутили мне голову. В принципе я вроде помнил (очень давно разбирался и так, поверхностно), что POP тупой до невозможности. Закрались сомнения, что если снимать статусы или еще что-то делать, то можно прочесть по POP и они не будут видны при последующих запросах писем по POP. ЗЫ: ставим себе CRM и нас уверяли, что письма при приеме в нее остаются на серваке, а по факту - забираются. Вот и с пеной у рта доказывают, что можно перенастроить сервак. |
Автор: | Padonak [ 14 ноя 2013, 00:27 ] |
Заголовок сообщения: | Re: Postfix - настройка почтового клиента |
Цитата: POP поддерживает простые требования «загрузи-и-удали» для доступа к удаленным почтовым ящикам. Хотя большая часть POP-клиентов предоставляют возможность оставить почту на сервере после загрузки, использующие POP клиенты обычно соединяются, извлекают все письма, сохраняют их на пользовательском компьютере как новые сообщения, удаляют их с сервера, после чего разъединяются.
|
Автор: | Padonak [ 10 мар 2014, 19:45 ] |
Заголовок сообщения: | Как очистить очередь postfix |
Останавливаем postfix командой Код: /etc/init.d/postfix stop И очищаем всё командой Код: postsuper -d ALL Вывод будет примерно такой : Цитата: /var/log# postsuper -d ALL postsuper: Deleted: 7 messages Патом не забывает стартануть postfix: Код: /etc/init.d/postfix start
|
Автор: | Padonak [ 16 мар 2015, 09:43 ] |
Заголовок сообщения: | possible Berkeley DB bug |
При ошибке в логах Postfix: Код: close database /var/lib/postfix/verify_cache.db: No such file or directory (possible Berkeley DB bug) Делаем вот так: Код: vim /etc/postfix/main.cf Код: # 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 |
Автор: | Padonak [ 08 окт 2015, 18:20 ] |
Заголовок сообщения: | How To Install and Setup Spamassassin on Ubuntu 12.04 |
https://www.digitalocean.com/community/ ... untu-12-04 |
Автор: | Padonak [ 08 сен 2017, 14:42 ] |
Заголовок сообщения: | Примеры управлением очередью сообщений в Postfix |
Инициировать внеплановый процесс отправки сообщений, присутствующих в очереди: Код: postqueue -f Показать содержимое очереди: Код: postqueue -p Инициировать внеплановую доставку накопившихся в очереди сообщений для домена drivesource.ru: Код: postqueue -s drivesource.ru Постмотреть параметры сообщения и причины проблем с отправкой для заданного идентификатора сообщения в очереди: Код: postcat -q 54D4E563B51
|
Страница 1 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |