linux历史命令审计

一、添加历史命令记录

1.首先在/etc/profile中添加

export HISTORY_FILE=/var/log/Command/Command.log
export PROMPT_COMMAND=‘{ date "+%Y-%m-%d %T # $(who am i |awk "{print \$1,\$2,\$5}") $(whoami):[$PWD]# $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE‘

2.定期备份移动历史命令,把如下脚本写到任务计划里。每隔一周执行一次

30 10 * * 6 /bin/bash /var/log/Command/history.sh > /dev/null 2>&1

  

Time=`date +%Y%m%d%H`
logs_path="/var/log/Command/"
logs_name="Command.log"
new_file="$logs_path$logs_name-$Time"
old_file=`find $logs_path -mtime +30 -type f -name "Command.*"`
chattr -a $logs_path$logs_name
mv $logs_path$logs_name $new_file
chattr +a $new_file
touch $logs_path$logs_name
chown -R nobody:nobody $logs_path$logs_name
chmod -R 002 $logs_path$logs_name
chattr +a $logs_path$logs_name
if [ ! -z $old_file ]
then
    echo "delet $old_file $Time" >> /var/log/messages
    chattr -a $old_file
    rm -rf $old_file
fi

3.检查/var/log/Command/Command.log的中的日志

linux历史命令审计

 

 

二、使用审计工具,splunk或者efk。

完成步骤一基本就完成了审计功能,如果想要图形化的搜索界面。可以使用步骤二。

方法1.使用splunk

(1).下载splunkforwarder

splunkforwarder类似于zabbix_agent,logstash,filebeat之类的client端。

splunk类似于zabbix_server之类的server端。

splunkforwarder不好找,去splunk官网下载时候。注意右下角有一个old release。选择自己有lincense的版本。

linux历史命令审计

 

 (2)安装splunkforwarder

   rpm -ivh splunkforwarder-版本号.rpm
   cd /opt/splunkforwarder/bin
   ./splunk start
   ./splunk add forward-server 192.168.103.31:9997
   ./splunk set deploy-poll 192.168.103.31:8089

   ./splunk add monitor /var/log/lastlog -index secure
   ./splunk add monitor /var/log/lastlog -index secure           #添加索引位置和目录
   ./splunk add monitor /var/log/lastlog -index secure
   ./splunk add monitor /tmp/wtmp -index secure
   ./splunk add monitor /var/log/Command/Command.log -index history
   ./splunk restart

(3)安装splunk

   方法同上,适当变通一下包名。启动web功能。

(4)查看图形

   命令审计

 

   linux历史命令审计

     登录审计(里面的路径和上面写的/var/log/Command/Command.log位置不一致,图片截图比较早。以前的图片)

    linux历史命令审计

 

linux历史命令审计

上一篇:linux 安装配置 jdk1.8


下一篇:NetworkOnMainThreadException