aishabanuu/linux-log-analysis-automation

GitHub: aishabanuu/linux-log-analysis-automation

该项目通过 Bash 脚本自动化解析 Linux 认证日志,检测 SSH 登录异常与可疑 IP 并生成 SOC 级别的每日安全报告。

Stars: 0 | Forks: 0

# Linux 日志分析与自动化 这是一个网络安全项目,展示了 Linux 认证日志分析、Bash 脚本编写、自动化以及安全监控。该项目通过分析系统日志来检测失败和成功的 SSH 登录尝试,监控 sudo 活动,识别可疑 IP 地址,生成每日安全报告,并使用 Cron 自动执行日常监控任务。 ## 项目概述 Linux 系统会持续生成记录认证事件、用户活动、系统服务和安全相关信息的日志文件。安全分析师定期检查这些日志,以检测未经授权的访问尝试、调查可疑活动并监控系统健康状况。 本项目使用 Bash 脚本自动化 Linux 日志分析,以减少人工操作并提升事件检测能力。通过解析认证日志来识别登录尝试、提取 IP 地址、检测暴力破解行为、汇总系统活动,并生成适用于安全运营中心 (SOC) 环境的报告。 ## 目标 - 分析 Linux 认证日志 - 检测失败的 SSH 登录尝试 - 监控成功的 SSH 登录 - 跟踪 sudo 活动 - 识别可疑 IP 地址 - 生成自动化安全报告 - 归档重要日志文件 - 使用 Cron 安排自动化任务 - 练习 Linux 管理和 Bash 脚本编写 ## 使用的技术 | 技术 | 用途 | |------------|---------| | Ubuntu 24.04 LTS | 主操作系统 | | Kali Linux | 攻击模拟 | | Bash | 自动化脚本 | | OpenSSH Server | SSH 认证 | | Cron | 任务调度 | | Git | 版本控制 | | Grep | 模式搜索 | | AWK | 文本处理 | | Sed | 流编辑 | | Tar | 日志备份 | | VMware Fusion | 虚拟化 | ## 项目架构 ``` Kali Linux │ SSH Login Attempts │ ▼ Ubuntu Server │ /var/log/auth.log │ Bash Log Analysis Scripts │ ┌─────────────────┴─────────────────┐ │ │ Security Reports Log Backups │ │ └─────────────────┬─────────────────┘ ▼ GitHub Repository ``` ## 项目工作流 1. 安装 Ubuntu 和所需的软件包。 2. 配置 OpenSSH Server。 3. 从 Kali Linux 生成成功和失败的 SSH 登录尝试。 4. 分析认证日志。 5. 提取用户名和 IP 地址。 6. 检测可疑的登录活动。 7. 生成每日安全报告。 8. 归档重要日志文件。 9. 使用 Cron 自动化执行。 10. 记录发现结果。 ## 文件夹结构 ``` linux-log-analysis-automation/ │ ├── README.md ├── LICENSE ├── .gitignore │ ├── docs/ │ ├── architecture.md │ ├── methodology.md │ └── log-files.md │ ├── scripts/ │ ├── failed_login_detection.sh │ ├── auth_log_parser.sh │ ├── suspicious_ip_detector.sh │ ├── login_summary.sh │ ├── log_summary.sh │ ├── user_activity.sh │ └── archive_logs.sh │ ├── reports/ │ ├── Daily_Log_Report.txt │ └── Incident_Report.md │ ├── logs/ │ └── backups/ │ └── screenshots/ ``` ## Bash 脚本 ### failed_login_detection.sh 从认证日志中检测失败的 SSH 登录尝试,并显示失败登录尝试的总数。 ### auth_log_parser.sh 解析认证日志以显示成功登录、失败登录和 sudo 活动,同时提取有用信息以供进一步分析。 ### suspicious_ip_detector.sh 识别负责多次失败认证尝试的 IP 地址,帮助检测可能的暴力破解攻击。 ### login_summary.sh 显示认证统计信息的快速摘要,包括成功登录、失败登录和 sudo 使用情况。 ### log_summary.sh 生成包含以下内容的详细 Linux 安全报告: - 认证统计信息 - 用户信息 - 主机信息 - 内核版本 - 已登录用户 - 失败登录次数最多的 IP 地址 ### user_activity.sh 显示有关当前登录用户、最近登录历史和用户会话的信息。 ### archive_logs.sh 为重要 Linux 日志文件创建压缩备份,以供将来分析和取证调查使用。 ## 安全报告示例 ``` =========================================== Linux Security Daily Report =========================================== Generated: Tue Jul 15 14:22:03 IST Hostname: ubuntu Current User: aisha Kernel: 6.8.0 ------------------------------------------- Successful Logins: 5 Failed Logins: 12 Sudo Commands: 18 Logged-in Users: aisha Top Failed Login IP Addresses: 8 192.168.29.101 4 192.168.29.105 =========================================== End of Report =========================================== ``` ## 学习成果 本项目展示了以下方面的实用技能: - Linux 管理 - Linux 日志分析 - Bash 脚本编写 - 安全监控 - 事件检测 - SSH 认证分析 - 用户活动监控 - Cron 自动化 - 日志管理 - Git 版本控制 ## 未来改进 潜在的增强功能包括: - 针对可疑登录尝试的电子邮件警报 - Slack 或 Microsoft Teams 通知 - Wazuh 集成 - ELK Stack 集成 - Fail2Ban 集成 - 实时仪表板 - 用于报告可视化的 Web 界面 - 针对可疑 IP 地址的自动化威胁情报查询 ## 许可证 本项目基于 MIT 许可证授权。 ## 作者 **Aisha Banu** 网络安全工程硕士
标签:Linux运维, 安全运营, 应用安全, 扫描框架, 网络安全研究, 自动化监控