System log analyzer for detecting suspicious activities
Project description
LogHero ๐ฆธโโ๏ธ
System Log Security Analyzer
Developed by Ahmet KAHRAMAN (AhmetXHero) - Mobile Developer & Cyber Security Expert
LogHero is a powerful command-line tool designed to analyze system log files and detect suspicious security activities. It specializes in identifying SSH brute-force attacks, unauthorized root access attempts, and other security threats across Linux, Windows, and macOS systems.
๐ฏ Features
- SSH Brute-Force Detection: Identifies repeated failed SSH login attempts from the same IP
- Root Access Monitoring: Detects unauthorized attempts to gain root privileges
- Multi-OS Support: Works with Linux, Windows, and macOS log formats
- Real-time Analysis: Fast log parsing and threat detection
- Detailed Reporting: Comprehensive security reports with recommendations
- Flexible Output: Table, JSON, and CSV output formats
- Batch Processing: Analyze multiple log files at once
๐ Installation
From PyPI (Recommended)
pip install AhmetX-LogHero
From Source
git clone https://github.com/ahmetxhero/AhmetX-LogHero.git
cd loghero
pip install -e .
๐ Requirements
- Python 3.7+
- Dependencies:
click,colorama,python-dateutil,tabulate
๐ Usage
Basic Usage
# Analyze a single log file
loghero scan /var/log/auth.log
# Analyze with specific severity filter
loghero scan /var/log/secure --severity HIGH
# Output in JSON format
loghero scan /var/log/auth.log --output json
# Save detailed report
loghero scan /var/log/auth.log --save-report security_report.json
Batch Analysis
# Analyze all log files in a directory
loghero batch /var/log
# Analyze with specific pattern
loghero batch /var/log --pattern "auth*" --recursive
Command Options
loghero scan
--output, -o: Output format (table, json, csv)--severity, -s: Filter by minimum severity (LOW, MEDIUM, HIGH, CRITICAL)--threat-type, -t: Filter by specific threat type--limit, -l: Limit number of results (default: 50)--quiet, -q: Suppress banner and extra output--save-report: Save detailed report to file
loghero batch
--pattern, -p: File pattern to match (default: *.log)--recursive, -r: Search recursively in subdirectories
๐ Detected Threats
SSH Brute-Force Attacks
- Failed password attempts
- Failed public key authentication
- Invalid user attempts
- Suspicious connection patterns
Root Access Violations
- Failed
suattempts to root - Unauthorized
sudousage - Direct root login attempts
- Privilege escalation attempts
Authentication Failures
- Repeated login failures
- PAM authentication errors
- System authentication violations
๐ Example Output
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LogHero v1.0.0 โ
โ System Log Security Analyzer โ
โ Detecting suspicious activities... โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Analyzing log file: /var/log/auth.log
๐ Analysis Summary:
โข Total log entries processed: 15,432
โข Total threats found: 23
โข Unique source IPs: 8
๐จ Security Threats Detected:
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโ
โ Timestamp โ Severity โ Type โ Source IP โ Description โ Count โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโค
โ 2024-01-15 14:23:45 โ CRITICAL โ SSH_BRUTE_FORCE โ 192.168.1.100โ SSH brute-force attack: 25 fail...โ 25 โ
โ 2024-01-15 13:45:12 โ HIGH โ ROOT_LOGIN_ATTEMPT โ 10.0.0.50 โ Failed direct root login attemptโ 1 โ
โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโ
๐ฏ Top Threatening IPs:
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
โ IP Address โ Threats โ Score โ Types โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโค
โ 192.168.1.100 โ 25 โ 100 โ SSH_BRUTE_FORCE โ
โ 10.0.0.50 โ 3 โ 9 โ ROOT_LOGIN_ATTEMPT โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโ
๐ก Security Recommendations:
1. Consider implementing fail2ban to automatically block IPs
2. Use SSH key authentication instead of passwords
3. Disable direct root login via SSH
4. Implement SSH rate limiting
5. Set up real-time alerts for security events
๐ Supported Log Formats
Linux
/var/log/auth.log(Debian/Ubuntu)/var/log/secure(RedHat/CentOS)/var/log/syslog- Custom syslog formats
macOS
/var/log/system.log/var/log/auth.log- Console app logs
Windows
- Security Event Logs
- Application Event Logs
- System Event Logs
๐ง Configuration
LogHero works out of the box with sensible defaults, but you can customize detection thresholds:
SSH Brute-Force Detection
- Default threshold: 5 failed attempts
- Default time window: 300 seconds (5 minutes)
Root Access Detection
- Monitors all
su,sudo, and direct root login attempts - Flags suspicious administrative commands
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development
Test PyPI'dan install et
pip install --index-url https://test.pypi.org/simple/ AhmetX-LogHero/loghero.git cd loghero pip install -e ".[dev]"
Running Tests
pytest tests/
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
- Documentation: https://loghero.readthedocs.io
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Developer: AhmetXHero - YouTube - LinkedIn
๐ Acknowledgments
- Thanks to the cybersecurity community for threat intelligence
- Inspired by fail2ban and other security monitoring tools
- Built with love for system administrators and security professionals
๐จโ๐ป About the Developer
Ahmet KAHRAMAN (AhmetXHero) is a Mobile Developer & Cyber Security Expert with 10+ years of experience in Public Sector IT. He specializes in:
- ๐ฑ Mobile Development: iOS, Android, Flutter, React Native
- ๐ Cybersecurity: Digital Forensics, Penetration Testing, Security Analysis
- ๐ Education: Master's in Forensic Informatics, Multiple certifications
- ๐ Connect: Portfolio | YouTube | LinkedIn
"Security first, innovation always" ๐
โ ๏ธ Security Notice: LogHero is a detection tool. Always implement proper security measures like firewalls, intrusion prevention systems, and regular security updates alongside log monitoring.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ahmetx_loghero-1.0.0.tar.gz.
File metadata
- Download URL: ahmetx_loghero-1.0.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
061bf456bfa084d5b8be8449f510fd9126a8f7d48021b6abf431ce773a537598
|
|
| MD5 |
ce54954bad6c8918e476ccfddee5bedd
|
|
| BLAKE2b-256 |
924de5fb2d47d66ca404088fbdec1b86b10cc521985d7c9a48ab0c398f17aa0d
|
File details
Details for the file ahmetx_loghero-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ahmetx_loghero-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbfc749f6a9c825aff6aa7bd4763d795ea350824693ae30d8b1e1c7efebcc4ee
|
|
| MD5 |
8e6414f29729da570f2842e2b170b62e
|
|
| BLAKE2b-256 |
bf37dc401b15a1a4cdceeb02e853e7d5e610dc67e12055cfd38b67d39bb70490
|