Linux 之不同运维人员共用root 账户权限审计
2016-05-26 20:36
781 查看
一、为什么?
View Code
5.2 配置 profile,在文件末尾添加一行内容,如下:
在/etc/bashrc 末尾添加下面内容:
5.3 修改sshd 配置文件,开启debug 模式,并重启sshd 服务
六、验证
6.1 在client1 上进行登陆,并删除个文件试下(zhangsan)
6.2 在client2 上进行登陆,也删除个文件,并执行个重启服务的命令(lisi)
6.3 去服务器上查看下 messages 日志,内容如下
通过上图,可以看出,不通用户的客户端通过公钥登陆的方式,分辨出了谁操作了什么,什么时候操作的。
(注:上图第4段 swift1 是这台服务器的主机名,由于我只是运行了hostname 命令修改主机名,并没有修改networks,所以内核里还是之前的名字:swift1。)
七、结束
通过这种方式,极大的解决了多root 用户登陆操作,无法审计的问题。并且可以结合日志转发,将系统日志转发到其它服务器,即使主机被黑了,也能具体的审查登陆时间以及做了哪些操作。
如果本文对您有用,不介意的话,可以小小的打赏赞助一下。
谢谢,如有转载请注明出处。
[root@open1 ~]# cat /etc/CheckUser.sh #!/bin/bash #conding:utf-8 pid=$PPID #在自己home目录得到所有的key,如果/var/log/keys 没有的时候,添加进去 while read line do grep "$line" /var/log/keys >/dev/null || echo "$line" >> /var/log/keys done < $HOME/.ssh/authorized_keys #得到每个key的指纹 cat /var/log/keys | while read LINE do NAME=$(echo $LINE | awk '{print $3}') echo $LINE >/tmp/keys.log.$pid KEY=$(ssh-keygen -l -f /tmp/keys.log.$pid | awk '{print $2}') grep "$KEY $NAME" /var/log/ssh_key_fing >/dev/null || echo "$KEY $NAME" >> /var/log/ssh_key_fing done #如果是root用户,secure文件里面是通过PPID号验证指纹 if [ $UID == 0 ] then ppid=$PPID else #如果不是root用户,验证指纹的是另外一个进程号 ppid=`/bin/ps -ef | grep $PPID |grep 'sshd:' |awk '{print $3}'` fi #得到RSA_KEY和NAME_OF_KEY,用来bash4.1得到历史记录 RSA_KEY=`/bin/egrep 'Found matching RSA key' /var/log/secure | /bin/egrep "$ppid" | /bin/awk '{print $NF}' | tail -1` if [ -n "$RSA_KEY" ];then NAME_OF_KEY=`/bin/egrep "$RSA_KEY" /var/log/ssh_key_fing | /bin/awk '{print $NF}'` fi #把NAME_OF_KEY设置为只读 readonly NAME_OF_KEY export NAME_OF_KEY /bin/rm /tmp/keys.log.$pid
View Code
5.2 配置 profile,在文件末尾添加一行内容,如下:
[root@open1 ~]# echo "test -f /etc/CheckUser.sh && . /etc/CheckUser.sh" >> /etc/profile
在/etc/bashrc 末尾添加下面内容:
[root@open1 ~]# tail -1f /etc/bashrc test -z "$BASH_EXECUTION_STRING" || { test -f /etc/CheckUser.sh && . /etc/CheckUser.sh; logger -t -bash -s "HISTORY $SSH_CLIENT USER=$NAME_OF_KEY CMD=$BASH_EXECUTION_STRING " >/dev/null 2>&1;}
5.3 修改sshd 配置文件,开启debug 模式,并重启sshd 服务
[root@open1 ~]# sed -i 's/#LogLevel INFO/LogLevel DEBUG/g' /etc/ssh/sshd_config [root@open1 ~]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
六、验证
6.1 在client1 上进行登陆,并删除个文件试下(zhangsan)
6.2 在client2 上进行登陆,也删除个文件,并执行个重启服务的命令(lisi)
6.3 去服务器上查看下 messages 日志,内容如下
通过上图,可以看出,不通用户的客户端通过公钥登陆的方式,分辨出了谁操作了什么,什么时候操作的。
(注:上图第4段 swift1 是这台服务器的主机名,由于我只是运行了hostname 命令修改主机名,并没有修改networks,所以内核里还是之前的名字:swift1。)
七、结束
通过这种方式,极大的解决了多root 用户登陆操作,无法审计的问题。并且可以结合日志转发,将系统日志转发到其它服务器,即使主机被黑了,也能具体的审查登陆时间以及做了哪些操作。
如果本文对您有用,不介意的话,可以小小的打赏赞助一下。
谢谢,如有转载请注明出处。
相关文章推荐
- Linux C++ 开发简介(包括Linux守护线程)
- Linux目录作用
- 在linux下创建软链接(即目录映射)
- linux内实践核分析模块
- 【Linux】vim的配置
- 在VMware上安装CentOS-6.5 minimal - 安装VMware Tools
- Linux堆内存管理深入分析
- 查看linux系统版本命令
- linux 软件安装问题
- linux下输出查看进程及杀进程
- 客户端连接linux经常间隔性断开链接【转】
- centos 6.5环境下分布式文件系统MogileFS工作原理及分布式部署实现过程
- centos 6.5环境下分布式文件系统MogileFS工作原理及分布式部署实现过程
- CentOS 7.1安装Elasticsearch和Storm
- Linux命令-Screen(窗口管理器、一个窗口玩转Linux)
- 转载linux c语言程序的Makefile编写
- 常见Linux服务器操作系统版本中自带的OpenSSL版本
- vim 光标高亮行列的颜色设置
- Linux基础篇之文本、数据流处理命令
- VMware克隆Linux系统后网卡无法启动