# Active Security Monitoring - Quick Reference

## Access

**URL**: http://localhost:12345/security/intelligence

**Permissions Required**:
- View: `security.view_audit`
- Manage: `security.manage`
- Admin role required

## Features

### 1. Threat Score
- Real-time threat level (0-100)
- Color-coded: Green (0-19), Yellow (20-49), Orange (50-79), Red (80-100)
- Auto-updates every 60 seconds

### 2. Anomaly Detection
**8 Detection Algorithms**:
1. Brute Force Attacks (10 failures in 10 min)
2. Account Enumeration (5 usernames in 5 min)
3. Privilege Escalation (3 attempts in 30 min)
4. Anomalous Access (off-hours 2-5 AM)
5. Suspicious IPs (100+ requests in 60 min)
6. Data Exfiltration (5 downloads in 30 min)
7. Session Anomalies (5+ IPs in 24 hours)
8. Rate Limit Abuse (5 blocks in 15 min)

### 3. Real-time Alerts
**6 Default Rules**:
- RULE-BRUTE-FORCE (Critical, 10min cooldown)
- RULE-PRIVILEGE-ESC (Critical, 5min cooldown)
- RULE-DATA-EXFIL (High, 15min cooldown)
- RULE-THREAT-CRITICAL (Critical, 30min cooldown)
- RULE-SUSPICIOUS-IP (High, 20min cooldown)
- RULE-SESSION-ANOMALY (Medium, 30min cooldown)

### 4. Log Integrity
- SHA-256 HMAC signatures on all logs
- Tamper detection via "Verify Integrity" button
- Cryptographic validation of log authenticity

### 5. Threat Intelligence
- Malicious IP addresses
- Compromised user accounts
- Attack patterns and indicators
- Occurrence tracking

## API Endpoints

```bash
# Query logs
GET /api/siem/logs?limit=50&source=authentication

# Verify integrity
POST /api/siem/logs/verify

# Get statistics
GET /api/siem/statistics?timeRange=24

# Export logs
GET /api/siem/export?format=csv

# Get anomalies
GET /api/siem/anomalies?status=open&severity=critical

# Resolve anomaly
POST /api/siem/anomalies/:id/resolve
Body: { "notes": "Resolved description" }

# Get alerts
GET /api/siem/alerts?status=active

# Acknowledge alert
POST /api/siem/alerts/:id/acknowledge

# Resolve alert
POST /api/siem/alerts/:id/resolve
Body: { "notes": "Resolution details" }

# Get threats
GET /api/siem/threats?level=high

# Dashboard data
GET /api/siem/dashboard
```

## Configuration

### Environment Variables

```bash
# Required: Log signature secret (32+ characters)
LOG_SIGNATURE_SECRET=your-secret-key-here

# Generate with:
openssl rand -hex 32
```

### Database Tables

- `aggregated_logs` - Central log repository (with signatures)
- `security_anomalies` - Detected anomalies
- `threat_intelligence` - Known threats
- `security_alerts` - Active alerts
- `alert_rules` - Alert configurations

### Log Sources

1. **authentication** (Critical, 365 days) - Login/logout events
2. **authorization** (High, 365 days) - Permission checks
3. **security_audit** (Critical, 365 days) - Security events
4. **application** (Medium, 90 days) - App logs
5. **system** (High, 180 days) - System events
6. **access** (Low, 30 days) - Access logs

## Usage Examples

### View Recent Alerts
1. Navigate to `/security/intelligence`
2. Click "Alerts" tab
3. Review active alerts
4. Click "Acknowledge" for each alert
5. Click eye icon to view details
6. Add resolution notes and click "Resolve"

### Check Log Integrity
1. Click "Verify Integrity" button
2. Wait for verification to complete
3. Green notification = All logs valid
4. Red notification = Tampering detected

### Export Logs for Analysis
1. Click "Export" button
2. Logs download as CSV
3. Open in Excel/spreadsheet software
4. Analyze patterns and trends

### Resolve Anomalies
1. Navigate to "Anomalies" tab
2. Click eye icon on anomaly
3. Review details and pattern data
4. Add resolution notes
5. Click "Resolve" button

### Monitor Threat Score
- Green (0-19): Normal operations
- Yellow (20-49): Elevated activity - monitor
- Orange (50-79): High activity - investigate
- Red (80-100): Critical - immediate action

## Troubleshooting

### High Threat Score
**Problem**: Threat score above 80
**Solution**: 
1. Review open anomalies
2. Resolve false positives
3. Investigate critical alerts
4. Check for active attacks

### No Data Appearing
**Problem**: Dashboard shows no logs/anomalies
**Solution**:
1. Check user permissions (`security.view_audit`)
2. Verify backend is running: `docker logs streamflow`
3. Check browser console for errors
4. Try manual refresh

### Log Tampering Detected
**Problem**: "Integrity Compromised" warning
**Solution**:
1. Export tampered logs immediately
2. Review forensic evidence
3. Restore from backup if needed
4. Investigate root cause
5. Rotate `LOG_SIGNATURE_SECRET`

### Container Won't Start
**Problem**: Docker container restarting
**Solution**:
1. Check logs: `docker compose logs --tail=100`
2. Verify `LOG_SIGNATURE_SECRET` is set
3. Check database permissions
4. Rebuild: `docker compose up -d --build`

## Performance

- **Auto-refresh**: 60 seconds
- **Analysis cycle**: 60 seconds
- **Buffer size**: 100 log entries
- **Flush interval**: 5 seconds
- **Query limit**: 100 entries (max 1000)

## Security Best Practices

1. **Rotate Secrets Regularly**
   - Rotate `LOG_SIGNATURE_SECRET` quarterly
   - Update all active logs after rotation

2. **Review Alerts Daily**
   - Check threat score each morning
   - Acknowledge/resolve alerts promptly
   - Investigate critical anomalies immediately

3. **Export Logs Weekly**
   - Backup to external SIEM
   - Archive for compliance
   - Long-term analysis

4. **Monitor Trends**
   - Track anomaly patterns
   - Identify repeat offenders
   - Adjust thresholds as needed

5. **Maintain Clean Data**
   - Resolve false positives
   - Update alert rules
   - Clean up old logs (automatic)

## Compliance Mapping

- **PCI-DSS Req 10**: Log aggregation, daily review, retention
- **HIPAA § 164.312(b)**: Audit controls, activity examination
- **SOX Section 404**: IT controls, audit trails
- **GDPR Article 32**: Security monitoring, incident detection
- **CWE-778**: Comprehensive logging implementation
- **CWE-532**: Sensitive data protection in logs

## Support

For issues or questions:
1. Check documentation: `/docs/SIEM_IMPLEMENTATION.md`
2. Review backend logs: `docker logs streamflow`
3. Verify API responses: Browser network tab
4. Check permissions: User RBAC settings

## Version

- **Implementation**: December 2024
- **Version**: 1.0.0
- **Status**: Production Ready ✅
