Linux dmesg 安全事件应对流程
一 快速定位与初步判断
dmesg -T -l err,warn | tee dmesg-$(date +%F-%T).log。随后持续观察新增事件:dmesg -w。注意内核环形缓冲区在重启后会丢失,务必先持久化保存。与系统日志联动分析:journalctl -k -b 或查看 /var/log/dmesg 的启动日志,以获得更完整时间线。dmesg | grep -i auth,硬件/驱动异常 dmesg | grep -i "e1000\|usb\|ata",以及 TCP 层异常(见下一节)。必要时结合进程、网络连接与系统日志交叉验证,避免单点误判。二 常见内核安全事件与处置要点
auth: invalid promiscuous mode policy 等提示,可能意味着网卡被置入混杂模式或策略异常。ip link show;如非业务需要,关闭混杂:ip link set <iface> promisc off;排查异常进程/脚本与定时任务,确认是否被植入嗅探器。TCP: drop open request from <IP> 或 Possible SYN flooding on port 80. Sending cookies.,常见于 SYN Flood 等 DoS 场景。sysctl -w net.ipv4.tcp_syncookies=1、sysctl -w net.ipv4.tcp_max_syn_backlog=4096、sysctl -w net.ipv4.tcp_synack_retries=1;同时配合上游清洗/边界防火墙或 CDN/负载均衡 的限速与清洗策略,缓解大规模攻击。Oops、Kernel panic、Tainted 标记、调用栈异常等。vmlinuz/initramfs 版本信息;分析 Call Trace 定位触发模块;优先升级驱动/内核修复已知缺陷;在问题未定位前避免业务高峰运行,必要时隔离受影响主机。三 事件确认与取证闭环
/var/log/auth.log(Ubuntu)或 /var/log/secure(RHEL)、系统日志 /var/log/syslog 或 /var/log/messages,核对是否存在同时间窗的异常登录、服务重启或权限变更。ausearch -m USER_CMD,USER_AUTH 或按文件 ausearch -f /etc/passwd 回溯可疑操作;未安装建议作为后续加固项补装。ps -aux、netstat -nutpl、lsof -p <PID> 定位异常进程与监听端口;通过 /proc/<PID>/exe 与 /proc/<PID>/cmdline 确认可执行文件路径与启动参数;必要时对可疑内存映射做转储分析。crontab -l、系统级 /etc/crontab、/etc/cron.*、/var/spool/cron 等定时任务;排查 /tmp、/var/tmp、/dev/shm 等可写目录的异常文件与持久化脚本;同步检查新增或可疑用户、SSH 公钥、sudo 权限变更。四 加固与长期预防
kernel.dmesg_restrict=1 以减少非特权用户读取内核日志;仅授予必要账户 sudo 权限,禁用或限制 root 远程登录。tcp_max_syn_backlog、tcp_synack_retries、tcp_fin_timeout 等参数;对外服务建议置于边界防护/清洗与负载均衡之后,提升抗 DoS 能力。ls -al /usr/bin/ls /usr/bin/lsof /usr/bin/stat),结合 chkrootkit、rkhunter 等工具做周期性体检;对核心目录建立文件完整性监控(如 AIDE)。dmesg、journalctl -k、/var/log/* 与审计日志到集中平台,设置关键字告警(如 “SYN flooding”“Oops”“promiscuous”)与基线阈值,实现从发现到处置的闭环自动化。