2.3 KiB
2.3 KiB
Security Patterns and Best Practices
Authentication & Authorization
JWT Best Practices
- Expiry: Access tokens 15-30 minutes, refresh tokens 7-30 days
- Algorithm: Use RS256 for public/private key signing
- Claims: Include minimal necessary data (user_id, roles, exp)
- Storage: HttpOnly cookies for web, secure storage for mobile
- Validation: Always verify signature, expiry, and issuer
OAuth 2.0 Implementation
- PKCE: Required for all public clients (SPAs, mobile)
- State Parameter: Prevent CSRF attacks
- Scope Limitation: Request minimal necessary permissions
- Redirect URI: Exact match validation, no wildcards
Data Protection
Encryption Standards
- At Rest: AES-256-GCM for data, RSA-4096 for keys
- In Transit: TLS 1.3 minimum, certificate pinning for mobile
- Database: Column-level encryption for PII
- Backups: Encrypted with separate key management
Input Validation
- Sanitization: Use parameterized queries, escape HTML
- File Uploads: MIME type validation, virus scanning, size limits
- Rate Limiting: Per-IP, per-user, per-endpoint limits
- Schema Validation: JSON Schema or similar for API inputs
API Security
Common Vulnerabilities
- Injection: SQL, NoSQL, Command, LDAP injection
- Broken Authentication: Weak passwords, exposed credentials
- Sensitive Data Exposure: Logs, error messages, debug info
- XML External Entities: XXE attacks in XML processing
- Broken Access Control: Privilege escalation, IDOR
Security Headers
Content-Security-Policy: default-src 'self'
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Referrer-Policy: strict-origin-when-cross-origin
Monitoring & Incident Response
Security Logging
- Authentication Events: Login attempts, failures, lockouts
- Authorization: Access grants/denials, privilege changes
- Data Access: PII access, export operations
- System Changes: Configuration updates, user modifications
Threat Detection
- Anomaly Detection: Unusual access patterns, location changes
- Automated Response: Account lockout, IP blocking
- Alert Thresholds: Failed login attempts, API rate violations
- SIEM Integration: Centralized log analysis and correlation