You are on page 1of 17

CMS Seguridad

Content Management System Security


I Jornadas de Seguridad Informtica Llallagua, Bolivia 16 de Octubre 2013

Luis Miguel Cuende - Yestilo cuende.pro yestilo.com @lmcuende @yestilocom

CMS ms extendidos
Fuente: http://trends.builtwith.com/cms

Webs com CMS: Fortalezas


- Rapidez en la instalacin. - Sencillez en la gestin de contenidos. - Un gran nmero de estilos (temas) disponibles. - Muchos plugins accesibles. - Si es de Software Libre: sin coste de licencia. - Disposicin de profesionales en el mercado. - Escalabilidad. - Fcilmente personalizables (Software Libre). - Comunidades potentes. - Extensa documentacin. - Continua actualizacin.

Webs con CMS: Debilidades


- Vulnerabilidades conocidas por los crackers. - Inconsistencia en la diversidad del cdigo generado por los distintos mdulos y plugins. - Mayor lentitud de carga de la web. - Cdigo algo ms sucio. - Seguridad dependiendo de factores externos.

Ataques ms comunes a las webs


- Inyeccin de SQL
Infiltracin de cdigo SQL intruso dentro del cdigo SQL programado.

- XSS (Cross Site Scripting)


permite a una tercera parte inyectar en pginas web vistas por el usuario cdigo JavaScript o en otro lenguaje script similar.

- Backdoor (Puerta trasera)


secuencia especial dentro del cdigo mediante la cual se pueden sortear los sistemas de seguridad de autentificacin para acceder al sistema.

- Clickjacking /Secuestro de click)


cdigo embebido o script que se ejecuta sin el conocimiento del usuario; por ejemplo, aparentando ser un botn para realizar otra funcin y apropiarse de informacin.

Webs con CMS. Y la seguridad?


Problemas ms comunes:
- No se actualizan debidamente
Muchas veces por la dificultad que ello entraa. A veces por desidia. A veces por dificultades del propio CMS (recordemos Joomla 1.5). Desactualizado un CMS tiene sus vulnerabilidades totalmente accesibles.

- No se encuentran alojados en un servidor de calidad.


En algunas ocasiones incluso se alojan en servidores con Windows!, por defecto inseguros.

- Escaso conocimiento de los administradores.


Si administran los CMS los propios usuarios/editores con conocimientos demasiado bsicos, la inseguridad se multiplica.

CMS: Precauciones Bsicas


- Vulnerabilidades de red
Un caf Internet donde se va a enviar contraseas a travs de una conexin no cifrada, inalmbrica o no, no es una red de confianza. No administres el CMS desde posiciones inseguras.

- Vulnerabilidades del servidor


Si utilizamos un servidor compartido (que alberga otras webs) y un sitio web en el mismo servidor est comprometido, otros sitios web puede estar potencialmente comprometidos.

- Passwords fuertes
Utilizar contraseas consistentes y cambiarlas con frecuencia. Si usamos como usuario y contrasea admin para entrar en el CMS estamos perdidos!

- Utilizar software de confianza


Descargar el CMS desde su sitio oficial y utilizar plugins seguros y confiables.

- No utilizar un equipo infectado para administrar el CMS


Trivial. Algo tpico en Windows; podemos subir archivos enemigos

CMS: Cuestiones importantes


- Un CMS es fcil de usar y mantener. Pero para que funcione debemos tener en cuenta al menos dos cuestiones importantes:

1) Calidad del alojamiento:


- SO del servidor: Linux (LAMP) u otro SO fiable(No Windows) - ltimas versiones estables(Apache, MySQL,PHP,...) - Control con SSH (permisos) - Envo/recepcin ficheros con SFTP encriptado - Poltica del proveedor por escrito sobre backups y recuperacin de datos

2) Mantenimiento preventivo
Importante tener un plan de copia de seguridad y recuperacin de la instalacin en el caso de una catstrofe. Muchos proveedores lo proporcionan. Tener en cuenta tener un respaldo tambin de la base de datos.

WordPress: el CMS ms usado


Cdigo es poesa (The code is poetry)

- Actualizacin (mantenimiento bsico)


En WordPress es extremadamente sencillo el proceso de actualizacin a la ltima versin estable as como la instalacin y actualizacin de los plugins. por tanto, esto debe ser una tarea obligatoria para el administrador.

- Limitar permisos a nuevos usuarios.


Dar los privilegios justos a nuevos usuarios para realizar su trabajo.

- Cuidado con los plugins.


Informarse bien antes de instalar un plugin. Hay algunos que no ofrecen ninguna duda como Akismet (control de spam), WordPress SEO (optimiza SEO), BackupBuddy (mover datos y estructura de WordPress completa), WYSIWYG Widgets (creacin de widgets). Sin embargo otros nos pueden comprometer toda la instalacin. Ante la duda instalar siempre el que tiene un nmero mayor de descargas.

WordPress: medidas de seguridad


Algunas medidas de seguridad son convenientes para proteger nuestra website:

- Limitar el acceso a la administracin a slo una IP determinada


Podemos usar un fichero .htaccess en el subdirectorio /wp-admin que contenga el cdigo: AuthUserFile /dev/null AuthGroupFile /dev/null AuthName Access Control AuthType Basic order deny,allow deny from all #IP address to Whitelist allow from xxx.xxx.xxx.xxx (Cambiar xxx por los dgitos de su IP)

WordPress: medidas de seguridad


- Usar SFTP o SSH en vez de FTP
FTP pasa las credenciales sin encriptar y cualquiera podra robarlas.

- Usar SSL si es posible


