AIDE及sudo应用
AIDE(Advanced Intrusion Detection Environment)
1、AIDE作用
- 高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过
- AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号.
- 这个数据库不应该保存那些经常变动的文件信息,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录.
2、安装RPM包
支持AIDE,首先的安装相关的RPM,yum install aide
3、配置
vim /etc/aide.conf
4、实验
4.1 要求:监控/data目录下的f1,f2文件,但是不监控f3文件
4.2 步骤
- vim /etc/ (
RULE = p+sha1+u+m
/data RULE
!/data/f3)
- aide --init
- mv aide.db.new.gz aide.db.gz
- aide --check
AIDE, version 0.15.1
### All files match AIDE database. Looks okay!
- 删除一些字符在f1文件中
- aide --check
会显示修改之后的不同
AIDE 0.15.1 found differences between database and filesystem!!Start timestamp: 2018-05-24 22:04:40
sudo
语法:
who:运行命令者的身份,user
where:通过哪些主机,host
(whom):以哪个用户身份,runas
which: 运行哪些命令,command
配置项:
user host=(runas) COMMANDS
users:
username
#uid
user_alias
%group_name
%#gid
hosts:
ip
hostname
netaddr
command:
command name
directory
sudoedit
Alias_Type NAME = item1,item2
NAME:必须使用全大写
Alias_Type:
User_Alias
Cmnd_Alias
Host_Alias
Runas_Alias
例子:
User_Alias NETADMIN = netuser1, netuser2
Cmnd_Alias NETADMINCMNDS= /user/sbin/ip
NETADMIN ALL=(root) NOPASSWD:NETADMINCMNDS
安装和帮助
rpm -qi sudo
qpm -ql sudo
man 5 sudoers
例子1
授权vmx用户挂载
[vmx@CentOS7 ~]$ mount /dev/sr0 /mnt
mount: only root can do that
export EDITOR=vim
临时有效,也可以echo EDIROT=vim >> /etc/profile.d/env.sh
visudo
vmx 192.168.56.101=(root) /bin/mount /dev/cdrom /mnt/
原因,在visudo中定义的mount目录是/mnt/
如下配置代表任何用户只要属于wheel组,就可以拥有root的所有权限
如下的设置是为root用户留执行的后门,在某些场景下,root的uid不是0,这样意味着root不是实际上的管理员,但此时root仍以管理员的用户执行,sudo -u vmx
例子2
一般情况下,不要把passwd通过sudo授权给普通用户,如果一些实际场景必须这样做,可以更改visudo配置,使普通用用户不能更改root的密码
切换为netuser1,更改root密码,失败
日志
/var/log/secure记录了所有sudo操作的日志,可供查询。