Costa Rica JS
Seguridad en JavaScript

Quien Soy?
- Alberto Cole
- Web Architect | Capilleira
- Mobile | JavaScript
- Move Fast And Break Things
Que esperar de la charla?
- Conceptos de Seguridad Web
- Implementación de esos conceptos en JavaScript
- Librerías que implementan los conceptos
- Verme fallar miserablemente escribiendo código en vivo
XSS
- Scripts maliciosos
- DOM
- Vectores
- Almacenado
- Difícil de mitigar
- Ocurren en el servidor y en el cliente
XSS - Como mitigarlo?
- eval() is evil
- sanitize ('desinfectar' segun google translate x_X)
- filtrar HTML antes de imprimirlo
- toda entrada de datos al sistema deben ser verificados
- toda impresión de datos en el sistema deben ser filtrados
XSS - Libs
- google-caja
- https://www.npmjs.com/package/validator

HTTP Headers
X-XSS-Protection
- XSS
- Built-In
HTTP Headers
Strict-Transport-Security
- Session Data
- Man-In-The-Middle Attacks
- SSL
HTTP Headers
X-Frame-Options
- Clickjacking
HTTP Headers
X-Content-Type-Options
- MIME sniffing
- Drive by Download
HTTP Headers
Content-Length
- DDOS
HTTP Headers
Content-Security-Policy
- Evita varios ataques
- De <<laboriosa>> Configuración
HTTP Headers
X-Powered-By
- Opacidad
https://github.com/krakenjs/lusca
https://github.com/helmetjs/helmet

JWT
- Mobile Ready
- Token-Based
- Seguridad en APIs
- Control de Expiración
- Cookies vs. Tokens
JWT
- Nonce / Heartbeat
- Rápida Expiración
- Blacklist
- Replay Attacks
- XSS vs CSRF

JSHint
- Detección de Errores
- 'use strict';
- Problemas potenciales
- Código sin calidad es inseguro e infantil (por esta razón JS es tomado como un juguete).
- Vivir en Libertad tiene una gran responsabilidad
JSCS
- "Every line of code should appear to be written by a single person, no matter the number of contributors." - @mdo
- Promueve buenas prácticas de codificación en un equipo.
- https://github.com/airbnb/javascript

Monitoreo de Aplicaciones
- Memory Leaks
- Clustering
- Load Balance
- DDOS
- Fault Tolerance
Monitoreo de Aplicaciones
- Forever.js
- PM2
- Strongloop ARC
Links de Interes
- https://www.owasp.org/index.php/List_of_useful_HTTP_headers
- https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet
- https://github.com/auth0/angularjs-jwt-authentication-tutorial
- http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html
- http://jwt.io/
- https://auth0.com/blog/2014/01/27/ten-things-you-should-know-about-tokens-and-cookies/
- http://jscs.info/overview.html
- http://codeguide.co/
- http://codingexplained.com/operating-systems/mac/installing-nginx-os-x-yosemite
- http://strongloop.com/node-js/arc/
- https://github.com/Unitech/pm2
- http://lmgtfy.com/?q=google.com
Costa Rica JS
By Alberto Cole Palacios
Costa Rica JS
- 1,265