我的服务器IP被列入黑名单发送垃圾邮件,我正在追踪发送垃圾邮件的程序。
我做了netstat ,它显示了很多使用端口25的程序
例如
tcp 0 182 10.205.3.7:38995 xxx.55.92.168:25 ESTABLISHED 31909/smtp tcp 0 0 127.0.0.1:443 127.0.0.1:52160 TIME_WAIT - tcp 0 0 10.205.3.7:53001 xxx.186.99.50:25 TIME_WAIT - tcp 0 0 127.0.0.1:52171 127.0.0.1:443 TIME_WAIT - tcp 0 0 127.0.0.1:443 127.0.0.1:52254 TIME_WAIT - tcp 0 0 127.0.0.1:52251 127.0.0.1:443 TIME_WAIT - tcp 0 0 127.0.0.1:443 127.0.0.1:52049 TIME_WAIT - tcp 0 0 127.0.0.1:52091 127.0.0.1:443 TIME_WAIT - tcp 0 0 10.205.3.7:59762 xxx.17.41.47:25 ESTABLISHED 2147/smtp tcp 0 1 10.205.3.7:50400 xxx.88.180.116:25 SYN_SENT 2151/smtp tcp 0 0 127.0.0.1:52083 127.0.0.1:443 TIME_WAIT - tcp 0 0 10.205.3.7:55824 xxx.127.217.16:25 TIME_WAIT - tcp 0 0 10.205.3.7:35888 xxx.27.42.58:25 ESTABLISHED 1913/smtp tcp 0 0 127.0.0.1:443 127.0.0.1:52242 TIME_WAIT - tcp 0 0 10.205.3.7:80 xxx.76.138.169:25703 TIME_WAIT - tcp 0 0 10.205.3.7:51114 xxx.54.188.110:25 ESTABLISHED 31424/smtp tcp 0 0 127.0.0.1:443 127.0.0.1:52059 TIME_WAIT - tcp 0 149 10.205.3.7:34686 xxx.125.136.27:25 ESTABLISHED 703/smtp tcp 0 0 10.205.3.7:34669 xxx.125.136.27:25 ESTABLISHED 32586/smtp tcp 0 0 127.0.0.1:443 127.0.0.1:52238 TIME_WAIT - tcp 0 0 127.0.0.1:443 127.0.0.1:52150 TIME_WAIT - tcp 0 0 127.0.0.1:52038 127.0.0.1:443 TIME_WAIT - tcp 0 0 10.205.3.7:37635 xxx.115.11.16:25 ESTABLISHED 31093/smtp tcp 0 0 10.205.3.7:59959 xx.127.217.21:25 ESTABLISHED 690/smtp
postfix是应该使用端口25的唯一程序,或者是所有postfix进程的别名smtp ?
——编辑—-
谢谢大家的帮助,只是为了澄清:
netstat输出中,并不清楚哪个进程属于postfix。 使用端口25的任何东西都应该是一个经过validation的SMTP程序,您都知道并且已经授权。 在你的情况下,这是唯一的postfix 。 你应该知道,有一个开放的中继也可能会导致你不经意间发送垃圾邮件。
检查这一点,以确定哪些程序正在使用哪个端口: http : //www.cyberciti.biz/faq/what-process-has-open-linux-port/ – 然后检查了这一点,以确保后缀没有configuration为一个开放的中继 – http://www.postfix.org/SMTPD_ACCESS_README.html
当你解决了这些问题,你应该好好去。 如果您位于NAT防火墙之后(networking中的计算机共享您的公共IP),则应禁止任何未授权发送邮件的计算机的出站端口25,因为您的IP将被CBL再次阻止。
您需要区分本地和远程端口,以及传入和传出连接之间的区别。
一次只能有一个进程监听本地端口25,因此只有一个程序可以接受传入的SMTP连接。 如果您尝试启动另一个,则会以“端口已被使用”错误中止。 (我忽略了在不同的本地地址在同一个端口上监听的不同程序的可能的例外,因为这与我的论点无关。)
任何数量的程序都可以在同一个或不同的远程服务器上打开传出连接到端口25。 这有合法的用途。
netstat显示打开连接的PID和进程名称(如果使用-a选项,则用于侦听端口)。进程名称不可靠,因为进程可以将自己的名称设置为任意string。 所以为了确定一个进程,你只需要依赖PID,并使用ps命令来获取有关进程的附加信息。
您的问题的答案是只有postfix或类似的邮件传输代理MTA ,应该监听端口25,这是专门的端口接收邮件。
每当您的服务器被用来发送垃圾邮件,它不使用您的传入端口,它会使传出的连接。