A Python-based security tool that analyzes Linux authentication logs to detect failed login attempts, successful logins, and suspicious activities.
SEC Log Analyzer is a lightweight log analysis tool designed to parse Linux authentication logs and provide useful and provide useful security insights. The project is built incrementally using an Agile sprint-based approach.
- Project initialization
- Professional project structure
- Error handling for missing log files
- Load Linux authentication log files
- Count total log entries
- File validation and exception handling
- Detect failed login attempts
- Detect successful login attempts
- Display login statistics
- Detect failed login attempts
- Extract source IP addresses
- Regular Expression (Regex) based parsing
- Improved authentication event analysis
- Refactored the project into multiple modules
- Separated parsing, analysis, and reporting logic
- Improved project architecture
- Introduced structured event data
- Introduced object-oriented design using Python dataclasses
- Replaced dictionaries with strongly typed models
- Added
LoginEventmodel - Added
AnalysisResultmodel - Improved type safety across the project
- Enhanced code readability and maintainability
- Python
- Regular Expressions (Regex)
- File Handling
- Exception Handling
Log_Analyzer/
│
├── analyzer.py
├── parser.py
├── main.py
├── report.py
├── models.py
├── sample_logs/
│ └── auth.log
├── reports/
├── screenshots/
├── docs/
├── README.md
├── requirements.txt
└── .gitignore
- Unit Testing
- Pytest
- Test Coverage
📊 v0.6.0 🟢 Sprint 6 Completed
- JSON report export
- HTML Reports
- Brute-force detection
- Suspicious IP Ranking
- Command-line Arguments
- Unit Testing
