Goal
Create a concrete project plan, understand how to integrate tools from different weeks, and test your system against realistic threat scenarios.
Prerequisites: Week 12a (Choose Your Path)
This is Part 2 of 3 - Covers planning, integration, and testing.
1. Project Planning Template
Phase 1: Threat Modeling (Week 1 skills)
Define your scenario:
- What are you protecting? (assets)
- Who are you protecting against? (adversaries)
- What attacks are realistic? (threats)
- What’s your risk tolerance? (trade-offs)
Example (Journalist path):
Assets:
- Source identities (CRITICAL - could mean life/death)
- Leaked documents (HIGH - losing sources trust)
- Communication metadata (HIGH - reveals source network)
Adversaries:
- State intelligence agencies
- Law enforcement with legal compulsion
- Corporate adversaries (if covering business)
Realistic Attacks:
- Device seizure at border
- Network traffic analysis
- Forensic analysis of devices
- Coercion/legal threats
Risk Tolerance:
- Security > convenience (will sacrifice usability)
- Budget: $500-1000 for hardware (airgap device, YubiKeys)
- Time: Can spend 10-15 hours setting up properly
Phase 2: Architecture Design
Draw your system:
[Internet]
↓ (Tor)
[Journalist Laptop - Hardened]
├─ GPG: Email encryption
├─ Firejail: PDF sandbox
├─ OnionShare: Anonymous drops
└─ XMPP+OTR: Secure chat
[Airgap Device - Never Online]
├─ Source contact list (encrypted)
├─ Master GPG key
└─ Recovery seeds
[Encrypted Backup Server]
└─ Weekly encrypted snapshots
Document data flows:
- Where does sensitive data enter the system?
- Where is it stored?
- Where could it leak?
Phase 3: Implementation Checklist
Create a specific, ordered checklist:
Example (Privacy-Focused Personal path):
- Week 11: Run Lynis audit, fix critical issues
- Week 4: Set up gocryptfs encrypted home directory
- Week 3: Generate GPG keypair, upload to keyserver
- Week 3: Configure Thunderbird with GPG support
- Week 6: Install and configure Signal Desktop
- Week 6: Set up Matrix account (Element client)
- Week 7: Install Tor Browser, bookmark .onion services
- Week 11: Create AppArmor profile for Firefox
- Week 11: Apply kernel hardening (sysctl)
- Week 5: Set up automated encrypted backups
- Test entire system end-to-end
- Document setup and recovery procedures
Phase 4: Documentation Requirements
You must document:
- Architecture diagram (hand-drawn or digital)
- Threat model (assets, adversaries, mitigations)
- Setup procedures (step-by-step to rebuild)
- Recovery procedures (what if device lost/seized?)
- Security trade-offs (what you sacrificed and why)
- Maintenance schedule (updates, backups, re-auditing)
Format: Markdown document, stored encrypted in your system
2. Integration Examples
Example 1: Combining Week 9 + Week 11
Scenario: Airgap signing device that’s also hardened
Week 9 skills:
- Remove Wi-Fi/Bluetooth hardware
- QR code data transfer
Week 11 skills:
- Lynis audit and harden
- Firejail sandbox for wallet software
- AppArmor profile for Bitcoin Core
Result: Airgap device that’s both isolated AND hardened against local exploits
Example 2: Combining Week 3 + Week 4 + Week 6
Scenario: Encrypted email with compartmentalized storage
Week 3 skills:
- GPG keypair generation
- Email encryption
Week 4 skills:
- Tomb container for email archive
- Separate tomb for each correspondent
Week 6 skills:
- Email alias per correspondent (SimpleLogin)
Result: Each contact has own alias + encrypted tomb, no cross-contamination
Example 3: Combining Week 5 + Week 7 + Week 11
Scenario: Hardened remote server accessible only via Tor
Week 5 skills:
- SSH hardening (key-only, port knocking)
- UFW firewall rules
Week 7 skills:
- Tor hidden service for SSH
Week 11 skills:
- AppArmor profiles for all services
- Kernel hardening
Result: Server accessible only via .onion address, even if VPS provider compromised
3. Testing and Validation
Test Your Threat Model
For each threat you identified, test mitigation:
Example tests (Journalist path):
Test 1: Device seizure simulation
- Shut down laptop suddenly (simulate seizure)
- Can encrypted storage be accessed? (Should be NO)
- Are there unencrypted artifacts? (Check temp files)
- Result: Document any data leakage found
Test 2: Network surveillance simulation
- Run Wireshark while using system
- Are communications encrypted? (Should see only Tor/TLS)
- Any DNS leaks? (Should all go through Tor)
- Result: Fix any cleartext leakage
Test 3: Malicious document handling
- Open suspicious PDF in sandbox
- Can it access home directory? (Should be NO)
- Can it access network? (Should be NO)
- Result: Verify Firejail restrictions working
Test 4: Recovery procedure
- Simulate loss of airgap device
- Can you recover master GPG key from backup?
- Can you reconstruct source contact list?
- Result: Document recovery time and gaps
Security Audit Checklist
Run through this for your final system:
Encryption:
- All sensitive data encrypted at rest
- Master keys stored offline or on hardware token
- Backups encrypted and tested for recovery
Network Security:
- Firewall configured (UFW with default DENY)
- No unnecessary services listening
- Tor used for sensitive communications
Access Control:
- No password authentication (SSH keys only)
- GPG/SSH keys protected with strong passphrases
- AppArmor profiles enforced for risky apps
System Hardening:
- Lynis score 75+ (or document why not)
- Kernel hardening applied (sysctl)
- Unnecessary packages removed
Operational Security:
- Documented threat model
- Recovery procedures tested
- Maintenance schedule defined
- Incident response plan drafted
4. Common Integration Challenges
Challenge 1: Tool Conflicts
Problem: AppArmor blocks Firejail, or Firejail interferes with GPG agent
Solution:
- Test integrations incrementally (add one tool at a time)
- Check AppArmor/Firejail logs for denials
- May need to adjust profiles or choose one tool over another
- Document the conflict and your resolution
Challenge 2: Usability vs Security
Problem: System is so locked down it’s unusable
Solution:
- Revisit threat model - is paranoia justified?
- Identify minimum viable security for your use case
- Use “hardening levels” from Week 11 (Minimal, Moderate, Paranoid)
- Document trade-offs you consciously made
Challenge 3: Maintenance Burden
Problem: System requires constant tweaking and monitoring
Solution:
- Automate where possible (cron jobs for updates, backups)
- Choose “set and forget” configs over complex ones
- Document maintenance schedule realistically
- If it’s too hard to maintain, simplify
Up Next
Week 12c covers deliverables, a complete example capstone walkthrough, and the final checklist.
Key Takeaways
- Plan before implementing - Architecture diagram + checklist saves time
- Integration is incremental - Add one tool at a time, test, then add next
- Test against your threat model - Simulate the attacks you identified
- Document everything - Future you will thank present you
- Trade-offs are expected - Security vs usability vs complexity