
1) 【一句话结论】
通过多源日志(应用、网络设备日志)关联分析,定位异常登录根源(如弱密码、暴力破解、内部账号滥用),并采取阻断、加固、溯源等针对性措施。
2) 【原理/概念讲解】
老师来解释下核心逻辑:日志分析本质是“多维度交叉验证”。把铁路系统的日志比作“监控录像”,异常登录是“异常行为”,需要从不同“镜头”(应用日志、网络设备日志)获取信息,交叉比对找到行为源头。
具体流程分六步:
3) 【对比与适用场景】
| 日志类型 | 定义 | 关键特征 | 适用场景 |
|---|---|---|---|
| 应用日志 | 应用系统自身记录的操作日志 | 包含用户ID、操作类型、时间戳、请求参数 | 定位具体业务操作异常(如某用户连续10次失败登录) |
| 网络设备日志 | 路由器、防火墙等设备记录的网络流量/访问日志 | 包含源IP、目的IP、端口、协议、访问时间 | 定位网络层访问行为(如某IP在凌晨多次访问22端口) |
4) 【示例】
假设铁路系统有“app_login_log”(应用登录日志)和“network_access_log”(网络访问日志),用SQL分析异常登录:
SELECT user_id, COUNT(*) as fail_count
FROM app_login_log
WHERE result='failed'
GROUP BY user_id
ORDER BY fail_count DESC
LIMIT 10;
SELECT src_ip, COUNT(*) as attempt_count
FROM network_access_log
WHERE proto='tcp' AND port=22
AND timestamp > '2024-01-01'
GROUP BY src_ip
ORDER BY attempt_count DESC
LIMIT 10;
# 假设两个表已合并,按IP和用户ID分组统计失败次数
result = df.groupby(['src_ip', 'user_id'])['result'].apply(lambda x: (x == 'failed').sum()).reset_index()
# 找出同时满足“IP高频失败”和“用户高频失败”的组合
root_cause = result.sort_values('result', ascending=False).head(5)
5) 【面试口播版答案】
面试官您好,针对铁路系统异常登录分析,核心思路是通过多源日志关联,定位根源并处置。流程上分数据采集、预处理、特征提取、关联分析、根因定位、响应处置六个步骤。关键指标包括登录失败次数、IP访问频率、时间分布(如非工作时间高频)、设备类型(如个人电脑 vs 工作站)。比如应用日志看用户失败次数,网络设备日志看IP来源,然后关联分析,比如某个IP在凌晨多次尝试登录多个应用,结合用户日志发现是弱密码,根源是密码策略不严格。应对措施包括阻断该IP、强制用户修改密码、加强密码策略。具体来说,先采集应用和设备日志,用SQL查询高失败次数的用户和IP,然后分析时间分布(比如非工作时间),判断是否暴力破解,再结合设备类型(个人电脑)判断是否内部账号滥用。最后采取阻断、加固、溯源。
6) 【追问清单】
7) 【常见坑/雷区】