我有一台带有 cPanel 的 Centos 服务器。
昨天,一些黑客成功连接到我的 smpt 服务器并从该服务器发送了数千封电子邮件。
我想要做的是阻止除 HTTP 和 HTTPS 端口之外的所有端口(IN 和 OUT),除了某些 IP(出于管理目的)。
过去几个月我已经这样做了,并且打开了 smpt 端口。这工作得很好,但我想知道阻止端口 25、465 和 587(IN 和 OUT)是否会阻止服务器本身发送电子邮件。我有一些需要发送电子邮件的 php 脚本。
我不需要任何电子邮件帐户,因此不需要从邮件客户端发送电子邮件。
答案1
SMTP 涉及端口 25 上的两个 SMTP 服务器之间的对话。我将从本网站,演示了如何使用 telnet 测试 SMTP:
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: <[email protected]>
server: 250 Sender <[email protected]> Ok
client: RCPT to: <[email protected]>
server: 250 Recipient <[email protected]> Ok
client: DATA
server: 354 Ok Send data ending with <CRLF>.<CRLF>
client: From: [email protected]
client: To: [email protected]
client: Subject: Test message
client:
client: This is a test message.
client: .
server: 250 Message received: [email protected]
client: QUIT
server: 221 mx1.example.com ESMTP server closing connection
如果您只允许外发,那么这将是一次短暂的对话。您的服务器永远不会收到来自远程 SMTP 服务器的任何回复。
换句话说:是的,它会阻止邮件。
答案2
是的,如果您阻止端口号。则无法成功进行该服务所需的通信。
答案3
或者,您可以停止服务器并仅在需要时启动它,而不是在需要时阻止连接并解除阻止(这似乎是您想要做的),这看起来像一个“更清洁”的选项。