The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Авторизация SMTP только из определенной подсети Postfix+Dovecot"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 31-Окт-13, 00:35 
Доброго времени суток!

Перечитал кипу документации и форумов, но все также не могу решить проблему, надеюсь что кто-нибуть укажет куда копать.

Дано:
Ubuntu 10.04.4 LTS
Почтовая система IredMail (Postfix+Dovecot+OpenLDAP)

На данный момент из Интернета можно подключится к SMTP серверу - авторизироваться и отправлять письма.

Нужно:
Ограничить возможность SMTP авторизации только из определенных диапазонов локальной сети а именно 192.168.1.0/24 10.10.10.0/24

На данный момент конфиг Postfix'а main.cf имеет следующий вид:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.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

myhostname = mail.example.com
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
myorigin = mail.example.com
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
relayhost =
mynetworks = 127.0.0.1/32, 192.168.1.0/24, 10.10.10.0/24
recipient_delimiter = +
inet_interfaces = all
mydomain = example.com
mailbox_size_limit = 22000000
mail_name = iRedMail
mail_version = 0.6.1
relay_domains = $mydestination, proxy:ldap:/etc/postfix/ldap_relay_domains.cf
inet_protocols = ipv4
mynetworks_style = subnet
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_reject_unlisted_recipient = yes
smtpd_sender_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_sender_login_mismatch
delay_warning_time = 0h
policy_time_limit = 3600
maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical__maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_helo_access pcre:/etc/postfix/helo_access.pcre
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
enable_original_recipient = no
disable_vrfy_command = yes
home_mailbox = Maildir/
allow_min_user = no
virtual_minimum_uid = 1001
virtual_uid_maps = static:1001
virtual_gid_maps = static:1001
virtual_mailbox_base = /var/vmail
transport_maps = proxy:ldap:/etc/postfix/ldap_transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap_transport_maps_domain.cf
virtual_alias_maps = proxy:ldap:/etc/postfix/ldap_virtual_alias_maps.cf, proxy:ldap:/etc/postfix/ldap_virtual_group_maps.cf, proxy:ldap:/etc/postfix/ldap_sender_login_maps.cf, proxy:ldap:/etc/postfix/ldap_catch_all_maps.cf
virtual_mailbox_domains = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
sender_bcc_maps = proxy:ldap:/etc/postfix/ldap_sender_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap_sender_bcc_maps_user.cf
recipient_bcc_maps = proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_user.cf
smtpd_sender_login_maps = proxy:ldap:/etc/postfix/ldap_sender_login_maps.cf
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = no
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, permit_mynetworks,  permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, check_policy_service inet:127.0.0.1:10031
smtpd_tls_security_level = may
smtpd_enforce_tls = no
smtpd_tls_loglevel = 0
tls_random_source = dev:/dev/urandom
tls_daemon_random_source = dev:/dev/urandom
mailbox_command = /usr/lib/dovecot/deliver
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = dovecot-auth
content_filter = smtp-amavis:[127.0.0.1]:10024
smtp_pix_workarounds=
message_size_limit = 20971520

Буду рад любой помощи! Спасибо

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от qwertykma email(ok) on 31-Окт-13, 11:15 
Не совсем понятно что подразумевает фраза:
"Ограничить возможность SMTP авторизации только из определенных диапазонов локальной сети а именно 192.168.1.0/24 10.10.10.0/24"
И как она коррелирует со строчкой:
mynetworks = 127.0.0.1/32, 192.168.1.0/24, 10.10.10.0/24

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 31-Окт-13, 13:15 
> Не совсем понятно что подразумевает фраза:
> "Ограничить возможность SMTP авторизации только из определенных диапазонов локальной
> сети а именно 192.168.1.0/24 10.10.10.0/24"
> И как она коррелирует со строчкой:
> mynetworks = 127.0.0.1/32, 192.168.1.0/24, 10.10.10.0/24

В mynetworks перечислены две рабочие подсети (локальная и VPN) и локалхост самого сервера.

Мне нужно чтоб только из этих двух подсетей была возможность авторизироватся и отправлять почту. Сейчас же можно подключится из любой точки вне сети и зная логин и пароль использовать сервер для отправки почты.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Veon email(ok) on 31-Окт-13, 12:15 
>[оверквотинг удален]
> tls_daemon_random_source = dev:/dev/urandom
> mailbox_command = /usr/lib/dovecot/deliver
> virtual_transport = dovecot
> dovecot_destination_recipient_limit = 1
> smtpd_sasl_type = dovecot
> smtpd_sasl_path = dovecot-auth
> content_filter = smtp-amavis:[127.0.0.1]:10024
> smtp_pix_workarounds=
> message_size_limit = 20971520
> Буду рад любой помощи! Спасибо

