天天看点

Linux纵深防护小记-日志与审计

(目录)

一、远程日志收集

1. Syslog-ng server的搭建

# 安装
yum install -y syslog-ng
# 配置
vim /etc/syslog-ng/syslog-ng.conf
=====================================================================
source s_network {
    syslog(transport(udp) port(514));
};

destination d_local {
    file("/var/log/syslog-ng/secure_${FULLHOST_FROM}");
};

log {source(s_network); destination(d_local); };

# 创建日志存放目录
mkdir -p /var/log/syslog-ng/

# 启动服务
systemctl start syslog-ng.service
systemctl status syslog-ng.service
systemctl enable syslog-ng.service

# 查看服务端口
lsof -i:514 -n -P
           

2. Rsyslog/Syslog客户端配置

日志格式:

  • https://www.cnblogs.com/shu-sheng/p/13275474.html
vim /etc/rsyslog.conf
========================================================
# 在配置文件末尾加入
auth.*;authpriv.*    @192.168.201.113 # 发送给服务器192.168.201.113的UDP:514(syslog协议端口)

# 重启服务
systemctl restart rsyslog.service
           

记录root执行的命令

可参考:https://www.freebuf.com/articles/es/246659.html

1. vim /root/.bashrc
在配置文件末尾添加
function log2syslog
{
   declare command
   command=$(fc -ln -0)
   logger -p local1.notice -t bash -i [$USER]  "$command"

}
trap log2syslog DEBUG

2. vim /etc/rsyslog.conf
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local1.none    /var/log/messages
                                             ^---->在这里添加
# 在配置文件末尾添加
local1.notice        @192.168.201.113

3. 重启服务
systemctl restart rsyslog.service
           

二、audit审计

1. 安装

yum install -y audit
systemctl status auditd
           

2. 监控目录

# 显示规则
auditctl -l
# 配置规则
auditctl -w /root/tmp/
回显
-w /root/tmp -p rwxa
# 删除规则
auditctl -D
           
  • r 读取
  • w 写入
  • x 执行
  • a 属性改变

3. 监控重要文件

auditctl -a exit,always -F path=/etc/passwd -F perm=wa
ausearch -f /etc/passwd
           

三、unhide发现隐藏进程

yum install -y glibc-devel glibc-static-devel
wget https://sourceforge.net/projects/unhide/files/unhide/Unhide-20210124.tar.gz/download -O Unhide-20210124.tar.gz --no-check-certificate
tar xzf Unhide-20210124.tar.gz
cd Unhide-20210124/
# 编译
./make_tarball.sh
./build_all.sh
# 或者如下编译
gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux
gcc -Wall -O2 --static unhide_rb.c -o unhide_rb
gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c -o unhide-tcp
# 发现隐藏进程
./unhide-linux brute
./unhide-linux procall

# 其他使用
./unhide-linux  -vo quick reverse
./unhide-linux  -vom procall sys
./unhide-tcp  -flov
./unhide-tcp  -flovs
           

继续阅读