Linux系统下如何查找并删除WebShell (linux 查找 webshell)
Linux 系统下如何查找并删除 WebShell?
随着互联网技术的不断发展,WebShell 也成为了黑客攻击的主要手段之一。它可以通过在服务器上注入恶意代码并获取系统权限,从而对服务器进行任意操作。因此,对于 Linux 系统管理员而言,确认服务器是否被 WebShell 植入以及及时清理是非常必要的。
那么,在 Linux 系统下如何查找并删除 WebShell?下面,让我们一步步来进行操作。
一、查找 WebShell
1.查找网站目录下是否有 WebShell 文件
使用如下命令查找网站所在目录下是否有 WebShell 文件:
“`
find /var/www/html/ -name “*.php” -type f -size +10k -print0 | xargs -0 egrep -H “r57shell|phpshells” > webshell.txt
“`
其中,`/var/www/html/` 表示网站所在目录,`*.php` 表示查找的文件类型,`-size +10k` 表示查找大于 10 KB 的文件,`r57shell` 和 `phpshells` 是常见的 WebShell 名称,也可以根据实际情况进行修改。执行该命令后,会在当前目录下生成一个名为 `webshell.txt` 的文件,其中包含了 WebShell 的文件路径和所在行数。
2.查找系统目录下是否有 WebShell 文件
使用如下命令查找系统目录下是否有 WebShell 文件:
“`
find / -name “*.php” -type f -size +10k -print0 | xargs -0 egrep -H “r57shell|phpshells” > webshell.txt
“`
与上一个命令类似,只是将查找目录改为根目录 `/`,需要注意的是,该操作会查找整个系统,耗时较长,建议使用时谨慎操作。
3.查看系统日志
使用如下命令查看服务器的访问日志:
“`
tl -f /var/log/httpd/access_log
“`
该命令可以查看最近访问服务器的客户端 IP 和访问路径,如果发现有非法访问以及可疑的 IP 地址,可以进一步排查是否被 WebShell 注入。
二、删除 WebShell
确认服务器被 WebShell 注入后,需要及时清除。具体操作如下:
1.删除 WebShell 文件
找到 WebShell 文件后,使用如下命令将其删除:
“`
rm -f /var/www/html/webshell.php
“`
其中,`/var/www/html/webshell.php` 为 WebShell 文件的路径,需根据实际情况修改。
2.修改 Web 服务器权限
Web 服务器的权限很重要,除了限制访问权限之外,还需要修改文件上传目录等权限,以防止被非法上传 WebShell。
a.限制访问权限
使用如下命令限制访问权限:
“`
chmod 755 /var/www/html/
“`
其中,`/var/www/html/` 为网站所在目录,755 表示所有者具有读、写、执行,组用户和其他用户具有读、执行权限。
b.修改文件上传目录权限
对于文件上传目录,建议将其权限设置为 777,以确保上传的文件能够进行操作(例如上传图片需要进行裁剪等操作):
“`
chmod 777 /var/www/html/upload/
“`
具体权限设置可根据实际情况进行调整。
三、防范 WebShell 注入
除了查找并清除 WebShell,更重要的是要加强系统的安全防范,避免 WebShell 注入。具体措施如下:
1.定期更新系统及应用程序
通过定期更新系统及应用程序,可以解决已知的漏洞,减少系统的被攻击的风险,同时可以提升系统的稳定性和可用性。
2.限制 SSH 登录
使用 SSH 登录服务器时,需要限制登录的 IP 地址、端口号以及失败登录次数等,以防止非法登录。
3.禁止 PHP 函数
一些 PHP 函数存在漏洞,可能会被黑客利用,如 `eval()`、`system()` 等,建议禁止这些函数的使用,以提高系统安全性。
4.限制文件上传类型和大小
应对文件上传漏洞,需要对上传文件进行检查,限制上传文件的类型和大小,以避免非法上传 WebShell。
WebShell 注入是当前互联网安全领域的一个重要问题,根据 Linux 系统下查找并删除 WebShell 的方法,可以及时清除 WebShell,并且加强系统安全防范,以提高系统的安全性和稳定性。在实际操作过程中,需要根据实际情况进行调整和细化,以及加强系统的监控和管理,建立稳健而完善的安全体系。