Román Cortés

Introducción a la seguridad web

17 de Octubre del 2008

Tal y como me habéis pedido, voy a escribir sobre seguridad web, orientada al desarrollo. Como es un tema muy extenso lo haré en varios posts y hoy comienzo con una pequeña introducción.

Lo primero que cabría indicar es que no hay ninguna web *totalmente* segura. Cualquier sistema conectado a internet está sujeto a posibles ataques desde dicho medio, algunos de ellos pueden ser contrarrestados y otros no. Por tanto, a partir de ahora, cuando escriba “web segura” se debería entender como web mínimamente segura.

Estos posibles ataques (también llamados riesgos de seguridad) pueden ocurrir a cualquier nivel y de muy diversas formas. El hardware en el que se hospeda una web, el sistema operativo, el software instalado, el código de la web en sí e incluso el diseño de internet como red son vulnerables. Dado que me centraré sólo en el desarrollo web, en los próximos posts sólo escribiré riesgos en ese ámbito, pero en esta introducción voy a dar algunos consejos generales para el resto:

- Mantener el sistema operativo y el software del servidor actualizado con versiones estables.
- Usar contraseñas fuertes (con suficiente longitud, que incluyan mayúsculas, minúsculas y números) para todo, no compartirlas y cambiarlas cada cierto tiempo.
- Realizar copias de seguridad periodicas.
- Sólo instalar software en el que se pueda confiar mínimamente. No todo el software de código abierto es mínimamente seguro. Un ejemplo concreto: Wordpress puede ser mínimamente seguro, pero eso no implica que todos los plugins para Wordpress lo sean. Una búsqueda en Google sobre algún software concreto y sus problemas de seguidad nos pueden ayudar a hacernos una idea.
- Comprobar bien el ordenador desde el que se accede con contraseña al servidor y mantenerlo libre de virus, spywares y malwares.
- Usar un firewall en el servidor

Si tenéis una cuenta de hosting (hospedaje) compartido, bastantes de estos consejos no los podéis aplicar directamente, dado que serían responsabilidad de la empresa de hosting, pero sí que podéis revisar el software instalado, comprobar vía Google si tiene problemas graves de seguridad, y de ser así, sugerir un cambio o actualización a dicha empresa.

Por hoy creo que esto es todo. En el próximo post hablaré de uno de los problemas más frecuentes en el desarrollo web: las inyecciones.

Problema de seguridad en Wordpress

16 de Octubre del 2008

Las últimas versiones de Wordpress han incluido seguridad adicional mediante 3 contraseñas (o llaves, keys) que se encuentran en el fichero de configuración wp-config.php:

define(’AUTH_KEY’, ‘put your unique phrase here’);
define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);

Veo 2 problemas principales por los que esta seguridad adicional no debe estar surtiendo efecto alguno en bastantes instalaciones:

- El instalador de Wordpress, al crear automáticamente el fichero wp-config.php no solicita la inserción de dichas llaves, las deja tal cual, con “put your unique phrase here”.

- Si la configuración se realiza a mano, se puede olvidar y dejar la frase por defecto, y Wordpress lo acepta sin problema alguno.

Por tanto, probablemente una gran cantidad de instalaciones de Wordpress tengan las llaves por defecto, y ese es el equivalente a no tener en absoluto estas nuevas medidas de seguridad.

Dado que no he estudiado al completo el código de Wordpress (y que dios me libre de tener que hacerlo), no estoy totalmente seguro de la utilidad de dichas llaves. Supongo que servirán para alguna forma de MAC (código de autenticación de mensajes), pero no se si la adición de seguridad es para resolver algún tipo de problema real y ya existente, si es un aumento de seguridad ante algún posible ataque teórico practicable o no. De las tres posibilidades:

- Si es para solventar un problema ya existente, estamos ante un fallo de seguridad grave; Wordpress no debería permitir que se ejecutase con las claves por defecto.

- Si es para solventar un problema teórico pero practicable, espero que se tomen medidas en próximas versiones para que forzosamente haya que cambiar las claves por defecto.

- Por último, si es un problema teórico pero impracticable (a veces se toman demasiadas medidas de seguridad), entonces que se queden las llaves por defecto no es un problema de seguridad, pero sí un problema de gasto de recursos innecesarios.

