Commit Graph

3 Commits

Author SHA1 Message Date
cschantz b86aa14f25 PHASE 2: InterWorx bot-analyzer support + firewall detection
BOT-ANALYZER INTERWORX SUPPORT:
This is the CRITICAL missing piece for InterWorx servers!

1. Log File Discovery (bot-analyzer.sh:1769-1830)
   - InterWorx stores logs at /home/user/var/domain.com/logs/access_log
   - NOT in centralized /var/log/apache2/domlogs like cPanel
   - Added special detection when SYS_CONTROL_PANEL=interworx
   - Searches for all access_log files across all domains

2. Parse Logs Function (bot-analyzer.sh:281-338)
   - Added INTERWORX_MODE flag for special handling
   - InterWorx: extract domain from path (/home/*/var/DOMAIN/logs/)
   - cPanel: extract domain from filename (domain.com or domain.com-ssl_log)
   - Unified log parsing with control panel-specific domain extraction

SYSTEM-DETECT.SH IMPROVEMENTS:

3. Fixed InterWorx Log Directory (system-detect.sh:70-73)
   - Old: SYS_LOG_DIR="/home" (WRONG - too generic!)
   - New: SYS_LOG_DIR="/home/*/var/*/logs" (marker path)
   - Tools recognize this pattern and apply special handling

4. Added Firewall Detection (system-detect.sh:268-337)
   - Detects: CSF/LFD, firewalld, iptables, UFW
   - Exports: SYS_FIREWALL, SYS_FIREWALL_VERSION, SYS_FIREWALL_ACTIVE
   - Special export: SYS_CSF_ACTIVE (for CSF-specific tools)
   - Integrated into initialize_system_detection()

IMPACT:
- bot-analyzer now works on InterWorx servers!
- Discovers per-domain logs correctly
- User filtering (-u flag) works with InterWorx
- Firewall detection enables future automation features

TESTING:
- All syntax validated with bash -n
- Ready for testing on actual InterWorx server

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 18:52:17 -05:00
cschantz fbfee2061e Fix critical bugs in bot-analyzer: gzipped file access, performance, and scoping issues
CRITICAL FIXES:
- Fix gzipped file access bug causing script to hang at "Calculating threat scores"
  - Changed all parsed_logs.txt references to use zcat on .gz files
  - Fixed lines 1203, 1315, 1324, 1800, 1807, 1810, 1823-1824, 2781

- Fix user_domains scoping bug preventing user filtering (-u flag)
  - Export user_domains from main() before parse_logs() call

- Fix TOOLKIT_BASE_DIR undefined variable
  - Changed to SCRIPT_DIR in lines 1551, 2732

CODE QUALITY:
- Add missing BOLD color code definition
- Add is_valid_ip() function for IPv4/IPv6 validation
- Integrate IP validation into is_excluded_ip() to prevent malformed data

PERFORMANCE OPTIMIZATION:
- Major optimization in analyze_domain_threats()
  - Create indexed lookup files (one-time decompression)
  - Eliminates nested zcat calls (was 4x per IP per domain)
  - Expected 10-100x speedup for servers with 200+ domains

SYSTEM DETECTION:
- Add firewall detection exports to system-detect.sh

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 19:35:55 -05:00
cschantz a51d968185 Initial commit: Server Management Toolkit v2.0
- Complete security menu restructure (3-mode: Analysis/Actions/Live)
- Intelligent cPHulk enablement with CSF whitelist import
- Live network security monitoring dashboard
- Multi-source threat detection and classification
- 50+ organized security tools across 4-level menu hierarchy
- System health diagnostics with cPanel/WHM integration
- Reference database for cross-module intelligence sharing
2025-11-03 18:21:40 -05:00