热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析:RKHunter与AIDE在入侵检测中的应用与优势

本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。

#

一、AIDE

  • AIDE全称为(Adevanced Intrusion Detection Environment)是一个入侵检测工具,主要用于检查文件的完整性,审计系统中的工具是否被更改过。
  • AIDE会构造一个数据库文件,当系统在稳定时将全部或指定的文件属性以密文的形式保存至数据库中。文件属性包括:权限、索引节点号、所属用户、所属用户组、文件大小、mtime、atime、ctime以及连接数。

安装

[root@CentOS7 ~]$yum install -y aide

配置文件详解

#定义了数据库路径的变量与日志路径的变量
@@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被更改过
#


二、RKHunter

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

RKHunter的功能

检测易受攻击的文件;
检测隐藏文件;
检测重要文件的权限;
检测系统端口号;

安装

[root@centos7 aide]$yum install rkhunter

检测

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

[ ok ] 表示没有异常
[ no found ] 是没有找到此工具,不用理会
[ warning ] 如果是红色的Warnning那就需要进一步确认这些工具是否被感染或者被替换。
#

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

rkhunter --check --skip-keypress

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

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

:http://www.linuxidc.com/Linux/2017-09/146943.htm


推荐阅读
  • 在Linux系统中,MySQL的用户权限管理是运维人员必须掌握的关键技能之一。本文详细介绍了MySQL用户和权限管理的相关概念,包括MySQL用户的概念及其与VSFTPD虚拟用户的相似性,以及密码管理的重要性。此外,还深入探讨了如何通过命令行工具和配置文件进行用户权限的设置和调整,确保系统的安全性和稳定性。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 本文介绍了一种简化版的在线购物车系统,重点探讨了用户登录和购物流程的设计与实现。该系统通过优化界面交互和后端逻辑,提升了用户体验和操作便捷性。具体实现了用户注册、登录验证、商品浏览、加入购物车以及订单提交等功能,旨在为用户提供高效、流畅的购物体验。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 本文将介绍一种扩展的ASP.NET MVC三层架构框架,并通过使用StructureMap实现依赖注入,以降低代码间的耦合度。该方法不仅能够提高代码的可维护性和可测试性,还能增强系统的灵活性和扩展性。通过具体实践案例,详细阐述了如何在实际开发中有效应用这一技术。 ... [详细]
  • 在斯坦福大学的公开课中,详细探讨了多变量线性回归在机器学习中的应用与解析。课程内容涵盖了多维特征的处理方法,以及如何通过多变量梯度下降算法优化模型参数,为理解和实现复杂的回归问题提供了坚实的理论基础和实践指导。 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • Angular 2 中组件间通信的多种方法与实践
    在Angular 2中,组件间的通信是开发过程中不可或缺的一部分。本文将详细介绍多种实现组件间通信的方法,并结合实际案例进行实践分析。通过这些方法,开发者可以更加高效地管理组件之间的数据传递和状态同步,提升应用的整体性能和可维护性。文中还将探讨每种方法的优缺点及其适用场景,帮助读者在实际项目中做出最佳选择。 ... [详细]
  • 利用ViewComponents在Asp.Net Core中构建高效分页组件
    通过运用 ViewComponents 技术,在 Asp.Net Core 中实现了高效的分页组件开发。本文详细介绍了如何通过创建 `PaginationViewComponent` 类并利用 `HelloWorld.DataContext` 上下文,实现对分页参数的定义与管理,从而提升 Web 应用程序的性能和用户体验。 ... [详细]
  • NOI题库(noi.openjudge.cn):1.7 编程基础之字符串 T31 至 T35 详解与解析
    T31至T35题目详细解析了字符串处理的基础编程技巧。其中,T31涉及P型编码,要求将一个仅包含数字字符的字符串转换为特定格式的编码串。例如,输入字符串“111223”应输出相应的P型编码结果。其他题目则涵盖了字符串的多种操作和变换方法,包括但不限于子串提取、字符替换和模式匹配等,旨在提升编程者对字符串处理的综合能力。 ... [详细]
  • 首篇待优化改进的文章
    本文介绍了多种常用的矩阵类型及其生成方法,包括单位矩阵、全零矩阵、全1矩阵以及均匀分布的随机矩阵。此外,还探讨了生成随机Markov矩阵的技术,并详细解释了线性等分向量和对数等分向量的构建方式,以及矩阵对数运算的应用。这些内容为数值计算和数据处理提供了坚实的基础。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 本文精选了几个结合 Vue 和 Spring Boot 的优质开源项目,适合开发者学习和参考。这些项目不仅涵盖了前后端分离的最佳实践,还提供了丰富的功能示例和详细的文档,有助于提升开发效率和技术水平。项目地址:https://github.com/ 示例链接。 ... [详细]
author-avatar
墨镜猛女班长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有