免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > linux > 简单构建Linux操作审计系统(3)

简单构建Linux操作审计系统(3)

时间:2011-11-06 13:59来源:未知 整理:寂涯网络 点击:


User=zsf CMD=su
Apr  2 22:11:16 localhost bash: HISTORY: PID=14141 PPID=14139 SID=14048
User=root CMD=w
Apr  2 22:11:31 localhost bash: HISTORY: PID=14141 PPID=14139 SID=14048
User=root CMD=whoami
Apr  2 22:11:45 localhost bash: HISTORY: PID=14141 PPID=14139 SID=14048
User=root CMD=exit
Apr  2 22:11:47 localhost -bash: HISTORY: PID=14048 PPID=14047 SID=14048
User=zsf CMD=su -
Apr  2 22:11:52 localhost -bash: HISTORY: PID=14163 PPID=14161 SID=14048  
注意如果 root 用户没有被改为特殊的 bash,则 su 之后就无法记录。这上面可以比较
清楚地看到zsf这个用户执行了一系列命令之后su之后也执行了一些命令。 
第二种方法通过修改 bash 源码实现记录命令的功能,可以防止黑客通过修改变量阻止
istory 记录。针对其它版本的 bash,也可以进行相应修改,其主要思路来源于 bash 自身
的工作方式,bash 接收命令之后会执行,也会有添加记录到 history 的功能,那只需要在
执行命令之前记录到syslog或者在记录到history的时候也记录到syslog就可以了,代码
量上也不多,主要是加一句syslog调用函数,再加上其它需要记录的值就可以了。
User=root CMD=w
Apr  2 22:11:55 localhost -bash: HISTORY: PID=14163 PPID=14161 SID=14048
User=root CMD=who
Apr  2 22:11:56 localhost -bash: HISTORY: PID=14163 PPID=14161 SID=14048
User=root CMD=id
Apr  2 22:11:59 localhost -bash: HISTORY: PID=14163 PPID=14161 SID=14048
User=root CMD=exit
Syslog 集中发往日志服务器
 
前面已经能实现将命令记录到syslog了,那么接下来我们将syslog统一发往日志服务
器。搭日志服务器非常简单,只需修改一个配置文件/etc/sysconfig/syslog就可以了。
  
将 SYSLOGD_OPTIONS="-m 0"改为-r然后重启下syslog服务,会看到514端口处于监听
[root@linuxtest ~]# cat /etc/sysconfig/syslog | less
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0"
 将 SYSLOGD_OPTIONS="-m 0"改为-r然后重启下syslog服务,会看到514端口处于监听
状态:
  [root@linuxtest ~]# netstat -nlpu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address
State       PID/Program name
udp        0      0 0.0.0.0:514                 0.0.0.0:* 
32482/syslogd
[root@linuxtest ~]#  

注意 iptables防火墙设置,允许其它机器连接日志服务器的514的 udp端口。
而客户端配置也很简单,只需修改一个文件/etc/syslog.conf,在后面添加
*.*                                                     @192.168.14.167
就可以将该机器上的日志发往@后面的主机,在真实环境中可以写成域名。一切完成之后,
我们只需在日志服务器上tail –f /var/log/message就可以知道底下客户端上正在执行啥
 
 样的命令,很爽吧,如下:
Apr 18 16:30:05 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=pwd 
Apr 18 16:30:06 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=ll 
Apr 18 16:41:25 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=cat /etc/passwd 
Apr 18 16:41:30 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=ping www.baidu.com 
Apr 18 16:41:43 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=cat /etc/shadow 
Apr 18 16:42:03 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=cat /etc/ssh/sshd_config  
Apr 18 16:42:14 192.168.14.107 -bash: HISTORY: PID=15298 PPID=15297 SID=15298
User=zsf CMD=cat /etc/hosts*
 采用 syslog-ng将日志分离
 
系统自带的 syslog 简单易用,但其将所有信息都写在同一个文件里,当机器多日志多

本页地址 http://www.jybase.net/linux/20111106576.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com