13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

应急响应系统之Linux主机安全检查

我们在做主机安全检查或安全事件处置时,避免不了要去检查系统的安全情况。在进行 Linux 安全检查时,需要使用相关的脚本对系统的安全情况进行全面分析,一方面需要尽可能的收集系统的相关信息,另一方面在数量较多的时候尽可能的提高效率。由于在多次的安全检查中遇到检查时都是几十台服务器要做一个全面检查的情况,如果人工手写脚本的话,一方面效率较低另一方面需要安全检查者熟悉所需要检查的项。在这种情况下,本人写了一个 Linux 安全检查的脚本,该脚本主要在以下场景使用:

公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出源汇免费做网站回馈大家。

该脚本完成有一段时间,最近在应急响应群里讨论,发现这块的安全检查是大家的一个强需求,因此把该检查脚本共享给大家,共享的目的主要以两个:一是提高大家在 Linux 安全检查时的效率,释放大家的精力;另一方面希望大家在使用的过程中可以不断地发现问题,不断的总结缺少的安全检查项,协助完善该检查脚本。所以大家在使用过程中有任何问题或建议欢迎及时同步给我。

检查内容

1. 整体框架

关于 Linux 安全检查,这里面我总结主要需要检查以下内容:

2. 系统安全检查框架

3. 功能实现

功能设计:

目前到 V1.2 版本,后期完善 V1.3 相关的功能。

另外,操作上可以实现一键进行安全检查,并将检查后的结果保存到本机。只需要在hosts文本中输入相应的IP、账号、密码。操作上人工参与最小化。

4. 各脚本功能说明

下载后相关整个脚本的目录结构如下所示:

下面针对其中部分脚本进行介绍

(1) Checkrules

判断逻辑主要放在两个文件中:一个是 checkrules 中,格式为 dat,这里面建议将比较复杂的判断逻辑放在这里,如下面的 TCP 危险端口这块,因为比较多,如果放在 buying_linuxcheck.sh 中则代码有些冗长,下面是 TCP 高危端口的判断逻辑,主要还是根据木马默认使用的端口号,这里面判断的逻辑相对简单,可能会存在误报的情况,所以后续需要人工介入分析。

(2) buying_linuxcheck.sh

核心的功能收集与判断逻辑,比较简单的判断逻辑可以放在这里面进行判断。

5. 使用

使用比较简单,将本脚本拷贝到自己一台 Linux 主机上,可以使用虚拟机,将需要被检查的服务器的 IP、账号、密码放到 hosts.txt 目录中,直接运行即可实现一键安全检查。

相关操作如下:

(1) 将需要被检查的服务器 IP、账号、密码写入到 hosts.txt 文件中,格式为

 
 
 
 
  1. IP:port:user:userpassword:rootpassword 

其中 user 为普通用户的账号,port 为 ssh 登录端口, uesrpassword 为普通账号的密码, rootpassword 为 root 的密码, 只所以加个普通用户是因为有的系统做了安全策略,不允许 root 直接登录,如果被检查的服务器允许 root 直接登录,可以直接把 user 和 userpassword 写成 root 以及 root 密码

这里面被检查的服务器允许 root 直接登录,因此直接写 root 账号和密码

(2) 运行安全检查脚本,

 
 
 
 
  1. sh login.sh 

安全检查脚本就在后台运行了,稍等…….

(3) 看到删除远程服务器上的检查脚本与检查结果,就说明检查结束了

(4) 检查结束后,会将远程服务器上的结果保存到本地主机上

6. 检查结果说明

检查结束后,将相应的结果解压后目录结构如下所示:

(1) Check_file

保存的是检查的最终结果,长这个样子……

(2) Log

目录中保存的是 Linux 系统日志,web 日志这块目前脚本没有实现自动打包的功能,原因就是 web 日志经常太大,并且保存的日志可能从运行到现在的所有日志,很多日志并不需要进行检查与分析,因此在检查时相关人员可以根据具体情况进行打包相应的日志

(3) danger_file.txt

保存的是在安全检查过程中发现的问题

(4) sysfile_md5.txt

保存的是系统关键文件或系统文件的 MD5 值,之所以将这些关键文件的 MD5 记录下来主要有两个功能:一是周期性的检查时,可以与之前的结果进行对比,若有变动会提示;另一个是可以将这些关键文件的 MD5 值跑一下威胁情报库或 virustotal 以发现可能存在的系统文件被替换的情况。

7. 代码下载

相关代码已上传到 github,有需要可自行下载,有问题也可以直接联系:

https://github.com/T0xst/linux


当前文章:应急响应系统之Linux主机安全检查
文章位置:http://cdbrznjsb.com/article/dhpjcoi.html

其他资讯

让你的专属顾问为你服务