A Guide to Building Secure Web Applications
Security Guidelines
Validate Input and Output
Fail Securely (Closed)
Keep it Simple
Use and Reuse Trusted Components
Defense in Depth
Good systems don't predict the unexpected, but plan for it. If one component fails to catch a security event, a second one should catch it.
Only as Secure as the Weakest Link
Security By Obscurity Won't Work
Least Privilege
Compartmentalization (Separation of Privileges)
Similarly, compartmentalizing users, processes and data helps contain problems if they do occur. Compartmentalization is an important concept widely adopted in the information security realm. Imagine the same pool man scenario. Giving the pool man the keys to the house while you are away so he can get to the pool house, may not be a wise move. Granting him access only to the pool house limits the types of problems he could cause.
Security Guidelines
Validate Input and Output
Fail Securely (Closed)
Keep it Simple
Use and Reuse Trusted Components
Defense in Depth
Good systems don't predict the unexpected, but plan for it. If one component fails to catch a security event, a second one should catch it.
Only as Secure as the Weakest Link
Security By Obscurity Won't Work
Least Privilege
Compartmentalization (Separation of Privileges)
Similarly, compartmentalizing users, processes and data helps contain problems if they do occur. Compartmentalization is an important concept widely adopted in the information security realm. Imagine the same pool man scenario. Giving the pool man the keys to the house while you are away so he can get to the pool house, may not be a wise move. Granting him access only to the pool house limits the types of problems he could cause.
- 3. How Much Security Do You Really Need?
- 4. Security Guidelines
- 5. Architecture
- 6. Authentication
- 7. Managing User Sessions
- 8. Access Control and Authorization
- 9. Event Logging
- 10. Data Validation
- 11. Preventing Common Problems
- 12. Privacy Considerations
- 13. Cryptography