URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91419
[ Назад ]

Исходное сообщение
"Postfix relay и виртуальные юзеры"

Отправлено paulstrong , 20-Апр-11 21:54 
Всем привет!
Обращаюсь к этому ресурсу, потому что совсем не осталось времени на решение задачи, завтра надо сдавать проект, а сделать никак не получается.
Есть сервер, нужно его настроить, чтобы он работал в следующих режимах:
1.Принимает почту для пользователей домена из внешки от анонимных пользователей
2.Отправляет почту во внешку только от пользователей домена
Думаю, идея понятна, нельзя, чтобы сервер стал жертвой спамеров.
Вот мой конфиг:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relay_domains = $mydestination
mynetworks = 0.0.0.0/0
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
message_size_limit = 15000000
recipient_delimiter = +
inet_interfaces = all

virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_uid_maps = hash:/etc/postfix/vuidmaps
virtual_gid_maps = hash:/etc/postfix/vuidmaps
virtual_alias_maps = pcre:/etc/postfix/virtual

На текущий момент сервер позволяет отправлять через себя почту куда угодно. Где подкрутить гаечку?

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Postfix relay и виртуальные юзеры"
Отправлено artemrts , 20-Апр-11 23:35 
>[оверквотинг удален]
> inet_interfaces = all
> virtual_mailbox_domains = /etc/postfix/vhosts
> virtual_mailbox_base = /var/mail/virtual
> virtual_mailbox_maps = hash:/etc/postfix/vmaps
> virtual_uid_maps = hash:/etc/postfix/vuidmaps
> virtual_gid_maps = hash:/etc/postfix/vuidmaps
> virtual_alias_maps = pcre:/etc/postfix/virtual
> На текущий момент сервер позволяет отправлять через себя почту куда угодно. Где
> подкрутить гаечку?
> Заранее спасибо!

А о smtpd_client_restrictions, smtpd_helo_restrictions, smtpd_sender_restrictions, smtpd_recipient_restrictions вы чтонить слышали\читали?
Go to http://www.postfix.org/documentation.html :-)


"Postfix relay и виртуальные юзеры"
Отправлено LSTemp , 20-Апр-11 23:41 
>[оверквотинг удален]
> inet_interfaces = all
> virtual_mailbox_domains = /etc/postfix/vhosts
> virtual_mailbox_base = /var/mail/virtual
> virtual_mailbox_maps = hash:/etc/postfix/vmaps
> virtual_uid_maps = hash:/etc/postfix/vuidmaps
> virtual_gid_maps = hash:/etc/postfix/vuidmaps
> virtual_alias_maps = pcre:/etc/postfix/virtual
> На текущий момент сервер позволяет отправлять через себя почту куда угодно. Где
> подкрутить гаечку?
> Заранее спасибо!

sender_restrictions
recipient_restricions
client_restrictions

спи спокойно - до завтра все равно не управишся - придется доки читать



"Postfix relay и виртуальные юзеры"
Отправлено mef , 21-Апр-11 07:23 
У тебя openrelay. Надо бы поправить, а то информация об этом очень быстро распространяется по спамерам. Буквально за сутки писем придет столько, что винт может не справляться даже с записью в лог))

"Postfix relay и виртуальные юзеры"
Отправлено Paulstrong , 21-Апр-11 16:29 
Спасибо всем за подсказки, сделал задуманное при помощи permissions и mynetworks

"Postfix relay и виртуальные юзеры"
Отправлено LSTemp , 22-Апр-11 12:31 
> Спасибо всем за подсказки, сделал задуманное при помощи permissions и mynetworks

лажа. все адреса легко подделываются. лучше изучите то, о чем Вам выше написали.


"Postfix relay и виртуальные юзеры"
Отправлено Paulstrong , 22-Апр-11 18:30 
>> Спасибо всем за подсказки, сделал задуманное при помощи permissions и mynetworks
> лажа. все адреса легко подделываются. лучше изучите то, о чем Вам выше
> написали.

я ошибся, опечатался, сделано при помощи restrictions


