使用bash在我的网络服务器上查找恶意脚本
我在网络服务器上遇到了问题.
有人用泄露的wordpress感染了它. 问题是如下,文件中某处有一些恶意的phpscript. 恶意脚本将iframe放在Web服务器(/ home)上的每个文件中 但问题是我不知道脚本在哪里,我在/ home中有成千上万的web文件,它可能在任何地方. 我知道如何擦除所有iframe,但想法是删除触发器. 所以我在徘徊如何解决它,我可能有一个解决方案,但我需要你的建议 我注意到脚本不时被执行但完全随机(大概每周一次) find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$$g' 既然我的所有php文件都没有iframe,那么想法就是在iframe再次出现时提醒我. 所以我创建了另一个bash shell,我想让你的建议知道它是否合适. 然后我会在apache日志中查看最近30分钟的日志. 所以这是我正在考虑的bash: #!/bin/bash find /home -type f | xargs grep -q '<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>' #Find the string in all file on my all directory if [ $? -eq 0 ] #if the result is not equal to zero then echo "At the following time : " $(date +%H-%M-%S) | mail -s "[Serveur Leaked] Bad iframe has been found " me@mymail #we send a mail with the date find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$$g' #we replace the iframe with a whitespace else exit 1 fi exit 0 我真的需要找到一个解决方案,因为正确的知道,因为我说我每30分钟运行一次查找和替换shell命令,这需要花费很多时间. 但我无法让我的服务器上的iframe太长,我的网站将被谷歌列入黑名单,我负担不起. 非常感谢您未来的建议. 安塞尔姆 解决方法
一旦找到了想要监视的iframe文件,也许shell脚本化的inotify版本
inotifywait将是最简单的解决方案.在你的脚本中使用它是这样的:
#!/bin/sh while inotifywait -e modify /var/log/messages; do if tail -n1 /var/log/messages | grep httpd; then kdialog --msgbox "Apache needs love!" fi done 通常,有更好的文件监视工具,例如auditd,其中包括预构建的实用程序,专门用于安全和审计. 此外,还有fanotify提供用户信息,可以有效地监控整个卷.查看优秀的样本工具:fatrace. inotify存在几个重大问题:它无法可靠地监视新创建的文件夹,并且无法识别文件更改的源(PID).这些都不在这里,但直接使用inotify将需要一些编码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- AngularJS示例 – 未捕获错误:无模块:myapp
- 在Ansible shell模块中使用’creates’arg
- 如何在Angular 2中将多个Observable组合在一起
- Scala(或Java)中的自适应映射保留插入顺序
- Bash函数用于查找文件(其名称与正则表达式匹配)已更改*的所
- debian debootstrap安装wheezy , testing
- bash – curl:没有为restful api指定的URL
- WebService - WSDL报错 <s:element ref="s:schema&
- Axis2创建WebService实例
- 使用shell脚本调用Elixir方法