Bien… por si las moscas, sólo puedo recomendaros que si usáis las últimas versiones editéis vuestro wp-config.php y agreguéis 3 contraseñas seguras… y darle así un uso a mi generador de contraseñas seguras.

Tutoriales

15 de Octubre del 2008

Hoy pensaba escribir un artículo/tutorial sobre KHMACs (códigos de autenticación de mensajes mediante hash con contraseña). No hay apenas información en castellano al respecto (¡ni siquiera en Wikipedia!) y la verdad es que son herramientas muy útiles y potentes para el desarrollo web, así que supuse que sería un buen artículo.

Al intentar estructurar el artículo, me di cuenta de que era demasiado complejo, muchos términos de seguridad y criptografía, así que pensé que sería mejor empezar con un artículo de introducción a la seguridad web y el uso de criptografía para ello.

Tras pensar esto me pregunté que si mis lectores estáis interesados o no en el tema. Para salir de dudas, he decidido preguntaros:
¿De qué temas os gustaría que escribiese artículos y/o tutoriales?

Algunas posibilidades:

- Desarrollo de webs seguras
- Introducción al diseño gráfico y tipografía
- CSS y HTML
- Photoshop
- PHP
- Javascript
- Fotografía digital
- Pintura digital

Tengo algunos conocimientos de varios temas más, pero supongo que no encajan demasiado bien en mi blog.

Espero que os animéis a escribir. Sería información útil también el nivel que os gustaría para cualquier tema, y si preferís explicaciones detalladas o series de ejemplos concretos. Gracias de antemano.

McCain+Obama=McCama

14 de Octubre del 2008

Más iconos

14 de Octubre del 2008

Siguiendo la serie de iconos iniciada con los iconos de compresión, hoy publico dos más; una carpeta y una hoja en blanco.

Tal y como me aconsejó sNebel en su blog, incluyo los ficheros en psd: carpeta y hoja en blanco.

Continuaré publicando iconos a medida que los vaya finalizando.

Un dibujito

13 de Octubre del 2008

Últimamente he dedicado muy poco tiempo al arte y ya me apetecía hacer algún dibujito. La imagen que véis es el resultado. Está a medio camino entre la ilustración artística y la pintura digital; es una mezcla de varios trabajos que tenía sin publicar.

Lo he titulado La Chenille Inquiétante en honor a Asger Jorn.

Como el resto de mis obras no comerciales, si os gusta y os interesa usarlo para cualquier fin, no es necesario que me pidáis permiso. Tampoco es necesario que se me de crédito (aunque se agradece).

Iconos de compresión

6 de Octubre del 2008

Iconos de compresión

Estoy creando iconos para un proyecto open source en el que estoy trabajando en estos momentos y he decidido ir publicándolos para su libre distribución.

Son iconos para los formatos de compresión más comunes y están en formato .png con transparencia y 512×512 píxeles de resolución: zip, rar, gz y tar.gz.

He intentado encontrar alguna licencia para los iconos, pensé en Creative Commons, pero no se adapta a lo que busco. Mi idea es que los iconos sean de libre distribución, uso, modificación y explotación, para cualquier tipo de uso, comercial o no, y que no sea necesario dar crédito al autor. ¿Algún lector conoce una licencia apropiada?

Respecto al uso de los iconos que continen a Tux (el pingüino de Linux), debería adaptarse a la licencia que ofrecen sus creadores: Larry Ewing, Simon Budig y Anja Gerwinsk. Más información aquí.

Generador de contraseñas seguras

3 de Octubre del 2008

Strong Password Generator logoHe creado una pequeña aplicación web para la generación de contraseñas seguras. El uso de estas contraseñas está destinado principalmente a criptoseguridad web; como salts para hashes en software que lo requiera (por ejemplo, la última versión de Wordpress).
Generador de contraseñas seguras

Podéis descargar el código abierto aquí.

Próximamente tengo previstos algunos posts sobre criptoseguridad, su aplicación en diseño/desarrollo web y explicaré en mayor detalle la utilidad de estas contraseñas.

Estado emocional: milenarista
Escuchando: (Los Golfos) - Qué pasa contigo tío