Security Operational Procedures
Application: Aaperture
Version: 1.0
Last Updated: 2025-01-26
Effective Date: 2025-01-26
1. Overview
This document outlines the operational security procedures for Aaperture, including monitoring, incident response, secret rotation, and audit procedures. These procedures ensure continuous security and compliance with CASA Tier 2 requirements.
2. Security Monitoring
2.1 Real-Time Monitoring
Security Alert System:
- Automated detection of suspicious activities
- Real-time alerting for security incidents
- Email notifications for HIGH/CRITICAL incidents
- Integration with application logging
Monitored Events:
- Multiple failed authentication attempts (threshold: 5)
- Rate limit violations (threshold: 3)
- CSRF violations
- Permission violations
- Suspicious API usage patterns
Implementation:
- Service:
SecurityAlertsService - File:
backend/src/security/security-alerts.service.ts - Alert levels: INFO, WARNING, HIGH, CRITICAL
2.2 Logging Procedures
Security Event Logging:
- All authentication attempts (success and failure)
- OAuth token operations (without token values)
- Email sending operations (metadata only)
- Security violations and incidents
- Administrative actions
Log Format:
- Structured logging with context
- User ID, timestamp, action, result
- No sensitive data in logs (tokens, passwords, email content)
Log Retention:
- Application logs: 30 days
- Security logs: 90 days
- Audit logs: 1 year
2.3 Monitoring Dashboard
Key Metrics:
- Failed authentication attempts per hour
- Rate limit violations per hour
- CSRF violations per day
- Email sending success rate
- API error rate
Alert Thresholds:
- INFO: Normal operations
- WARNING: Minor anomalies
- HIGH: Security concerns requiring attention
- CRITICAL: Immediate security threat
3. Incident Response Procedures
3.1 Incident Classification
CRITICAL:
- Unauthorized access to user data
- OAuth token compromise
- Database breach
- Active attack in progress
HIGH:
- Multiple failed authentication attempts from same source
- Suspicious API usage patterns
- Rate limit violations indicating potential attack
- Security configuration errors
WARNING:
- Single failed authentication attempt
- Minor permission violations
- Non-critical security warnings
INFO:
- Normal security events
- Routine operations
- Successful security checks
3.2 Incident Response Steps
Step 1: Detection
- Automated detection via security alerts
- Manual review of security logs
- User reports of suspicious activity
- External security notifications
Step 2: Assessment
- Determine incident severity
- Identify affected systems and users
- Assess potential impact
- Classify incident type
Step 3: Containment
- Isolate affected systems if necessary
- Revoke compromised credentials
- Block suspicious IP addresses
- Disable affected user accounts if needed
Step 4: Investigation
- Review security logs
- Analyze attack patterns
- Identify root cause
- Document findings
Step 5: Remediation
- Fix security vulnerabilities
- Update security configurations
- Rotate compromised secrets
- Restore affected systems
Step 6: Recovery
- Verify system security
- Restore normal operations
- Monitor for recurrence
- User notification if required
Step 7: Post-Incident
- Document incident details
- Update security procedures
- Conduct lessons learned review
- Update security measures
3.3 Communication Procedures
Internal Communication:
- Immediate notification to security team for CRITICAL incidents
- Email alerts for HIGH/CRITICAL incidents
- Status updates during incident response
- Post-incident report
External Communication:
- User notification if data breach occurred
- Regulatory notification if required (GDPR)
- Public disclosure if necessary
4. Secret Rotation Procedures
4.1 OAuth Client Credentials
Rotation Frequency: As needed (when compromised or periodically)
Procedure:
- Generate new OAuth client ID and secret in Google Cloud Console
- Update environment variables:
GOOGLE_CLIENT_ID(Web)GOOGLE_IOS_CLIENT_ID(iOS, if mobile app is used)GOOGLE_ANDROID_CLIENT_ID(Android, if mobile app is used)GOOGLE_CLIENT_SECRET
- Restart application services
- Users will need to reconnect Google Calendar (OAuth flow)
- Old credentials can be disabled in Google Cloud Console
Files:
- Environment variables:
.env(production) - Configuration:
backend/src/auth/google-oauth.service.ts
4.2 Encryption Key
Rotation Frequency: Annually or when compromised
Procedure:
- Generate new encryption key:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" - Decrypt existing data with old key
- Encrypt data with new key
- Update environment variable:
ENCRYPTION_KEY - Restart application services
- Verify data decryption works
- Archive old key securely (for data recovery if needed)
Files:
- Environment variable:
ENCRYPTION_KEY - Service:
backend/src/common/encryption.service.ts
Important: Old key must be retained for decrypting existing data. Migration script may be needed.
4.3 JWT Secret
Rotation Frequency: Annually or when compromised
Procedure:
- Generate new JWT secret (minimum 32 characters)
- Update environment variable:
JWT_SECRET - Restart application services
- All users will need to re-authenticate (tokens invalidated)
- Verify authentication works
Files:
- Environment variable:
JWT_SECRET - Strategy:
backend/src/auth/jwt.strategy.ts
4.4 Database Credentials
Rotation Frequency: Quarterly or when compromised
Procedure:
- Create new database user with new password
- Update environment variables:
DATABASE_URLor individual credentials
- Test connection with new credentials
- Update application configuration
- Restart application services
- Verify database operations
- Disable old database user
Files:
- Environment variable:
DATABASE_URL - Configuration: Database connection settings
4.5 Other Secrets
SMTP Credentials:
- Rotation: As needed
- Update:
OVH_SMTP_USER,OVH_SMTP_PASSWORD
Cloudflare R2 Credentials:
- Rotation: As needed
- Update:
R2_ACCESS_KEY_ID,R2_SECRET_ACCESS_KEY
5. Audit Procedures
5.1 Security Audit Schedule
Daily:
- Review security alerts
- Check for failed authentication attempts
- Monitor rate limit violations
- Review error logs
Weekly:
- Review security event summary
- Check for suspicious patterns
- Review user access patterns
- Verify backup procedures
Monthly:
- Comprehensive security log review
- User access review
- Permission audit
- Configuration review
Quarterly:
- Full security assessment
- Policy review
- Procedure updates
- Training review
5.2 Audit Checklist
Authentication and Authorization:
- Review failed authentication attempts
- Verify user access controls
- Check permission assignments
- Review OAuth token usage
Data Protection:
- Verify encryption of sensitive data
- Check token storage security
- Review data retention policies
- Verify data deletion procedures
API Security:
- Review SMTP email sending usage
- Check scope validation
- Verify error handling
- Review rate limiting
Infrastructure:
- Verify HTTPS/TLS configuration
- Check security headers
- Review CORS configuration
- Verify environment variable security
Monitoring:
- Review security alerts
- Check logging completeness
- Verify alert thresholds
- Review incident response
5.3 Audit Documentation
Audit Report Contents:
- Date and scope of audit
- Findings and observations
- Security incidents during period
- Recommendations
- Action items and timelines
Audit Report Retention:
- Quarterly reports: 2 years
- Annual reports: 5 years
- Incident reports: Permanent
6. Backup and Recovery Procedures
6.1 Database Backups
Backup Frequency:
- Daily automated backups
- Weekly full backups
- Monthly archive backups
Backup Storage:
- Encrypted backups
- Off-site storage
- Multiple backup copies
- Retention: 30 days (daily), 90 days (weekly), 1 year (monthly)
Recovery Testing:
- Monthly recovery test
- Verify backup integrity
- Test recovery procedures
- Document recovery time
6.2 Configuration Backups
Backed Up Configuration:
- Environment variables (encrypted)
- Application configuration
- Security settings
- OAuth client configurations
Backup Storage:
- Secure configuration repository
- Encrypted storage
- Access control
- Version control
6.3 Recovery Procedures
Database Recovery:
- Identify backup to restore
- Verify backup integrity
- Restore database from backup
- Verify data integrity
- Restart application services
- Test application functionality
Configuration Recovery:
- Identify configuration version
- Restore from secure repository
- Update environment variables
- Restart application services
- Verify configuration
7. Email Sending Operational Procedures
7.1 SMTP Email Sending Monitoring
Daily Checks:
- Monitor SMTP email sending success rate
- Check for SMTP configuration errors
- Review email delivery time
- Verify SMTP connection health
Weekly Review:
- Review email sending success rate
- Check for users with email sending issues
- Verify SMTP configuration effectiveness
- Review error patterns
7.2 Email Sending Metrics
Metrics to Monitor:
- Email sending success rate
- SMTP error rate
- Email delivery time
- Failed email attempts
Alert Thresholds:
- WARNING: Success rate < 95%
- HIGH: Success rate < 90%
- CRITICAL: Success rate < 80%
7.3 SMTP Configuration Procedures
SMTP Configuration:
- Verify SMTP credentials are configured
- Test SMTP connection
- Log SMTP configuration status
- Alert if SMTP unavailable
Before Each Email Send:
- Verify SMTP transporter is available
- Validate email content
- Proceed with email send via SMTP
8. Access Control Procedures
8.1 User Access Management
New User Onboarding:
- User registration with email verification
- Account activation required
- Default permissions assigned
- Security policies communicated
User Access Review:
- Quarterly review of active users
- Review of permission assignments
- Verification of account status
- Removal of inactive accounts
8.2 Administrative Access
Administrator Account Management:
- Minimal number of admin accounts
- Strong password requirements
- Two-factor authentication (planned)
- Regular access reviews
Administrative Action Logging:
- All admin actions logged
- Audit trail for sensitive operations
- Regular review of admin logs
- Alert on suspicious admin activity
9. Security Training and Awareness
9.1 Security Training
Topics Covered:
- Security policies and procedures
- Incident response procedures
- Secure coding practices
- Data protection requirements
Training Frequency:
- Initial training for new team members
- Annual refresher training
- Updates when policies change
- Incident-based training
9.2 Security Awareness
Regular Communications:
- Security updates and alerts
- Policy changes
- Incident summaries (anonymized)
- Best practices reminders
10. Compliance Monitoring
10.1 CASA Tier 2 Compliance
Monthly Checks:
- Verify restricted scope usage
- Review OAuth token security
- Check scope validation
- Review error handling
Quarterly Review:
- Full compliance assessment
- Policy compliance verification
- Procedure effectiveness review
- Update documentation as needed
10.2 GDPR Compliance
Regular Checks:
- User data access controls
- Data retention policies
- User rights implementation
- Privacy policy updates
11. Procedure Updates
11.1 Update Triggers
- Security incidents
- Policy changes
- Technology changes
- Compliance requirements
- Best practice updates
11.2 Update Process
- Identify need for update
- Draft updated procedures
- Review by security team
- Approval process
- Communication to team
- Implementation
- Training if needed
Document Version: 1.0
Last Updated: 2025-01-26
Next Review: 2025-04-26