У меня есть сервер Centos с cPanel.
Вчера некоторые хакеры успешно подключились к моему серверу smpt и отправили с него тысячи писем.
Я хочу заблокировать все порты, кроме портов HTTP и HTTPS, для всех (IN и OUT), за исключением некоторых IP (для целей администратора).
Я уже делал это последние несколько месяцев с открытыми портами smpt. Это работает отлично, но я хочу знать, не позволит ли блокировка портов 25, 465 и 587 (IN и OUT) самим сервером отправлять электронные письма. У меня есть несколько скриптов php, которым нужно отправлять электронные письма.
Мне не нужны учетные записи электронной почты, поэтому отправлять электронные письма из почтового клиента не нужно.
SMTP включает диалог между двумя SMTP-серверами через порт 25. Я собираюсь скопировать и вставить образец разговора из этот сайт, демонстрирующий тестирование SMTP с помощью telnet:
telnet: > telnet mx1.example.com smtp
telnet: Trying 192.0.2.2...
telnet: Connected to mx1.example.com.
telnet: Escape character is '^]'.
server: 220 mx1.example.com ESMTP server ready Tue, 20 Jan 2004 22:33:36 +0200
client: HELO client.example.com
server: 250 mx1.example.com
client: MAIL from: <sender@example.com>
server: 250 Sender <sender@example.com> Ok
client: RCPT to: <recipient@example.com>
server: 250 Recipient <recipient@example.com> Ok
client: DATA
server: 354 Ok Send data ending with <CRLF>.<CRLF>
client: From: sender@example.com
client: To: recipient@example.com
client: Subject: Test message
client:
client: This is a test message.
client: .
server: 250 Message received: 20040120203404.CCCC18555.mx1.example.com@client.example.com
client: QUIT
server: 221 mx1.example.com ESMTP server closing connection
Если вы разрешите только исходящие сообщения, это будет короткий разговор. Ваш сервер никогда не получит никаких ответов от удаленного SMTP-сервера.
Другими словами: Да, он заблокирует почту.
Да, если заблокировать порт #. Не будет успешной коммуникации, необходимой для работы этой службы.
В качестве альтернативы, вместо того, чтобы блокировать соединения и разблокировать, когда это необходимо (это то, что, кажется, вы хотите сделать), вы можете остановить сервер и запустить его только тогда, когда вам это нужно, это выглядит как «более чистый» вариант.