系统审计、服务安全

一、系统审计

只能记录不能限制违反的行为

通常对命令、目录、文件做审计

介绍

基于事先配置的规则生成日志,记录可能发生在系统上的事件

审计不会为系统提供额外的安全保护,但她会发现并记录违反安全策略的人及其对应的行为

审计能够记录的日志内容:

  1. 日期与事件、事件结果
  2. 触发事件的用户
  3. 所有认证机制的使用都可以被记录,如ssh等
  4. 对关键数据文件的修改行为等

监控文件的访问

监控系统调用

记录用户运行的命令

审计可以监控网络访问行为

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值