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
Made with Slides.com