Updated 28-Jun-2024
A development server recently became compromised, and while this isn't necessarily a good thing, it does raise awareness and provides impetus to strengthen security measures.
Access Control
A few axioms:
- Access control is better through certificates (what you have) than passwords (what you know)
- Two-factor authentication is better than both (what you have + new knowledge communicated)
- The point is to be reasonably hardened, but have monitoring which alerts upon compromise (intrusion detection)
- Regularly conducted penetration testing should help inform the hardening process
- Encryption is necessary, eventually end-to-end but in any case when logins are being used
- Apache is a big attack vector, so keep it patched, and with limited rights
- Various exploits against web content and databases, security-aware software development standards required
- Simple is better, because simple gets done where complicated does not
- Users should not share accounts
- Have a disaster recovery process because there will be a future when it will need to be used