- 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>
271 lines
7.2 KiB
Markdown
271 lines
7.2 KiB
Markdown
# 🔒 ROA2WEB Security Procedures
|
|
|
|
## 📋 Security Incident Response Plan
|
|
|
|
### 🚨 CRITICAL: Credentials Compromise Response
|
|
|
|
**IMMEDIATE ACTIONS** (within 1 hour):
|
|
|
|
1. **Assess Scope of Compromise**:
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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:
|
|
```bash
|
|
# 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* |