LinuxForum.Fans
Тема

Ограничения аутентификации в Postfix

Автор: Cruiser78 7 сообщений 2512 просмотров
#281502

Привет всем!

Дано:
1. Posfix+Dovecot.
2 Имеются следующие разрешения по доступу к серверу (в main.cf):
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
И так далее.
3. В логах наблюдаю попытки подбора паролей с внешних хостов.
Вопрос простой - можно ли каким то образом ограничить сеть, набор хостов, с которых можно логиниться на smtp-сервер?
То есть сейчас работает сложение правил (permit_mynetworks ИЛИ permit_sasl_authenticated). Подберешь пароль, получишь доступ на отправку почты.
А я хочу сделать умножение этих правил, то есть реализовать "permit_mynetworks И permit_sasl_authenticated". И тогда, если и подберут пароль на отправку почты из внешнего мира, то все равно, чтобы обломайтис хакеру вышел. Чтобы отправка почты с сервера была доступна только аутентифицированным пользователям из моей локальной сети. И больше никому.

Возможно ли такое?

#281758

если моя память не спит с другим, то правила в рестрикшенах применяются по очередности до срабатывания правила (как в iptables). т.е сначала permit_mynetworks, потом, если все ок, то permit_sasl_authenticated и т.д по списку.
для ограничения коннекта клиентов можно заюзать

text
check_client_access hash:/etc/postfix/client_access

. там можно пользовать рег. выражения, маски подсетей etc. Вроде бы ответил, нет?

#281793
osorkon написал:
если моя память не спит с другим, то правила в рестрикшенах применяются по очередности до срабатывания правила (как в iptables). т.е сначала permit_mynetworks, потом, если все ок, то permit_sasl_authenticated и т.д по списку.
для ограничения коннекта клиентов можно заюзать
text
check_client_access hash:/etc/postfix/client_access

. там можно пользовать рег. выражения, маски подсетей etc. Вроде бы ответил, нет?

Нет, не ответил. То, что правила идут по списку - это изначально понятно. Но при этом получается, что вначале мы разрешаем permit_mynetworks. Если клиент в моей сети, то остальные правила просто не просматириваются. И до правила permit_sasl_authenticated мы просто не добираемся.
Если же клиент не в моей сети, то смотрим как раз тогда на permit_sasl_authenticated. Ну и если он пойдет аутентификацию, то можно пускать... Откуда бы он не заходил ко мне из внешнего мира.
То есть идет такое выражение:
[ permit_mynetworks | permit_sasl_authenticated ]

Я же хочу иметь, чтобы работало так
[permit_mynetworks & permit_sasl_authenticated]
Причем чтобы это работало на этапе проверки клиента, на проверке HELO, но не позже.

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

#281820
"Cruiser78" написал:

Если клиент в моей сети, то остальные правила просто не просматириваются. И до правила permit_sasl_authenticated мы просто не добираемся.
Если же клиент не в моей сети, то смотрим как раз тогда на permit_sasl_authenticated. Ну и если он пойдет аутентификацию, то можно пускать... Откуда бы он не заходил ко мне из внешнего мира.

А это факт или предположение?

#281879
"Macumazan" написал:
А это факт или предположение?

факт. мануал postfix'a не против.
2Cruiser78
правильно ли я понял. вы хотите что бы почту имели возможность отправлять только сети mynetworks? остальные (за пределами mynetworks - нет). т.е такой себе закрытый mta для, грубо говоря, нужд локальной сети без доступа из вне.
если так то что мешает

"osorkon" написал:
для ограничения коннекта клиентов можно заюзать check_client_access hash:/etc/postfix/client_access. там можно пользовать рег. выражения, маски подсетей etc. Вроде бы ответил, нет?
#281888
osorkon написал:

правильно ли я понял. вы хотите что бы почту имели возможность отправлять только сети mynetworks? остальные (за пределами mynetworks - нет). т.е такой себе закрытый mta для, грубо говоря, нужд локальной сети без доступа из вне.

Да, совершенно верно. Но меня гложут смутные подозрения в том, что если я применю check_client_access, то заблокирую прием почты из внешнего мира моим внутренним клиентам. А это недопустимо. Почта должна ходить в оба конца.

#281898

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

Войдите или зарегистрируйтесь, чтобы ответить.