linux怎么检测文件完整性,Linux如何基于AIDE检测文件系统完整性

一、AIDE

AIDE(Advanced Intrusion Detection Environment)是一款针对文件和目录进行完整性对比检查的程序,它被开发成Tripwire的一个替代品。

0adb14448f45808e0dc2a0ca263ce68b.png

AIDE如何工作

AIDE通过构造指定文件的完整性样本库(快照),作为比对标准,当这些文件发生改动时,其对应的校验值也必然随之变化,AIDE可以识别这些变化从而提醒管理员。AIDE监控的属性变化主要包括:权限、属主、属组、文件大小、创建时间、最后修改时间、最后访问时间、增加的大小以及链接数,并能够使用SHA1、MD5等算法为每个文件生成校验码。

这款工具年纪也不小了,相对来同类工具Tripwire说,它的操作也更加简单。它需要对系统做快照,记录下HASH值,修改时间,以及管理员对文件做的预处理。这个快照可以让管理员建立一个数据库,然后存储到外部设备进行保管。

当管理员想要对系统进行一个完整性检测时,管理员会将之前构建的数据库放置一个当前系统可访问的区域,然后用AIDE将当前系统的状态和数据库进行对比,最后将检测到的当前系统的变更情况报告给管理员。另外,AIDE可以配置为定时运行,利用cron等日程调度技术,每日对系统进行检测报告。

这个系统主要用于运维安全检测,AIDE会向管理员报告系统里所有的恶意更迭情况。

AIDE的特性

支持消息摘要算法:md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool

支持文件属性:文件类型,文件权限,索引节点,UID,GID,链接名称,文件大小,块大小,链接数量,Mtime,Ctime,Atime

支持Posix ACL,SELinux,XAttrs,扩展文件系统属性

纯文本的配置文件,精简型的数据库

强大的正则表达式,轻松筛选要监视的文件和目录

支持Gzip数据库压缩

独立二进制静态编译的客户端/服务器监控配置装

[root@centos7 ~]$yuminstall-y aide

安装AIDE

yum install aide

vi /etc/aide.conf

database=file:@@{DBDIR}/aide.db.gz #系统镜像库位置

database_out=file:@@{DBDIR}/aide.db.new.gz #新生成系统镜像库,默认在/var/lib/aide/下

# Next decide whatdirectories/files you want in the database.

/boot NORMAL

/bin NORMAL

/sbin NORMAL

/lib NORMAL

/lib64 NORMAL

#/opt NORMAL #注释不检查目录

/usr NORMAL

/root NORMAL

# These are too volatile ,排除掉个别不检查的目录

!/usr/src

!/usr/tmp

#根据需求在下面添加新的检测目录

/etc/exports NORMAL

/etc/fstab NORMAL

/etc/passwd NORMA

配置文件详解#定义了数据库路径的变量与日志路径的变量

@@define DBDIR /var/lib/aide

@@define LOGDIR /var/log/aide

#开启压缩

gzip_dbout=yes

# 将多个权限定义成规则赋给变量,便于后面引用

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

CONTENT = sha256+ftype

PERMS = p+u+g+acl+selinux+xattrs

# 采用哪种规则对哪些文件进行监控

/boot/ CONTENT_EX

/bin/ CONTENT_EX

/sbin/ CONTENT_EX

/lib/ CONTENT_EX

/lib64/ CONTENT_EX #采用CONTENT_EX定义的规则进行监测

/opt/ CONTENT #仅对opt目录进行校验码与文件类型监测

/root/\..* PERMS #PERMS并没有hash校验值,因为/root下的数据会经常变化

# 不监控的文件

!/etc/.*~

#p: permissions

#i: inode:

#n: number of links

#u: user

#g: group

#s: size

#b: block count

#m: mtime

#a: atime

#c: ctime

#S: check for growing size

#acl: Access Control Lists

#selinux SELinux security context

#xattrs: Extended file attributes

#md5: md5 checksum

#sha1: sha1 checksum

#sha256: sha256 checksum

#sha512: sha512 checksum

#rmd160: rmd160 checksum

#tiger: tiger checksum

定义规则

编辑配置文件/etc/adie.conf,定义一个规则变量mon,监控/app目录下所有文件,不监控/app/saomiao.log。

[root@centos7 aide]$ vim /etc/aide.conf

mon = p+u+g+sha512+m+a+c

/app mon

!/app/juli.sh

创建数据库

生成数据库文件,在配置文件中定义各文件计算各校验码放入数据库中,用于以后比对。从提示中看出生成了一个/var/lib/aide/aide.db.new.gz数据库文件,这个数据库文件为初始数据库,如果进行入侵检测将与/var/lib/aide/aide.db.gz数据库文件作比对,如果发现两个数据库不一致则提示被入侵。

