Postfix: вимкнення автентифікації через порт 25


12

Під час використання Postfixта IMAPна поштовому сервері зазвичай відкриваються щонайменше 3 порти

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

Я хотів би налаштувати postfix, щоб авторизовані користувачі могли надсилати електронну пошту лише через 465. За замовчуванням це не так. Користувачі також можуть використовувати STARTTLS через порт 25. Я б хотів відключити це.

Мій план - використовувати порт 25 для публічної надсилання мені електронної пошти

використовувати порт 465 для моїх користувачів (я можу використовувати брандмауер, щоб дозволити певні діапазони IP-адрес або користувацький порт)

Це не дозволить порту 25 використовуватись від грубої атаки, коли хакери намагаються відгадати користувача / пароль. Порт 25 просто не приймає користувача / пароль, навіть якщо це було б дійсно. Оскільки порт 465 обмежений брандмауером, хакери також не можуть використовувати 465.

Чи можливо це в Postfix?

Я використовую Postfix 2.9.6-2 на Debian Wheezy


1
Я знаю, що це старе, але ви завжди повинні дозволити порт 587 (подання), оскільки це правильний порт.
lbutlr

Відповіді:


14

ПОПЕРЕДЖЕННЯ:
Цей запит не відповідає кращій практиці безпеки, оскільки ви вимикаєте TLS (шифрування) на своєму головному поштовому ретрансляційному порту, піддаючи дані, що надсилаються через цей порт, стороннім слухачам та / або модифікації під час польоту. Відповідь нижче задовольняє запит, але найкраща практика вимагає також STARTTLS для підключення до порту 25.

master.cfФайл (зазвичай /etc/postfix/master.cf) управляє запуском і конфігурації конкретних служб Postfix. Така конфігурація у цьому файлі, згідно з документацією, виконує все, що вам потрібно:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Ця конфігурація вимикає аутентифікацію та параметр STARTTLS на порту 25. Увімкнено опцію STARTTLS на порту 465, вимагає використання STARTTLS, дозволяє аутентифікацію та дозволяє клієнтам підключитися лише при аутентифікації.

Ви також можете розглянути smtpd_tls_wrappermodeможливість застосування справжніх TLS-з'єднань (а не STARTTLS-з'єднань).

Зауважте, що такий тип конфігурації може ускладнити дотримання конфігурації Postfix (параметри можуть бути встановлені, main.cfа потім замінені master.cf). Інший варіант - запустити кілька екземплярів Postfix, кожен з яких має власні main.cfфайли конфігурації, які задають ці параметри.


1
якби були встановлені суперечливі варіанти main.cf, яким би віддати перевагу? З того, що ви говорите, здається, що це master.cfвідміняє main.cf. Це правильно?
Мартін Вегтер

1
Ці -oпараметри мають пріоритет в файлах конфігурації. master.cfФайл координує запуск процесів, і якщо ви були для запуску процесів вручну з -oопціями, вони скасовують всі , що зазначено в файлі конфігурації.
hrunting

Не -o smtpd_tls_security_level=noneвдасться вбити TLS / зробити все звичайним текстом у випадку, якщо якийсь сервер намагається передати електронну пошту чи інше SMTP-з'єднання сервер-сервер до порту 25?
TCB13

Це -o smtpd_tls_security_level=noneдійсно не дозволить STARTTLS працювати на порт 25 і, таким чином, зробити все спілкування у простому тексті. Саме це і запитувало.
hrunting

Я все-таки заперечую це з вищезгаданої причини. Виконання запиту ОП - це добре, але вам слід додати велике письмове попередження, що є дуже поганою ідеєю. (Будь ласка, дозвольте мені подати вашу пропозицію замість цього, додавши це. ;-))
ntninja
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.