Si podemos contratar SSL al proveedor, depende del presupuesto (a veces para un alojamiento compartido sale rentable), hay que aadir las lneas de cdigo siguientes al fichero wp-config.php: define(FORCE_SSL_LOGIN, true); define(FORCE_SSL_ADMIN, true);

- Plugins para aumentar seguridad


BulletProof Security (protege de XSS, RFI, Inyeccin SQL, fuerza bruta,...)

- Servicios de seguridad y aceleracin


CloudFlare, que usa una versin modificada de Nginx es un servicio muy efectivo para aumentar la seguridad de tu website.

WordPress: medidas de seguridad


- Servicio de Backup
Disponer de un buen servicio de backup es fundamental para poder analizar un ataque, limpiar el cdigo y reponer la website rpidamente. Si el proveedor del hosting ya nos lo da bueno el servicio, genial, y si no podemos recurrir a servicios como VaultPress que adems tiene plugins especficos para WordPress. BackupBuddy es un excelente plugin para Backup/Restore as como para Migracin. Puede enviar directamente el backup a Dropbox, Amazon,

- Instalacin de pruebas en local


Es ideal tener una instalacin en local sobre la que podemos hacer las pruebas de los nuevos plugins, temas,... antes de instalarse definitivamente en nuestro website. Eso puede suponer modificar el wp-config.php con otros datos (password base de datos,...) pero nos podemos ahorrar muchos problemas de seguridad.

WordPress: consejos tiles


- Nombre nico de administrador
Antes de la versin 3.0 el nombre de usuario por defecto del administrador era admin. Debemos evitar usar ese trmino y utilizar un nombre de usuario original y nico. Los crackers si conocen el usuario ya tienen la mitad de la batalla ganada.

- Permisos adecuados
Es recomendable ponerse de acuerdo con las recomendaciones del proveedor del hosting. En principio lo ms normal es tener las carpetas con permisos 705 o 755 y los archivos con permisos 604 o 644.

- Ante la duda, restaura


Si no sabes muy bien cmo limpiar los ficheros infectados en tu website, lo ms prctico es restaurar desde una copia reciente que est limpia.

Mi website ha sido crakeado. Ahora qu?


- Usar herramientas de anlisis
Podemos usar el plugin Exploit Scanner. Despus de unos cinco minutos habr explorado la base de datos y ms de 5000 ficheros. No nos va a limpiar nada pero detecta los problemas y nos deja a nosotros la responsabilidad de hacer lo necesario.

- Cierre del website y anlisis de logs


Un buen servicio de hosting si detecta un ataque tiene que cambiar automticamente los permisos del directorio principal de nuestra website para cerrarla y darnos la mxima informacin, como la hora exacta y enviar un mensaje al email del administrador. A partir de ah y de los conocimientos de este se puede resolver en unos minutos, y volver a cambiar los permisos para abrirla de nuevo al pblico. En el archivo de log podemos encontrar datos completos sobre el acceso al servidor de la forma: 192.119.148.209 reparastur.com - [16/Oct/2013:19:07:03 +0200] "GET /holamundo/ HTTP/1.1" 200 6576 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv: 22.0) Gecko/20100101 Firefox/22.0"

WordPress: exploits enemigos


ltimamente algunos scripts se han hecho famosos a cargo de WordPress. El caso de TimThumb (un sistema de gestin de miniaturas) es quizs el ms famoso, aunque otros como Uploadfy le quieren emular. Si se usa un estilo que incluye TimThumb el archivo debe actualizarse continuamente a la ltima versin. El contenido podemos descargarlo desde Google en la direccin: http://code.google.com/p/timthumb/source/browse/trunk/timthumb.php Generalmente encontraremos el archivo timthumb.php en el directorio del tema que usemos en WordPress. por ejemplo: /wp-content/themes/ePhoto/timthumb. php aunque a veces en algunas instalaciones ms antiguas podemos encontrarnos el archivo thumb.php. A la hora de escribir este documento la versin ltima es 2.8.13. del 27/09/13. Podemos usar el plugin TimThumb Vulnerability Scanner para detectar si est desactualizado el archivo y actualizarlo. En uno de mis blogs tengo un post relacionado con el problema del Timthumb: http://cuende.pro/post/22263373608/resolucion-problema-comun-enservidores-relacionado-con

Conclusiones
1) Un sitio web no debe olvidarse despus de realizado. Entonces an requiere ms trabajo para protegerlo y evolucionarlo. 2) La seguridad es el aspecto fundamental de un sitio web. Sin ella y vulnerable el caos est servido. 3) La administracin integral de un sitio web debe estar en manos de un profesional experto en el rea informtica. Nunca en manos de un profesional del rea del diseo o de un blogger. 4) No regatear demasiado el aspecto econmico. Una website bien diseada y mantenida puede ser una gran herramienta para cualquier empresa/organizacin. Por tanto tener un hospedaje de calidad es imprescindible y nos puede ahorrar muchos problemas de seguridad.

Gracias!
Sobre m:
Me paso la vida aprendiendo y compartiendo. Programador desde el principio (37 aos), formador de vocacin y divulgador digital de devocin, comenc a realizar webs hace diez aos, al principio directamente en HTML. Dos aos ms tarde incorpor PHP, CSS,... y posteriormente fu incorporando CMSs como Mambo, MiaCMS, Joomla,...hasta que lleg WordPress y me cautiv su altsima productividad y la estructura de su cdigo. Siempre evolucionando... Ah! Slo utilizo herramientas de Software Libre. Twitter: @lmcuende / Facebook: lmcuende Linkedin: Luis Miguel Cuende Fernndez Datos localizacin: cuende.tel Blogs: cuende.pro / lmcuende.blogspot.com Profesional: yestilo.com / webserving.es

You might also like