Если не принципиально, то закройтесь файрволлом на 25 порт и всё.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 31-Окт-13, 13:05 
> Если не принципиально, то закройтесь файрволлом на 25 порт и всё.

Так почту получать то нужно

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Veon email(ok) on 31-Окт-13, 13:06 
>> Если не принципиально, то закройтесь файрволлом на 25 порт и всё.
> Так почту получать то нужно

Так получайте, в чём проблема, это 110-ый порт будет для POP3 например.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 31-Окт-13, 13:19 
>>> Если не принципиально, то закройтесь файрволлом на 25 порт и всё.
>> Так почту получать то нужно
> Так получайте, в чём проблема, это 110-ый порт будет для POP3 например.

Возможно Вы меня неправильно поняли (или я Вас), если я закрою в файрволе 25 порт как я буду получать почту от других серверов? Мне нужно всего лишь запретить авторизацию для отправки почты отовсюду кроме двух подсетей и самого сервера.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Veon email(ok) on 31-Окт-13, 13:23 
>>>> Если не принципиально, то закройтесь файрволлом на 25 порт и всё.
>>> Так почту получать то нужно
>> Так получайте, в чём проблема, это 110-ый порт будет для POP3 например.
> Возможно Вы меня неправильно поняли (или я Вас), если я закрою в
> файрволе 25 порт как я буду получать почту от других серверов?
> Мне нужно всего лишь запретить авторизацию для отправки почты отовсюду кроме
> двух подсетей и самого сервера.

Да, действительно не правильно. Но кажется нашёл, попробуйте.

smtpd_sasl_exceptions_networks = $mynetworks

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 31-Окт-13, 14:04 
> Да, действительно не правильно. Но кажется нашёл, попробуйте.
> smtpd_sasl_exceptions_networks = $mynetworks

Сейчас попробовать нет возможности, но попробую вечером.

Правда есть некоторые сомнения
Из документации http://www.postfix.org/postconf.5.html#smtpd_sasl_exceptions...

smtpd_sasl_exceptions_networks (default: empty)
What remote SMTP clients the Postfix SMTP server will not offer AUTH support to.

Some clients (Netscape 4 at least) have a bug that causes them to require a login and password whenever AUTH is offered, whether it's necessary or not. To work around this, specify, for example, $mynetworks to prevent Postfix from offering AUTH to local clients.

Как я понимаю если использовать $mynetworks, Postfix не будет предлагать AUTH для всех подсетей\хостов которые перечислены в mynetworks, и это немножко не то что я ищу. Или возможно я что-то не так понял?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Veon email(ok) on 31-Окт-13, 14:38 
>[оверквотинг удален]
> smtpd_sasl_exceptions_networks (default: empty)
> What remote SMTP clients the Postfix SMTP server will not offer AUTH
> support to.
> Some clients (Netscape 4 at least) have a bug that causes them
> to require a login and password whenever AUTH is offered, whether
> it's necessary or not. To work around this, specify, for example,
> $mynetworks to prevent Postfix from offering AUTH to local clients.
> Как я понимаю если использовать $mynetworks, Postfix не будет предлагать AUTH для
> всех подсетей\хостов которые перечислены в mynetworks, и это немножко не то
> что я ищу. Или возможно я что-то не так понял?

Там можно определять отдельно со снаком отрицания = "!", то что я  написал, это просто из мана выдернуто было

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Вячеслав (??) on 01-Ноя-13, 03:09 
> Там можно определять отдельно со снаком отрицания = "!", то что я
>  написал, это просто из мана выдернуто было

Попробовал(в разных вариациях), но к сожалению этот вариант не работает.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от Danger on 01-Ноя-13, 20:02 
>> Там можно определять отдельно со снаком отрицания = "!", то что я
>>  написал, это просто из мана выдернуто было
> Попробовал(в разных вариациях), но к сожалению этот вариант не работает.

Ковыряй postfix + dovecot на тему allow_nets

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Авторизация SMTP только из определенной подсети Postfix+Dovecot"  +/
Сообщение от ALex_hha (ok) on 03-Ноя-13, 14:54 
Копать в сторону smtpd_restriction_classes

http://www.postfix.org/postconf.5.html#smtpd_restriction_cla...
http://www.postfix.org/RESTRICTION_CLASS_README.html

> Попробовал(в разных вариациях), но к сожалению этот вариант не работает.\

что именно пробовал и что именно не работает?

smtpd_sasl_exceptions_networks = !192.168.1.0/24 !10.10.10.0/24

всем клиентам, кроме этих двух подсетей AUTH не будет анонсироваться

Правда тут нюанс, если вы используете STARTTLS, то оно все равно будет работать

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру