ssh日志审计_[日志审计]Graylog2实现用户高危命令的分析和审计

这次用户高危命令审计分析也是基于系统的syslog。

所以建议没有看过上编文章的可以先温习一下。

1、首先我们要做的就是能够自动记录用户操作的命令并实时发送到syslog。

运行以下命令:

echo 'export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

PROMPT_COMMAND=$(history 1)

typeset -r PROMPT_COMMAND

function log2syslog

{

declare command

command=$BASH_COMMAND

IP=`/sbin/ip addr list|grep -oP '\d{1,3}(\.\d{1,3}){3}'|grep -Ev '^127|255$'|head -n1`

logger -p local1.notice -t bash2syslog -i "audit_log,$HOSTNAME,$IP,$USER,$PPID,$SSH_CLIENT,$PWD,$command"

}

trap log2syslog DEBUG' > /etc/profile.d/zzz_history.sh

对trap命令不了解的同学可以网上查一下,在此就不过多解释了。

为啥放到/etc/profile.d/文件夹下,也可以查阅相关资料自学一下。

2、我们Ctrl + D 断开当前ssh连接,在重新登陆之后查看以下syslog日志:

tail -f /var/log/messages

能看到有audit_log关键字的命令记录了,说明脚本已经生效了。

2020-04-02 10:15:22 graylog bash2syslog[25424]: audit_log,graylog.server.local,192.168.254.102,root,32298,192.168.254.133 56701 22,/etc/yum.repos.d,tail -f /var/log/messages

3、返回到graylog2中,找到刚才关键字为tail的那条message,创建解析器,选中Copy input

4、条件Condition中选择正则匹配,填入高危命令关键字的正则表达式,并创建新的risk_cmd字段。

(.+:.+:.+:|rm .+rf|dd .+|fdisk .+|\/dev.+|mkfs.+|wget.+|curl.+|ftp.+|sftp.+|mv .+|kill .+|.+ restart|.+ reload)

关于正则如何写,给大家推荐一本书精通正则表达式​www.amazon.cn

然后在菜鸟工具中检测一下:

5、创建一个名为risk_cmd的Stream,条件是Field risk_cmd must be present。

6、在grafana添加一条数据源:

7、创建审计看板:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值