Best Practices for Resilient Applications

IEEE Standard Glossary of Software Engineering Terminology, IEEE Std 610.12-1990 defines robustness as:

"The degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions"

  1. Apply Defense in Depth.

  2. Use a Positive Security Model.

  3. Fail Securely.

  4. Run with Least Privilege.

  5. Avoid Security by Obscurity.

  6. Keep Security Simple.

  7. Detect Intrusions.

    1. Log All Security-Relevant Information.

    2. Ensure That the Logs Are Monitored Regularly.

    3. Respond to Intrusions.

  8. Don't Trust Infrastructure.

  9. Don't Trust Services.

  10. Establish Secure Defaults.

Last updated