Files
roa2web-service-auto/security/SECURITY_PROCEDURES.md
Marius Mutu 9008876b16 chore: Remove obsolete microservices directories and update all references
- Delete data-entry-app/ (1.6GB), reports-app/ (447MB), .auto-build-data/
- Saved ~1.4GB disk space (64% reduction: 2.2GB → 845MB)

Updated references across 38 files:
- .claude/rules/ paths: backend/modules/, src/modules/
- .claude/commands/validate.md: all validation paths
- docs/ (13 files): data-entry, telegram, README, CLAUDE.md
- scripts/ (3 files): backup-secrets, restore-secrets, test-docker
- security/ (2 files): git_cleanup, SECURITY_PROCEDURES
- deployment/ & shared/: updated all stale comments

All paths now reflect ultrathin monolith architecture:
- Backend: backend/modules/{reports,data_entry,telegram}/
- Frontend: src/modules/{reports,data-entry}/
- Shared: shared/{auth,database,routes}/

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 12:08:20 +02:00

7.2 KiB

🔒 ROA2WEB Security Procedures

📋 Security Incident Response Plan

🚨 CRITICAL: Credentials Compromise Response

IMMEDIATE ACTIONS (within 1 hour):

  1. Assess Scope of Compromise:

    # Run emergency security scan
    python security/secrets_scanner.py --scan-git-history --save-report emergency_scan.json
    
  2. Isolate Systems:

    • Change Oracle database password immediately
    • Rotate SSH keys for server access
    • Update application authentication credentials
    • Notify infrastructure team
  3. Document Incident:

    • Record time of discovery
    • List all potentially compromised credentials
    • Identify affected systems and users
    • Track remediation actions

🔧 REMEDIATION STEPS

Step 1: Credential Regeneration

# Oracle Database
# 1. Connect to Oracle as admin
# 2. Change CONTAFIN_ORACLE password
ALTER USER CONTAFIN_ORACLE IDENTIFIED BY "NEW_SECURE_PASSWORD";

# SSH Keys
# 1. Generate new SSH key pair
ssh-keygen -t rsa -b 4096 -C "roa2web-$(date +%Y%m%d)" -f roa_oracle_server_new

# 2. Update server authorized_keys
# 3. Test connectivity with new key
# 4. Remove old key from server

Step 2: Git History Cleanup

# COORDINATE WITH TEAM FIRST!
# 1. Backup repository
python security/git_cleanup.py --backup

# 2. Clean git history
python security/git_cleanup.py --cleanup

# 3. Force push to all remotes
git push --force-with-lease --all origin
git push --force-with-lease --tags origin

# 4. Notify team to re-clone

Step 3: System Updates

# Update all environment files
# 1. roa2web/.env
# 2. roa2web/backend/.env
# 3. Production environment variables

# Restart all services
# 1. Backend FastAPI application
# 2. Frontend Vue.js application
# 3. Database connections
# 4. SSH tunnel services

🛡️ Preventive Security Measures

Daily Security Checklist

  • Run security scanner on active branches
  • Review new commits for potential secrets
  • Monitor system access logs
  • Check environment file changes
  • Verify git hooks are active

Weekly Security Tasks

  • Review security scan reports
  • Update security patterns if needed
  • Audit user access permissions
  • Check for new security vulnerabilities
  • Review backup and recovery procedures

Monthly Security Review

  • Comprehensive repository security audit
  • Team security training refresh
  • Update security documentation
  • Review and test incident response plan
  • Credential rotation assessment

🔍 Security Monitoring

Automated Monitoring

# Set up cron job for daily scans
# Add to crontab: crontab -e
0 9 * * * cd /path/to/roa-flask && python security/secrets_scanner.py --save-report daily_scan_$(date +\%Y\%m\%d).json

# Weekly comprehensive scan
0 9 * * 1 cd /path/to/roa-flask && python security/secrets_scanner.py --scan-git-history --save-report weekly_scan_$(date +\%Y\%m\%d).json