"Postfix relay и виртуальные юзеры"
Отправлено Vladimir , 23-Апр-11 07:27 
> mynetworks = 0.0.0.0/0

Вот это мне понравилось, сообщите свой ip-aдрес .


"Postfix relay и виртуальные юзеры"
Отправлено Paulstrong , 23-Апр-11 09:41 
>> mynetworks = 0.0.0.0/0
>  Вот это мне понравилось, сообщите свой ip-aдрес .

не скажу) так сделал - потому что почто почему не релеилась с общеизвестных почтовых серверов, писал relay access denied (571), вот и сделал, но потом нашел ноги, оказалось, что подобное сообщение отдавалось когда письма приходили на *.mydomain.ru, стал копать в сторону virtual_mailbox_domains /etc/postfix/vhosts, в файле /etc/postfix/vhosts:
mydomain.ru
.mydomain.ru
постфикс судя по всему не понимал .mydomain.ru и пропускал эту запись

сделал через virtual_mailbox_domains pcre:/etc/postfix/vhosts:
/^(.*\.)|()mydomain\.ru$/

сейчас все замечательно работает, правда периодически в логах проскакивает сообщение warning: /etc/postfix/vhosts, line 1: no replacement text: using empty string, что вобщем то логично

может кто знает, как правильно задать подобное правило постфиксу?

да, вы кстати как в воду глядели, за два дня в логи стало валиться столько сообщений(!!!), что свои логи отлавливаешь еле-еле! гребаные спамеры :)))))


"Postfix relay и виртуальные юзеры"
Отправлено LSTemp , 25-Апр-11 00:00 
>>> mynetworks = 0.0.0.0/0

Вы ему поставили в свои (разрешенные по умолчанию сети) ВСЕ возможные адреса. 127.0.0.1/32 - без вариантов.

ADD
хотя не помню точно - м/б такое значени как раз и указывает, что доверенных сетей нет - но от греха подальше. там же еще параметр конфигурации есть  - кому доверять типа: сети/хосту/...

>>  Вот это мне понравилось, сообщите свой ip-aдрес .

а какой смысл скрывать IP сервака, который публично выставлен в интернет? Думаете спаммеры его не найдут что ли )?

Так я его хоть протестировать снаружи смогу, указать Вам на очевидные промахи его работы (если они есть). А иначе дергайте логи, учитесь на собственных ошибках итд.


>[оверквотинг удален]
> постфикс судя по всему не понимал .mydomain.ru и пропускал эту запись
> сделал через virtual_mailbox_domains pcre:/etc/postfix/vhosts:
> /^(.*\.)|()mydomain\.ru$/

/^((.*\.)|())mydomain\.ru$/ ?
или что_то.mydomain.ru или mydomain.ru

/^((.+\.)|())mydomain\.ru$/ ?
что_то не должно быть пустым. как позволяет это * (по классике  - это 0 или больше повторений символа. как там postfix это проглатывает  - не помню, но идея думаю ясна)

судя по приведнному выражению у вас нет доменов 4-го уровня. так не парьте мозги - уберите это pcre и поставьте соотвествующие значение Вашего домена в основном файле конфигурации postfix. более того - если почитаете документацию, то найдете параметр, разрешающий принимать почту от всех поддоменов для Вашего сервера.

> сейчас все замечательно работает, правда периодически в логах проскакивает сообщение warning:
> /etc/postfix/vhosts, line 1: no replacement text: using empty string, что вобщем
> то логично
> может кто знает, как правильно задать подобное правило постфиксу?
> да, вы кстати как в воду глядели, за два дня в логи
> стало валиться столько сообщений(!!!), что свои логи отлавливаешь еле-еле! гребаные спамеры
> :)))))


"Postfix relay и виртуальные юзеры"
Отправлено ALex_hha , 26-Апр-11 00:17 
> mynetworks = 0.0.0.0/0

оригинально :)


"Postfix relay и виртуальные юзеры"
Отправлено Paulstrong , 13-Май-11 12:39 
>> mynetworks = 0.0.0.0/0
> оригинально :)

я уже понял, когда спамеры начали стучаться 8)