¿Cómo funciona un navegador moderno?

Probablemente excesivamente técnico para la mayoría, pero nunca viene mal para futura referencia: How Browsers Work: Behind the scenes of modern web browsers.

Anuncios

Seguridad en aplicaciones de colaboración según Google

En [PDF] Security Whitepaper. Google Apps Messaging and Collaboration Products. Introduction un documento de Google con directrices generales, con su declaración inicial:

The security of online services is a topic of increasing interest to enterprises as the number of third party hosted service offerings has expanded in recent years. The emergence of various “cloud computing” concepts and definitions has highlighted not only questions about data ownership and protection, but also how various vendors of cloud computing technologies build and implement their services. Security experts, end-users and enterprises alike are all considering the security implications of the cloud computing model.

Y los consejos ya vistos tantas veces, pero que no se si están calando:

… the Google Security Team maintains an engineering outreach and education program that currently includes:
– Security training for new engineers.
– The creation and maintenance of extensive documentation on secure design and coding practices.

Entrenamiento sobre diseño seguro para los nuevos ingenieros.

5 decisiones de diseño que afectan a la seguridad de aplicaciones web

En 5 Key Design Decisions That Affect Security in Web Applications algunos puntos para tener en cuenta. Ya he dicho en vidas anteriores que a mi las listas me asustan mucho (sobre todo por lo que puedan dejarse; también porque fijan la atención en unas cosas y, por lo tanto, la alejan de otras) pero estoy seguro de que algunos aprenderán cosas con esta y otros las recordarán:

  • Replicación de sesiones
  • Contexto de autorización
  • Etiquetas vs código en las vistas
  • Elección del entorno de desarrollo
  • Registro y monitorización

La web en tiempo real

Tengo un poco abandonados estos temas desde el punto de vista tecnológico pero me ha gustado mucho el resumen panorámico que hace Dare Obsanjo en Understanding the Real-Time Web for Web Developers donde habla de qué es la web en tiempo real y los principales protocolos, técnicas y mecanismos que existen para ello. Habrá que seguir los enlaces…

Consejos sobre CAPTCHAS

No creo que a estas alturas me dé por meterme en el mundo de los CAPTCHAS. Pero me pareció interesante el documento Strong CAPTCHA Guidelines v1.2 (pdf) por los programas de reconocimiento de caracteres que recomienda y que nunca se sabe si podemos llegar a necesitar.

¿En qué idioma habla tu web?

Un artículo curioso en Language Detection: A Witch’s Brew? donde nos dan pistas de cómo comportarnos (nuestra aplicación, claro) cuando alguien se conecta y tenemos un sistema en varios idiomas:

* Use Accept-Language – it just works
* Use IP detection as a fallback for language, or a separate test to determine jurisdiction
* Cookie your visitors’ language preferences, so you are consistent
* Provide a simple way to switch language, everywhere
* Treat language and compliance issues as two entirely separate problems

A mi me parece especialmente relevante la cuarta, porque siempre es mejor un buen original en inglés que una mala traducción y algunos sitios se empeñan en mostrarte tu idioma (aunque no lo hablen muy bien o no ofrezcan todas las características) y/o en preguntarte cada vez que entras por el idioma (caducan las cookies, cambian el mecanismo …).

Bitácoras interesantes de programación (I)

Me pilla con el paso cambiado (por eso pongo el I, porque espero poner las mías próximamente) la entrada de leonidas en BarraPunto, ¿Qué bitácoras de programación lees?.

En los comentarios hay un buen montón de recomendaciones que vale la pena explorar (al menos conozco algunas de esas que yo también recomendaría).

Dos grandes errores en las aplicaciones web y doce consejos para evitarlos

Lo acaban de publicar en la Last 25 papers added to the Reading Room. Se trata del documento: Protecting Your Web Apps: Two Big Mistakes and 12 Practical Tips to Avoid Them (pdf).

No me queda claro cuáles son las que consideran los autores (Frank Kim y Ed
Skoudis) los grandes errores, pero los consejos están claros:

  1. Utilizar código de validación conocido y controlado
  2. Especificar el tipo de datos de las varialbes
  3. No definir los caracteres malos, aceptar los buenos
  4. Limitar el tamaño de la entrada
  5. Canonicalizar antes de filtrar
  6. Filtrar todas las entradas
  7. Filtrar en el servidor
  8. No preocuparse porque existan varios niveles de validación
  9. Codificar adecuadamente la salida
  10. Elegir la codificación de salida adecuada
  11. Hacer una auditoría de código
  12. Hacer una prueba de penetración

Para algunos de los temas hablan del proyecto OWASP Enterprise Security API (ESAPI), que propone algunos módulos y funciones relativas a algunas cuestiones como la validación, canonicalización, …

Análisis de ‘scanners’ de vulnerabilidades web

No soy un experto en el tema pero en Web Vulnerability Scanners Comparison se enlaza a un estudio donde se evalúan unas cuantos de estos productos de análisis de la seguridad de aplicaciones web con una aplicación vulnerable hecha a propósito. No salen demasiado bien paradas y, en todo caso, no es suficiente confiar en una herramienta de estas y pensar que estamos a salvo.