What it takes to defend an application

Null Bhopal Meet

11 September 2016

Slides

Abstract

This session is an attempt to understand what would it take to defend an application. not just from web application security point but also external factors like server security to service provider selection to administrator’s laptop. This is high level overview of the security protections one should be thinking of while deploying an application. The session is conducted assuming a web application with fixed set of requirements is to be hosted and company has list of potential abusers and then discussion around what kind of protections should be present.

AI Generated Summary

AI Generated Content Disclaimer

Note: This summary is AI-generated and may contain inaccuracies, errors, or omissions. If you spot any issues, please contact the site owner for corrections. Errors or omissions are unintended.

This comprehensive presentation by Anant Shrivastava at Null Bhopal (September 2016) walks through the full security lifecycle of deploying and hardening a web application — from initial requirements gathering and software selection through OS hardening, web server configuration, PHP security, database lockdown, HTTPS/TLS setup, SSH hardening, firewall rules, WAF deployment, and often-overlooked concerns like registrar security, admin endpoint protection, and backup strategies. Using a realistic scenario of deploying a WordPress blog for a financial organization on a budget, the talk demonstrates that securing a web application requires attention at every layer of the stack.

Key Topics Covered

Actionable Takeaways

  1. Apply the full NGINX security header set (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, X-Download-Options) and hide server identification information on all production deployments — these are low-effort, high-value hardening steps.
  2. Disable dangerous PHP functions (system, exec, shell_exec, passthru, etc.) in production php.ini and follow the OWASP PHP Configuration Cheat Sheet as a baseline security standard.
  3. Implement a default-DROP iptables policy and integrate fail2ban for both SSH and web application login brute-force protection, using the specific rule examples provided in this presentation as a starting template.
  4. Configure TLS with modern settings: TLS 1.2 minimum, PFS-enabled cipher suites, HSTS headers, and OCSP stapling — then validate your configuration using SSLLabs and Mozilla’s SSL Config Generator.
  5. Secure the entire operational chain beyond the server itself: enable 2FA on hosting provider accounts, domain registrars, and DNS management; test registrars against social engineering by calling with public information; and enforce full disk encryption and privilege separation on administrator workstations.
  6. Establish a tested backup strategy with multiple encrypted copies across different locations, and verify backups regularly by performing actual restoration tests rather than assuming they work.

Social chatter