我有一台运行 httpd 的服务器,用于多个网站。使用 top 命令,我发现许多 httpd 进程耗尽了内存。使用 netstat 命令,我发现 httpd 进程正在连接到外部 IP 地址。是否可以找到发出连接的 (php) 脚本/函数?
答案1
通过系统防火墙限制来自 Web 服务器的传出连接:
iptables -A OUTPUT -p tcp -m owner --uid-owner apache -j REJECT
ip6tables -A OUTPUT -p tcp -m owner --uid-owner www-data -j REJECT
(这是针对 CentOS 的,对于 Ubuntu,Apache2 的默认用户名www-data
是apache
)
错误日志文件中的错误消息示例:
PHP 警告:file_get_contents(https://icanhazip.com): 无法打开流:/var/www/html/test/index.php 第 3 行中的连接超时
您将获得脚本名称和带有函数调用的行。