Alert Triggers

  • New secrets detected in commits
  • Suspicious file patterns added
  • Failed security scans
  • Unauthorized access attempts
  • Environment file modifications

📊 Security Metrics and KPIs

Track These Metrics:

  • Number of security violations per month
  • Time to detect security issues
  • Time to remediate security issues
  • Git hook effectiveness rate
  • Team security training completion

Monthly Security Report Template:

ROA2WEB Security Report - [Month/Year]

📈 Metrics:
- Security scans performed: X
- Violations detected: X
- Violations remediated: X
- Average detection time: X hours
- Average remediation time: X hours

🔍 Key Findings:
- [List significant security events]
- [Pattern analysis]
- [Trend identification]

🎯 Action Items:
- [Specific security improvements needed]
- [Training requirements]
- [Process improvements]

📋 Recommendations:
- [Strategic security initiatives]
- [Tool improvements]
- [Policy updates]

🎓 Team Security Training

Required Training Topics:

  1. Secrets Management:

    • What constitutes a secret
    • Proper handling of credentials
    • Environment variable usage
    • Secrets management systems
  2. Git Security:

    • Pre-commit security checks
    • Proper commit message practices
    • History rewriting consequences
    • Credential exposure prevention
  3. Incident Response:

    • Recognizing security incidents
    • Immediate response procedures
    • Escalation protocols
    • Post-incident analysis

Training Schedule:

  • New team members: Security orientation (first week)
  • All team members: Quarterly security refresh
  • Security incidents: Immediate post-incident training
  • Tool updates: Training when new security tools introduced

🔧 Tool Maintenance

Monthly Tool Updates:

# Update security patterns
# 1. Review new threat intelligence
# 2. Update pattern definitions in secrets_scanner.py
# 3. Test pattern effectiveness
# 4. Deploy updated patterns

# Verify tool functionality
python security/secrets_scanner.py --verbose
./security/install_hooks.sh

Tool Health Checks:

  • Verify git hooks are functioning
  • Test scanner pattern effectiveness
  • Check cleanup tool safety measures
  • Validate backup procedures

📞 Emergency Contacts

Security Incident Response Team:

  • Primary: [Security Lead Name] - [Contact Info]
  • Secondary: [DevOps Lead Name] - [Contact Info]
  • Escalation: [CTO/Technical Director] - [Contact Info]

External Resources:

  • Oracle Support: [Oracle Support Details]
  • Infrastructure Provider: [Cloud Provider Support]
  • Security Consultant: [External Security Expert]

📋 Compliance and Auditing

Regular Audit Requirements:

  • Monthly: Internal security review
  • Quarterly: Comprehensive security audit
  • Annually: External security assessment
  • Ad-hoc: Post-incident security review

Audit Checklist:

  • All secrets properly managed
  • Git history clean of credentials
  • Security tools functioning correctly
  • Team training up to date
  • Incident response plan current
  • Backup and recovery tested
  • Access controls properly configured
  • Documentation updated

Compliance Standards:

  • Follow OWASP security guidelines
  • Implement ISO 27001 practices where applicable
  • Ensure GDPR compliance for user data
  • Meet industry-specific security requirements

🚀 Future Security Improvements

Short-term (1-3 months):

  • Implement automated secrets management system
  • Add security scanning to CI/CD pipeline
  • Enhance monitoring and alerting
  • Improve team security training program

Medium-term (3-6 months):

  • Deploy centralized secrets management (Vault/AWS Secrets Manager)
  • Implement security scanning in IDE
  • Add security metrics dashboard
  • Establish security champion program

Long-term (6-12 months):

  • Full security automation pipeline
  • Advanced threat detection
  • Security compliance automation
  • Comprehensive security culture program

⚠️ CRITICAL REMINDER

This document must be reviewed and updated after any security incident. All team members must be familiar with these procedures and know how to execute them under pressure.


Document Version: 1.0
Last Updated: 2025-08-03
Next Review: 2025-09-03