背景
我的服务器上有一个问题,其中一些漏洞允许将恶意 PHP 文件写入 Web 根目录下的任何全球可写目录。它目前没有造成任何伤害,因为我阻止了所有这些目录提供 php 脚本(或其他任何东西,除非其中一些是图像/视频),并且在其中创建任何内容后立即收到电子邮件通知,但我显然想要修复它。
我已经采取了各种措施,例如确保服务器上的 Joomla 和 Wordpress 安装是最新的,但它仍在继续。服务器上有一个运行相当旧版本的电子商务系统的客户端站点,我怀疑这可能是罪魁祸首。
问题
因此,我已设置auditd
监视所有这些全局可写目录,并等待问题再次发生以收集一些日志,但我已经有一些日志条目可以从发生的正常活动中查看。
正如我所怀疑的那样,当然,当 PHP 脚本写入文件auditd
时,exe 的所有显示都是/usr/sbin/httpd
. 请参阅下面的示例输出。有可能基于 了解问题来自哪个站点CWD
,但这可能会改变并且不可靠。还知道特定的脚本会很有用。
所以我想知道,是否可以auditd
记录生成操作的脚本名称(编辑:或者调用堆栈)/usr/sbin/httpd
,或者任何接近该信息的内容?
时间->2016 年 11 月 30 日星期三 14:36:30
type=PATH msg=audit(1480516590.911:180239): item=1 name="/home/web/www.example.com/html/cache/example.php" inode=539842913 dev=08:05 mode=0100644 ouid= 48 ogid=48 rdev=00:00 objtype=CREATE
type=PATH msg=audit(1480516590.911:180239): item=0 name="/home/web/www.example.com/html/cache/" inode=539833631 dev=08:05 mode=040777 ouid=634 ogid= 634 rdev=00:00 objtype=PARENT
type=CWD msg=audit(1480516590.911:180239): cwd="/home/web/www.example.com/html"
type=SYSCALL msg=audit(1480516590.911:180239): arch=c000003e syscall=2 成功=yes exit=36 a0=7f9baf272550 a1=241 a2=1b6 a3=9 items=2 ppid=26483 pid=30957 auid=4294967295 uid= 48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" key="write_to_open_web_directories"