网络运维怎么做审计:别等出事才想起查记录
公司内网突然断了半小时,没人知道谁动了核心交换机。等翻日志才发现,是新来的实习生误操作。这种事在中小公司太常见了——平时没人管审计,出了问题只能靠猜。
日志不是摆设,得有人看
很多单位的网络设备开着日志功能,但只是存着,从不分析。真正的审计第一步,是把关键设备的日志集中起来。比如用 Syslog 服务器收集防火墙、交换机、路由器的操作记录。
syslog-server 192.168.10.100
logging trap informational
logging facility local7
像上面这样的配置,能把设备的操作事件实时发到日志服务器。你得定期翻这些记录,看看有没有异常登录、配置变更。比如某天凌晨三点有人改了ACL规则,这种就得追查。
权限划分要细,不能谁都可以上设备
运维团队里不是每个人都该有管理员权限。有些人只需要看状态,有些人需要改配置。用 AAA(认证、授权、计费)机制把权限分清楚。
aaa new-model
aaa authentication login default group radius local
aaa authorization exec default group radius if-authenticated
这样配置后,不同账号的操作范围就受控了。谁登了设备、做了什么,系统都会记下来。出了问题直接按账号找人,不扯皮。
配置变更必须留痕
每次改网络配置,都得有记录。手动改可以配合脚本抓取配置快照,自动改可以用自动化工具打日志。比如用 Python 脚本每天凌晨备份一次设备配置:
<script>
import paramiko
# 连接设备并执行 show running-config
ssh = paramiko.SSHClient()
ssh.connect('192.168.1.1', username='admin', password='pass')
stdin, stdout, stderr = ssh.exec_command('show running-config')
config = stdout.read()
with open('/backup/config_192.168.1.1.txt', 'w') as f:
f.write(config)
ssh.close()
</script>
哪怕不用自动化,至少也该在工单系统里登记变更原因和操作人。别让“我记得我改过”成为口头禅。
定期跑审计报告,别只靠临时翻记录
每个月导一次登录日志,统计谁登录最多、谁失败次数高。突然有个账号登录频率飙升,可能就是异常信号。再比如某个子网流量突增,结合日志一看,原来是有人私自接了无线路由做共享。
审计不是为了找茬,而是让整个网络操作变得透明。就像公司财务要对账一样,网络也得定期“对账”。时间长了,大家自然会注意自己的操作习惯。
工具可以省力,但思路不能偷懒
市面上有各种网络审计工具,比如 SolarWinds、Graylog、ELK 套件,能可视化日志、报警异常行为。但工具再好,也得人去设规则。比如设置“连续5次登录失败就告警”,或者“非工作时间修改核心配置需二次确认”。
工具是帮你盯细节的,但设计审计逻辑还得靠人。别指望装个软件就万事大吉,那跟装了监控摄像头却从不回放没区别。