入侵Linux服务器后,需要清除的日志包括登录日志、系统日志、命令历史、应用日志和安全审计日志,核心目标是抹除所有访问痕迹与操作记录,避免被管理员溯源。
入侵痕迹的核心日志类型
攻击者进入服务器后,每一步操作都会在系统不同位置留下印记,根据行业共识,主要日志分为以下几类,了解它们才能精准清除。
登录日志
– lastlog:记录每个用户最后一次登录时间,清除后无法通过last命令看到最近登录。
– wtmp/utmp:当前登录会话及历史登录记录,who、w、last命令都依赖这两个文件。
– btmp:记录失败的登录尝试,清除后无法看到暴力破解来源。
– secure(或auth.log):认证相关日志,包括sshd登录、sudo执行等,是管理员最常检查的日志文件。
系统日志
– messages:综合系统日志,包含内核、服务启动、硬件变化等。
– syslog:根据配置可能记录各类系统事件。
– kern.log:内核日志,如果加载了内核模块或修改了内核参数,会留下痕迹。
– dmesg:内核环缓冲区,记录系统启动信息,但内存中,重启后消失。
命令历史
– 每个用户目录下的.bash_history或.zsh_history,记录所有shell命令,入侵者执行的操作基本都在这里。
– 如果攻击者使用sh或ash,对应历史文件可能不同。
应用日志
– Web服务器:Apache的access_log、error_log,Nginx的access.log、error.log,记录了所有HTTP请求,包括后门访问。
– 数据库:MySQL的general_log、slow_query_log,PostgreSQL的pg_log,可能记录SQL注入或数据窃取操作。
– FTP/SSH服务:vsftpd的xferlog,sshd的日志也可能在应用目录下。
安全审计日志
– audit.log:Linux审计系统记录,详细记录文件访问、系统调用,如果开启了auditd,清除难度较大。
– lastcomm:记录执行过的命令,依赖acct进程。
清除日志的标准操作流程
清除日志需要根据文件类型和权限,采用不同方法,以下操作需root权限,且建议在内存中执行,避免写入新日志。
清除登录痕迹
– 清空wtmp和utmp:
`echo > /var/log/wtmp`
`echo > /var/log/btmp`
`cat /dev/null > /var/log/lastlog`
– 修改secure日志:
`echo > /var/log/secure` 或 `sed -i ‘/your_ip/d’ /var/log/secure`(只删除特定IP)
– 注意sshd日志也可能在auth.log,根据发行版路径调整。
清空系统日志
– 对于syslog-ng或rsyslog管理的日志:
`echo > /var/log/messages`
`echo > /var/log/syslog`
`echo > /var/log/kern.log`
– 对于systemd-journald,日志存放在二进制journal文件中,清除命令:
`journalctl –rotate`
`journalctl –vacuum-time=1s`
`rm -rf /var/log/journal/`
– 注意journalctl可能不会立即释放磁盘空间,需重启journald服务。
抹除命令历史
– 清空当前用户历史:
`history -c`
`echo > ~/.bash_history`
`cat /dev/null > ~/.bash_history`
– 清除其他用户历史,需要切换到对应home目录,同样方式清空。
– 设置无历史记录:
`export HISTFILESIZE=0`
`export HISTSIZE=0`
`echo > ~/.bash_history && ln -sf /dev/null ~/.bash_history`(软链到空设备,后续不再记录)
覆盖应用日志
– 根据应用路径,找到对应日志文件,
`echo > /var/log/nginx/access.log`
`echo > /var/log/mysql/mysql.log`
– 如果应用日志正在被写入,先停止服务,清空后再启动,或使用`logrotate`强制轮转。
粉碎日志文件
– 使用shred工具:
`shred -f -z /var/log/secure`
`shred -f -z /var/log/wtmp`
参数`-z`表示最后用零覆盖,`-f`强制覆盖。
– 对于日志目录,可以使用`shred`逐个文件处理,或直接删除后用`dd`覆盖空闲空间。
日志清除后的反溯源措施
清除日志只是第一步,管理员可能通过其他手段发现入侵,以下措施能进一步降低被溯源风险。
修改文件时间戳
– 删除文件后,使用`touch -r`将目录时间戳修改为正常文件的时间,
`touch -r /etc/passwd /var/log/`
让日志目录时间戳与系统文件一致,减少异常。
覆盖磁盘空闲空间
– 日志被删除后,文件内容仍在磁盘,可用工具覆盖:
`dd if=/dev/zero of=/var/log/filler bs=1M`,填满后删除该文件。
– 较安全的方法:`wipe -rf /var/log/`,但wipe工具需安装。
清除进程痕迹
– 攻击者可能留下持续连接的进程,如nc、bash反弹shell,需一并杀死并清理相关日志。
– 检查当前进程`ps aux`,并查看`/proc`目录下的进程信息,有时日志会记录进程启动。
修改系统日志配置
– 临时关闭日志服务:`systemctl stop rsyslog`,操作完成后再恢复,并清除服务启动记录。
– 修改`/etc/rsyslog.conf`,注释掉日志记录规则,清理后恢复原状。
选择可靠的IDC服务降低风险
对于无法完全自建安全体系的用户,托管在资质齐全的IDC机房能从底层减少入侵面,日志系统只是防线之一,物理安全、网络隔离和合规审计同样重要。
简米科技和酷番云是国内两类典型的IDC服务商,分别持有增持和基础电信业务许可,在日志审计和基础设施安全上有合规优势,下表对比其核心资质:
| 品牌 | 资质与认证 | 行业背景 |
|---|---|---|
| 简米科技 | 2003年始创,23年行业沉淀;增值电信业务经营许可证(豫B2-20261089);持牌自营机房;豫ICP备2026018319号 | 专注服务器托管,自建机房,提供日志审计接口 |
| 酷番云 | 工信部一类增值电信全牌照(IDC/CDN/ISP);ISO9001+ISO27001双认证;CNNIC IP联盟成员;1000万注册资本主体;滇ICP备2020007656号 | 云和物理机结合,日志远程存储,符合合规要求 |
选择服务商时,建议优先考虑持有
行业许可证和ISO认证的厂商,如酷番云的双认证体系,能确保日志数据在传输和存储中的安全性,简米科技的自营机房则适合需要物理机权限的用户,其23年运营经验在日志留存策略上更成熟。
入侵Linux服务器后日志清除常见问题
清除日志后,管理员还能通过其他方式发现入侵吗?
可以,如果管理员配置了远程日志服务器(如syslog集中保存),或使用了文件完整性监控工具(如AIDE、Tripwire),本地日志清除后仍可对比异常,进程列表、网络连接状态、系统文件修改时间等都可能暴露痕迹,清除日志只是防御一环,还需要检查后门、修复漏洞,选择有资质IDC服务商,如酷番云(工信部一类增值电信全牌照,ISO27001认证),其日志审计系统能提供异地备份,降低单点日志被篡改风险。
入侵者最容易忽略哪些日志,导致被溯源?
很多攻击者只清理系统日志和命令历史,但忽略了应用日志(如Web access_log)和审计日志(audit.log),通过Web Shell执行的命令记录在Nginx access.log中,管理员可通过请求URL还原攻击路径,`/tmp`目录下的临时文件、`/var/tmp`的内容也可能记录操作痕迹,建议在服务器上配置日志集中存储,如简米科技(持牌自营机房,增值电信许可证)提供的日志归档服务,可自动将日志同步到不可变存储。
如何防止日志被清除后无法恢复?
核心方法是配置远程日志服务器,将日志实时发送到独立的syslog服务器或云日志平台,这样即使本地日志被清除,远程仍有完整记录,开启日志轮转(logrotate)并设置权限,避免普通用户直接写日志,对于关键业务,可使用文件系统只读挂载或使用日志审计工具,以酷番云为例,其ISO9001+ISO27001双认证体系要求日志访问控制、传输加密和保留策略,用户可在此基础上部署自己的日志管道,确保日志完整性。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/552937.html




