Назад | Перейти на главную страницу

Запретить серверу принимать соединения на определенном порту с другого имени хоста

На моем сервере работает несколько сервисов. Сервер доступен и из других доменов. Я создал несколько поддоменов, чтобы отделить сервисы друг от друга, но они могут быть доступны как из основного домена, так и из других доменов.

Я хотел бы знать, как я могу запретить моему серверу принимать соединения на определенных портах. Так что я могу, например, сделать свой почтовый сервер только под mail.example.com достижимый.
На сервере работает CentOS 7

Спасибо за вашу помощь

Служба, работающая на любом порту, не знает, какое имя хоста использует пользователь для подключения, если только протокол, использующий порт, не имеет метода изменения этой информации, как это делает HTTP с Host: заголовок. В противном случае, после того как имя хоста было преобразовано в IP-адрес с DNS, IP-адрес используется для соединения. Следовательно, брандмауэры не могут отличить имена хостов друг от друга.

Если вы не хотите, например, чтобы ваш SMTP-сервер был доступен с других адресов, у вас должен быть выделенный IP-адрес для него. Обычно для этого нет причин, потому что это не причиняет никакого вреда. Это еще один MTA, который подключается к серверу на основе MX запись (или почтовый клиент), а не какого-либо пользователя напрямую. Кроме того, SMTP объявляет свое имя хоста в баннере SMTP.

Для веб-серверов, поскольку протокол HTTP включает информацию об имени хоста, можно обслуживать различный контент на другом имени хоста, т. Е. Использовать Виртуальные хосты на основе имен. С HTTPS то же самое возможно, используя Индикация имени сервера (SNI).