前几天,我的VPS被一条奇怪的SSH登录记录吓了一跳:IP居然是我常用的咖啡店Wi‑Fi。回头一看,审计日志里早有蛛丝马迹,只是我平时根本不去翻。于是,我决定把VPS安全审计当成每天的“体检”,把那些看不见的风险都抓个正着。
实用技巧一:打开审计日志,别让它默默跑
- 在
/etc/rsyslog.d/新建audit.conf,把auth,authpriv.* /var/log/auth.log加进来。 - 使用
auditctl -e 1永久开启内核审计,重启后记得检查/proc/sys/kernel/audit是否为1。 - 每周跑一次
ausearch -i --start recent,把最近的登录、sudo、文件改动全筛出来,保存到/var/log/audit/weekly_report.log。
实用技巧二:Fail2Ban 当守门员
我把 Fail2Ban 的 jail.conf 里 sshd 那一段的 maxretry 降到 3,并且打开 bantime 为 86400(一天)。结果,那天的暴力尝试直接被踢出,日志里只剩下“Banned IP”。这招看似小,却能把大多数脚本攻击直接砍掉。
实用技巧三:最小化 root,记录每一次 sudo
我把 Defaults log_output 写进 /etc/sudoers,让每一次 sudo 都被完整记录到 /var/log/sudo.log。再配合 grep 检查 sudo 的执行时间线,哪怕是一次误删也能追溯到具体的命令和操作者。
实用技巧四:配置基线对比,及时发现漂移
我用 tripwire 建立一次完整的文件指纹基线,然后每月跑 tripwire --check。一旦出现未授权的二进制修改,系统会立刻抛出报警邮件。把它和审计日志的时间戳对齐,基本可以锁定“谁在什么时候动了手脚”。
安全不是一次性的配置,而是日复一日的自我检查。
说到这里,我已经把这些技巧写进了我的每日清单。你要是也想把 VPS 从“潜在炸弹”变成“可靠小金库”,不妨挑一两条先试试,等它们跑通了,再把整套流程装进脚本里。噢,对了,别忘了把日志备份到离线硬盘——毕竟,数据再好看,也怕被磁盘玩消失。
这个配置在M1上能跑吗?
感觉还行,fail2ban确实省心多了。
之前搞过tripwire,配置完忘了更新基线,结果天天报警😂
要是日志被删了咋办?难道攻击者不会清记录?