本文目的:整理在實驗環境中配置的禁止普通用戶用su - root來獲取root權限的操作記錄。實驗還添加了history添加用戶詳細記錄,並配置了使用script記錄用戶操作,和測試用戶操作還原的過程。
一、修改禁止su - root權限的配置:
1、修改PAM配置文件:
#vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
2、修改用戶帳號限制配置:
echo “SU_WHEEL_ONLY yes” >> /etc/login.defs #添加語句到login.defs文件末尾;
二、修改禁止SSH連接root登錄的配置;
vi /etc/ssh/sshd_config
PermitRootLogin no 找到此語句,刪掉註釋#號,並修改爲no;
三、修改用戶登錄操作命令的歷史記錄;
1、[root@rongshu ~]# vi /etc/profile ##文件尾部添加如下代碼;
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/opt/hislog
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
2、修改log存儲目錄權限:
chmod -R 743 /opt/hislog #即上段代碼中的/opt/hislog目錄;
3、修改用戶變量文件,增加詳細顯示信息;
vi /etc/bashrc
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "
export HISTTIMEFORMAT
四、配置記錄用戶行爲軌跡:
1、修改配置文件:
[root@rongshu ~]# vi /etc/profile ##添加如下代碼;
-----------------------------------------
#Raw Log Session
if [ $UID -ge 500 ]; then
exec /usr/bin/script -t 2>/opt/scriptlog/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /opt/scriptlog/$USER-$UID-`date +%Y%m%
d%H%M`.log
fi
-----------------------------------------
注:需注意你使用的用戶的UID的值,創建的普通用戶默認爲500+;
2、修改log存儲目錄權限:
chmod -R 743 /opt/scriptlog #即上段代碼中的/opt/scriptlog目錄;
五、使配置文件生效:
[root@rongshu ~]# /etc/init.d/sshd resart
用法: /etc/init.d/sshd {start|stop|restart|reload|force-reload|condrestart|try-restart|status}
[root@rongshu ~]# /etc/init.d/sshd restart
停止 sshd: [確定]
正在啓動 sshd: [確定]
[root@rongshu ~]# source /etc/profile
[root@rongshu ~]# source /etc/bashrc
六、添加用戶並測試:
1、添加用戶:
添加用戶test1並加入wheel組,作爲切換root使用;添加test2不加wheel組,做普通用戶,測試su - root無法切換到root,操作如下。
[root@rongshu ~]# useradd -g wheel test1
[root@rongshu ~]# echo "hello123" | passwd --stdin test1
更改用戶 test1 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@rongshu ~]#
[root@rongshu ~]#
[root@rongshu ~]# useradd test2
[root@rongshu ~]# echo "hello123" | passwd --stdin test2
更改用戶 test2 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
2、測試用戶登錄:
↑使用root用戶登錄被拒絕
↑使用test2用戶切換root被拒絕
↑使用test1用戶切換root正常登錄
3、使用命令還原用戶的操作:
執行下面的命令後,test1用戶的操作會按時間先後,像播放視頻記錄一樣被還原。
[root@rongshu scriptlog]# scriptreplay test1-500-201702270544.date test1-500-201702270544.log
[test1@rongshu ~]$
[test1@rongshu ~]$
[test1@rongshu ~]$ su - root
密碼:
[root@rongshu ~]#
[root@rongshu ~]#
[root@rongshu ~]# cd /opt/scriptlog/
[root@rongshu scriptlog]# ls
test1-500-201702270544.date test1-500-201702270544.log test2-501-201702270544.date test2-501-201702270544.log
[root@rongshu scriptlog]#
[root@rongshu scriptlog]# ll
總用量 16
-rw-r--r--. 1 test1 wheel 583 2月 27 05:45 test1-500-201702270544.date
-rw-r--r--. 1 test1 wheel 451 2月 27 05:45 test1-500-201702270544.log
-rw-rw-r--. 1 test2 test2 35 2月 27 05:44 test2-501-201702270544.date
-rw-rw-r--. 1 test2 test2 104 2月 27 05:44 test2-501-201702270544.log
[root@rongshu scriptlog]#
參考文章:
http://mengsir.blog.51cto.com/2992083/1665628
http://blog.csdn.net/a806267365/article/details/40581159