Как можно при наличии полностью функционирующего почтового сервера на базе Linux (работающего под управлением Postfix/Dovecot) отключить возможность подключения к SMTP/POP3/IMAP с помощью внешних почтовых клиентов (или Telnet и т. д.), продолжая (и только) использовать веб-почту Roundcube (то есть локальную службу электронной почты)?
Roundcube подключается к Dovecot IMAP для получения почты; а серверу в целом необходимо взаимодействовать с внешним миром, поэтому простое отключение портов/брандмауэра не позволит по-прежнему отправлять/получать почту в приложении веб-почты.
решение1
Просто настройте dovecot на прослушивание 127.0.0.1 только для тех служб, которые вы не хотите предоставлять внешним пользователям. Вы можете указать это в dovecot.conf.
imap_listen = localhost
imaps_listen = localhost
Аналогично для pop3
pop3_listen = localhost
pop3s_listen = localhost
решение2
Ну выможетиспользуйте брандмауэр, чтобы гарантировать, что соединения с imap и pop3 службами не могут быть сделаны извне системы. Если ваша установка dovecot находится на другом сервере, то опять же, ваши правила брандмауэра могут быть настроены так, чтобы разрешать соединения только с/в эту систему.
Что касается SMTP, вы не можете просто заблокировать это, как вы говорите. Однако вы можете убедиться, что он принимает только соединения с/на отдельный смартхост, который просто действует как почтовый ретранслятор, но это тоже не железная защита. Я думаю, если вы хотите, чтобы какой-либо сервер был доступен в Интернете, вы должны принять, что рано или поздно люди найдут способ подключиться к нему способами, которых вы не ожидали, и вместо того, чтобы ликовать, предотвращая невозможное, я бы просто сделал то, что было разумно в этом отношении, а затем потратил бы остаток своей энергии на обеспечение безопасной настройки и управления системой.
решение3
Гораздо эффективнее ограничить подключения из космоса для тех, кто прошел аутентификацию.
Если удаленный клиент знает действительный email/пароль и может устанавливать сеансы TLS на серверах SMTP/IMAP - почему бы и нет? В качестве побочного эффекта ваши пользователи могут использовать собственные MUA, встроенные в IOS/Android.