Linux安全審計-基礎篇

安全審計這塊我能想到的有兩種方案能夠解決,一種是在Linux中配置實現,一種是使用Python開發堡壘機實現,我先實現了第一種比較簡單的:後面會開發堡壘機:
 
1、首先咱們須要在/etc/profile中配置
#獲取本地IP地址以及原始登陸用戶
USER_IP=`ifconfig eth3 |grep "inet addr"|awk '{print $2}'|awk -F':' '{print $2}'`       
login_user=`who am i |awk '{print $1}'`
#定義命令存放的文件夾  
HISTDIR=/usr/share/.history  
if [ -z $USER_IP ]  
then  
USER_IP=`hostname`  
fi  
#在.history目錄下建立原始用戶目錄
if [ ! -d $HISTDIR/${login_user} ]  
then  
mkdir -p $HISTDIR/${login_user}  
chmod 300 $HISTDIR/${login_user}  
fi  
DT=`date +%Y%m%d`  
#生成用戶所操做的命令文件(這個文件須要用戶關閉登陸的時候纔會生成)
export HISTFILE="$HISTDIR/${login_user}/${USER_IP}.history.$DT"  
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]" 
#改變文件的權限,這樣原始用戶才能讀到歷史命令,不過只限於本天的
chmod 644 $HISTDIR/${login_user}/*.history* 2>/dev/null
 
2、而後須要在/etc/bashrc配置:
HISTFILESIZE=10000  
HISTSIZE=10000
#定義執行history命令的時候,輸出的格式
HISTTIMEFORMAT="%F %T `who am i |awk '{print $1}'` : "  
export HISTTIMEFORMAT
 
注意:上面的兩個配置須要在全部的客戶端服務器配置
 
3、使用rsync+inotify實現命令文件的實時傳輸
3.一、首先須要搭建一個rsync server端
增長配置文件/etc/rsyncd.conf:
uid = root
gid = root
secrets file = /etc/rsync.password
auth users = rsync_test
log file = /var/log/rsyncd.log
#自定義名稱,不過要與下面的模塊名稱一致
[rsync_backup]
#傳輸要寫入的目錄
path = /data1/rsync_backup
#模塊名
comment = rsync_backup
read only = no
list = no
 
增長密碼文件/etc/rsync.password:
#格式爲:用戶名:密碼
rsync_test:rsync@123qaz
 
chmod 600 /etc/rsyncd.conf  && chmod 600 /etc/rsync.password
&& mkdir /data1/rsync_backup
 
而後就能夠直接執行 rsync --daemon運行了
 
3.二、client配置:
客戶端也須要增長一個密碼文件/etc/rsync.pass,裏面的密碼就是你剛纔在server端建立的密碼
 
而後須要安裝inotify工具:
 
創建一個腳本實現自動傳輸(/opt/scripts/rsync_users_history.sh):
#!/bin/bash
/usr/local/inotify-tools/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e 'close_write,modify,delete,create' /usr/share/.history/ |while read file
  do
    rsync -az /usr/share/.history/  rsync_test@10.122.33.132::rsync_backup --password-file=/etc/rsync.pass
done
 
運行腳本實現實時傳輸:
nohup sh /opt/scripts/rsync_users_history.sh  >> /var/log/rsync.log &
 
測試
 
 
總結:
優勢:
能夠實現安全審計的功能,存儲每一個用戶的執行命令
缺點:
若是一個懂Linux的用戶在操做的話,能夠刪除本身執行的命令文件,安全性不是特別高,因此要實現高安全的審計,還須要本身開發堡壘機去實現,下一章就開始
相關文章
相關標籤/搜索