Los headers de seguridad son headers HTTP de respuesta que mejoran la seguridad de aplicaciones web instruyendo a navegadores cómo comportarse.

Headers Esenciales

1. Content-Security-Policy (CSP)

Content-Security-Policy: default-src 'self'; script-src 'self'

2. Strict-Transport-Security (HSTS)

Strict-Transport-Security: max-age=31536000; includeSubDomains

3. X-Frame-Options

X-Frame-Options: DENY

Testing

def test_security_headers():
    response = requests.get("https://example.com")

    assert 'Content-Security-Policy' (como se discute en [OWASP ZAP Automation: Security Scanning in CI/CD](/blog/owasp-zap-automation)) in response.headers
    assert 'Strict-Transport-Security' (como se discute en [Penetration Testing Basics for QA Testers](/blog/penetration-testing-basics)) in response.headers
    assert 'X-Frame-Options' in response.headers

Herramientas

  • SecurityHeaders.com
  • Mozilla Observatory
  • Custom scripts

Implementación

Node.js

const helmet = require('helmet');
app.use(helmet());

Nginx

add_header Content-Security-Policy "default-src 'self'" always;
add_header Strict-Transport-Security "max-age=31536000" always;

Conclusión

Los security headers son capa de defensa crucial. Testing regular asegura implementación correcta y protección contra vulnerabilidades web comunes.