热门标签 | 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


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
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社区 版权所有