一、系统审计
只能记录不能限制违反的行为
通常对命令、目录、文件做审计
介绍
基于事先配置的规则生成日志,记录可能发生在系统上的事件
审计不会为系统提供额外的安全保护,但她会发现并记录违反安全策略的人及其对应的行为
审计能够记录的日志内容:
- 日期与事件、事件结果
- 触发事件的用户
- 所有认证机制的使用都可以被记录,如ssh等
- 对关键数据文件的修改行为等
监控文件的访问
监控系统调用
记录用户运行的命令
审计可以监控网络访问行为
ausearch工具,可以根据条件过滤审计日志
aureport工具,可以生成审计报告
RHEL7自带了audit软件
部署audit
root@host53 ~]# yum -y install audit-libs
[root@host53 ~]# grep -n "log_file" /etc/audit/auditd.conf
7:log_file = /var/log/audit/audit.log #日志文件
12:max_log_file = 8
19:max_log_file_action = ROTATE
[root@host53 ~]# wc -l /var/log/audit/audit.log
20881 /var/log/audit/audit.log
[root@host53 ~]# systemctl start auditd
[root@host53 ~]# systemctl status auditd
[root@host53 ~]# auditctl --help
[root@host53 ~]# auditctl -l #查看规则
No rules
[root@host53 ~]# auditctl -s #查询状态
命令行定义规则(临时)
格式:auditctl -w path -p permission(rwxa) -k key_name
path为需审计的文件或目录
权限可以是r,w,x,a(a:文件或目录的属性发生变化)
key_name 为可选项,方便识别哪些规则生成特定的日志项
[root@host53 ~]# auditctl -w /etc/passwd(被审计的目标) -p wa -k plj_passwd(审计日志) #设置规则对passwd文件写,属性修改操作都会被记录到审计日志
[root@host53 ~]# auditctl -w /etc/selinux -p wa -k plj_selinux #设置规则,监控该目录
[root@host53 ~]# auditctl -w /usr/sbin/fdisk -p x -k plj_fdisk #设置规则,监控fdisk程序
[root@host53 ~]# auditctl -l # #查看规则
-w /etc/passwd -p wa -k plj_passwd
-w /etc/selinux -p wa -k plj_selinux
-w /usr/sbin/fdisk -p x -k plj_fdisk
配置永久规则(系统重启依然有效)
[root@host53 ~]# vim /etc/audit/rules.d/audit.rules
-w /etc/passwd -p wa -k plj_passwd
-w /etc/selinux -p wa -k plj_selinux
-w /usr/sbin/fdisk -p x -k plj_fdisk
[root@host53 ~]# ls /usr/share/doc/audit-2.7.6/rules/ #系统提供的参考模板
- 审计日志 /var/log/audit/audit.log
type为类型
msg为(time_stamp:ID),时间是date+%s
arch=c000003e,代表x86_64(16进制)
success=yes/no,事件是否成功
a0-a3是程序调用时前4个参数,16进制编码了
ppid父进程IP,如bash,pid进程ID,如cat命令
auid是审计用户的id,su - test,依然可以追踪su前的账户
uid,gid用户和组
tty:从哪个终端执行的命令
comm="cat" 用户在命令行执行的指令
exe="/bin/cat" #实际程序的路径
key="sshd_config" #管理员定义的策略关键字key
type=CWD #用来记录当前工作目录
--cwd="/home/username"
type=PATH
---ouid(owner's user id) 对象所有者id
--giud(owner's groupid) 对象所有者id
[root@host53 ~]# ausearch -k plj_passwd #搜索日志(可加-i交互式操作)
[root@host53 ~]# fdisk -l
[root@host53 ~]# useradd kenji0
[root@host53 ~]# ausearch -k plj_passwd
[root@host53 ~]# ausearch -k plj_fdisk
time 日志生成时间
comm 命令名
exec 命令的绝对路径
uid 用户名
exit 返回值0为成功
二、服务安全
- 网站安全
nginx(php)
tomcat(java)
新虚拟机做实验
- 修改版本信息(修改码源)[autoindex on]
[root@host50 ~]# yum -y install gcc pcre-devel openssl-devel zlib-devel
[root@host50 ~]# tar -xf nginx-1.12.2.tar.gz
[root@host50 nginx-1.12.2]# cd nginx-1.12.2/
[root@host50 nginx-1.12.2]# ./configure
[root@host50 nginx-1.12.2]# make && make install #编译安装
[root@host50 nginx-1.12.2]# echo BBBB > /usr/local/nginx/html/b.html #编写网站
[root@host50 nginx-1.12.2]# echo CCCC > /usr/local/nginx/html/c.html
[root@host50 nginx-1.12.2]# echo DDDDD > /usr/local/nginx/html/d.html
[root@host50 nginx-1.12.2]# /usr/local/nginx/sbin/nginx #启动服务
其他客户机访问192.168.4.50/b.html /c.html /d.html #查看网页是否正常
[root@host50 nginx-1.12.2]# ./configure --help | grep -i without #不支持(禁用模块)
[root@host50 nginx-1.12.2]# ./configure --help | grep -i with #支持(加载模块)
[root@host50 nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
server {
autoindex on;