[root@centos7 aide]$aide --init

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

模拟文件被入侵更改

模拟文件被修改 : 向saomiao.sh文件添加换行,促使更改校验码、Mtime、Ctime

[root@centos7 aide]$ echo >> /app/saomiao.sh

检测:AIDE的检测机制是计算出现在的数据库后与aide.db.gz比对。aide.db.gz默认又不存在,所以要将之前的创建的初始化数据库aide.db.new.gz改名为aide.db.gz。

[root@centos7 aide]$mv aide.db.new.gz aide.db.gz

入侵检测

最后使用aide -C注意是大写,将现在计算出的数据与aide.db.new.gz比对,查看数saomiao.sh文件的Mtime、CtimeSHA512被更改过

设置任务计划,定期检测

crontab –e

30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30执行一次

也可以将信息发送到邮件:

30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co

二、RKHunter

RKHunter工具时专门检测系统是否遭受rootkit的一个工具,他通过自动执行一系列的脚本来全面的检测服务器是否感染rootkit。

RKHunter的功能

检测易受攻击的文件;

检测隐藏文件;

检测重要文件的权限;

检测系统端口号;

安装

[root@centos7 aide]$yum install rkhunter

检测

使用命令rkhunker -c对系统进行检测。RKHunter检测会分几部分,第一部分主要检测系统的二进制工具,因为这些工具时rootkit的首要感染目标。每检测完一部分需要Enter来确认继续。

[ ok ] 表示没有异常

[ no found ] 是没有找到此工具,不用理会

[ warning ] 如果是红色的Warnning那就需要进一步确认这些工具是否被感染或者被替换。

5b7d345ca7a75a2d6738094ba2cabfcf.png

设置任务计划,定期检测

crontab –e

30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30执行一次

也可以将信息发送到邮件:

30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co

二、RKHunter

RKHunter工具时专门检测系统是否遭受rootkit的一个工具,他通过自动执行一系列的脚本来全面的检测服务器是否感染rootkit。

RKHunter的功能

检测易受攻击的文件;

检测隐藏文件;

检测重要文件的权限;

检测系统端口号;

安装

[root@centos7 aide]$yum install rkhunter

检测

使用命令rkhunker -c对系统进行检测。RKHunter检测会分几部分,第一部分主要检测系统的二进制工具,因为这些工具时rootkit的首要感染目标。每检测完一部分需要Enter来确认继续。

[ ok ] 表示没有异常

[ no found ] 是没有找到此工具,不用理会

[ warning ] 如果是红色的Warnning那就需要进一步确认这些工具是否被感染或者被替换。

ae4cf7ba921afd3ce51fe9499e7ec84f.png

如果想让程序自动检测而不是每检测完一部分就让用户确认,可以使用

rkhunter --check --skip-keypress

同时如果要想达到每周或者每月自动检测就可以将他加入到计划任务中自动执行

crontab -e

1 10 7 * * * root /usr/bin/rkhunter --check --cronjob

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 反弹 shell 是一种攻击技术,攻击者利用漏洞或恶意代码将远程 shell 注入受害者的系统,从而获取对系统的控制权。为了检测 Linux 反弹 shell,可以采取以下几种方法: 1. 监控网络活动:使用网络监控工具,如 tcpdump 或 Wireshark,检查网络流量是否存在异常连接或未知的传出连接。特别关注与反弹 shell 相关的常见端口(如 4444、31337)。 2. 检查系统进程:使用 ps 或 top 命令检查正在运行的进程列表,查找不明确的、不信任的或异常的进程。特别关注与反弹 shell 相关的常见进程名称(如 netcat、nc、socat)。 3. 检查系统文件:使用查找命令(如 find)或相关工具,检查系统文件是否存在未知的、可疑的或异常的文件。特别关注与反弹 shell 相关的常见文件名和路径(如 .bashrc、.bash_profile、.ssh/authorized_keys)。 4. 检查系统日志:查看系统日志文件,如 /var/log/auth.log 或 /var/log/secure,检查是否存在异常登录尝试或认证失败记录,以及与反弹 shell 相关的异常日志。 5. 使用专业工具:使用专门的安全工具,如 LOKI、Lynis、AIDE 等,来扫描系统检测可能的反弹 shell 活动。这些工具可以自动化检测系统中的恶意活动和异常行为。 请注意,这些方法可以帮助您发现潜在的反弹 shell 活动,但不能保证绝对的安全。建议您定期更新系统、安装最新的安全补丁,并采取其他安全措施来确保系统的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值