高级网站开发培训,完成公司网站建设,网站建设 wix,爱心代码编程html教程0x00 背景
最近#xff0c;有个IT的同事给我提了一个需求#xff0c;说想监控/root/.ssh/ 文件夹下的文件变动#xff0c;于是我灵机一动#xff0c;这个需求只要对执行过的历史命令做审计就可以了。 0x01 实践
我实现这个功能使用 rsyslog 和 firewalld 两个组件。
我的…0x00 背景
最近有个IT的同事给我提了一个需求说想监控/root/.ssh/ 文件夹下的文件变动于是我灵机一动这个需求只要对执行过的历史命令做审计就可以了。 0x01 实践
我实现这个功能使用 rsyslog 和 firewalld 两个组件。
我的设计是把命令history 转发到/usr/share/commands.log这个文件再对这个文件监控。 export PROMPT_COMMANDhistory 1 /usr/share/commands.log 这个命令是临时的只对当前会话可以记录。
如果想永久重定向执行下面的命令 vi ~/.bashrc; export PROMPT_COMMANDhistory 1 /usr/share/commands.log; source ~/.bashrc 然后开始配置文件通过syslog配置轮转到 /var/log/firewalld.log按照下面命令修改配置
vi /etc/rsyslog.d/commands.conf # Load the imfile module module(loadimfile) # Monitor /usr/share/commands.log input(typeimfile File/usr/share/commands.log Tagcommands-log Severityinfo Facilitylocal7) # Send logs to /var/log/firewalld.log local7.* /var/log/firewalld.log 重启 syslog服务 systemctl restart rsyslog 当然需要确保 firewall 处于开启状态
提供一份简单的检查firewall 状态代码 systemctl status firewalld #开启firewalld Block 日志 firewall-cmd --set-log-deniedall echo Kern.* /var/log/firewalld.log /etc/rsyslog.d/firewalld.conf sed -i 3a /var/log/firewalld.log /etc/logrotate.d/syslog #第三行后面追加 systemctl restart rsyslog #设定本机使用public安全区 firewall-cmd --set-default-zonepublic #设定堡垒机网段 firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address10.xx.x.xx/26 service namessh accept #添加/移除对外开放的端口号 firewall-cmd --permanent --add-port 443/tcp firewall-cmd --add-port 137/udp --permanent firewall-cmd --add-source 127.0.0.1/8 --permanent firewall-cmd --add-source 0.0.0.0 --permanent firewall-cmd --remove-port 22/tcp --permanent #添加服务IP白名单 firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.x.xx accept firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address10.xx.x.xx port protocoltcp port8089 accept #reload firewall-cmd --reload firewall-cmd --list-all #开机自启动 systemctl enable firewalld 只要监控这个文件即可不止有firewalld.log 还有command history可以根据需求自由添加。