Archivo de abril de 2009
Herramientas LD para profesionales de las TI
Tan importante para una web es tener una buena programación, un buen contenido y un buen diseño, como la máquina en la que se aloja, y la seguridad de nuestro sitio web.
Obviamente no podemos predecir si nuestra página tendrá dos usuarios o diez mil, pero si podemos preparar un plan de contingencia para ello, ya que una página visitada, es un caramelo para hacer spam y ataques.
Tampoco deberÃamos permitirnos el lujo de que el sitio se quede fuera de lÃnea porque simple y llanamente no sea capaz de soportar un pico de tráfico, por una reseña, o un buen posicionamiento google y entonces se dé lo que venimos en llamar “morir de éxito”. Para comprobar que nuestro servidor, programación y sitio están en forma podemos utilizar las siguientes herramientas que ha recopilado la gente de kineo open source, para poder realizar una auditorÃa de seguridad y de calidad del código.
Herramientas para comprobar los servidores, errores sobre las máquinas, pruebas sobre las bases de datos, pruebas de rendimiento, comprobación de enlaces, y otro tipo de pruebas.
Herramientas para verificar la programación dividas por lenguaje de programación.
Sin duda un recurso imprescindible que se merecÃa una entrada y no un simple enlace.
¿Qué tiene wordpress en contra de mover las imágenes? Va fatal la alineación. Si le pongo espacio horizontal y vertical, todavÃa es peor.
Utilizar el robot.txt para ocultar tu sitio web
Aunque el entusiasta2.0 piense que esta es otra de mis campañas para demonizar a Google, sólo voy a explicar cómo ocultar una web utilizando el fichero robots.txt y utilizar el sitemap.xml para indicarle a Google las ramas de nuestro sitio que tiene permitido recorrer, por razones técnicas, de seguridad y de privacidad. Ya que Google aunque técnicamente hace productos muy buenos con sus polÃticas de privacidad (me corta todo el rollo) me crea una sensación un tanto contradictoria.
Obviamente si no aparecemos en Google no existimos, pero a veces nos puede interesar por
determinados motivos que nuestro sitio no aparezca listado en Gran Hermano bien porque es un url de prueba, bien porque nos encontramos desarrollado el sitio o bien porque queremos esconderlo de miradas ajenas: por ejemplo un servicio de videovigilancia ip de un negocio privado, nunca deberÃa aparecer listado en google.
Si queremos impedir el acceso a google a determinadas zonas de nuestro sitio web, ya sea porque nos permite añadir un punto más de seguridad a nuestro sitio web ( ya que los spammer muchas veces se valen de google para planificar sus ataques), ya sea por otros motivos. Por seguridad en mis sitios webs, no me gusta mantener los directorios privados indexados por google (por ejemplo el acceso a la intranet, el gestor de correo, directorio de administración )
Por ejemplo en un sitio web tengo el siguiente escenario:
- Utilizamos un gestor de contenidos Joomla (y es fácil que muchas carpetas se encuentren predeterminadas)
- En la parte de pruebas tenÃa varios directorios con permisos de escritura (estaba realizando pruebas de componentes)
- La administración de la versión 1.0.x de Joomla, tenÃa una vulnerabilidad que no habÃa parcheado en inyección de sql.
- El Gran Hermano estaba mostrando mis vergüenzas: Si hacÃa una búsqueda en Google devolvÃa la ruta al panel de administración (sólo harÃa falta un ataque de fuerza bruta), y la de pruebas, además eran de las más visitadas, sospecho que porque estaba migrando la página a 1.5.
¿Cómo atacan un sitio?
Generalmente el hacker de turno envÃa en primer lugar unos robots, que navegan por todos los enlaces visibles de la web buscando vulnerabilidades (autocompletado de formulario, directorios con permisos de escritura, directorios de administración), estos robots, o bien utilizan los motores de otros robots como google, yahoo, msn, para realizar ataques automatizados, o infectan un conjunto de equipos a los que pone a navegar por internet (redes zombies), y a completar formularios, en busca de vulnerabilidades. ¿Porqué esta gente no dedicará su tiempo y esfuerzo a la computación distribuida o hacer un programa de libre distribución? “
¿Cómo evitar que Google enseñe mis vergüenzas?
Modificar el fichero robots.txt y crear un fichero sitemap.xml. Esto hará que el Gran Hermano evite el acceso a los sitios que indiquemos, pongo el ejemplo de un sitio que no quiero que muestre desde el raÃz.
Para no permitir el acceso de cualquier robot al sitio web:
- Prohibir el acceso a cualquier robot (esto previene los ataques):
User-Agent: *
Disallow: /
- Para prohibir el acceso a un directorio:Disallow: /correo
Disallow: /administrator
Disallow: /pruebas
Disallow: /intranet
- Para prohibir la indexación de un fichero:
Disallow: /cuentas_correo.html
- Con etiquetas META
<html>
<head>
<meta name=”googlebot” content=”noindex”>
- Otra sintáxis admitida:
<META name=”robots” content=”NOINDEX,NOFOLLOW,NOARCHIVE,NOODP,NOSNIPPET, NOOPD, NOYDIR”>
Esto no permitirÃa realizar búsquedas, ni seguir un enlace, ni mirar un archivo, ni aparecer en el directorio, ni aparecer en yahoo.
- Enlaces relacionados:
Controlando como los robots de búsqueda indexan tu sitio (Herramientas de Google para webmasters artÃculo en Inglés)
Gestores de proyectos de desarrollo colaborativos
Cuando estamos creando un proyecto entre varias personas, se hace imprescindible montar un entorno colaborativo.
Existen excelentes programas de libre distribución que nos permiten hacer esto vÃa web (CMS de gestores de proyectos), de todas las alternativas posibles dependerá el uso que le vamos a dar, mis favoritos:
Gestores de proyectos con controlador de versión de código, y aplicación de tecnologÃas de programación extremas y/o ágiles como SCRUM, XP, y que nos permiten tanto gestionar los diferentes usuarios, tareas, proyectos, etc…como controlar los cambios realizados en el código, de modo que todos los desarrolladores trabajen sobre el mismo código, y generar un informe sobre quién ha hecho cada cambio, y la posibilidad de recuperar versiones anteriores de ficheros.
Collabnet svn: Collabnet Subversion. Integración del ciclo de vida del software, binarios certificados de subversion (asegura que todos los desarrolladores trabajan con la misma versión que la de subversion). Repositorio centralizado de código fuente. Versión para escritorio y multiplataforma.

FVE Project Manager: Integración de tecnologÃas ágiles y de programación extrema como SCRUMP, XP…Es una versión modificada de dotnet hecha en españa! Incluye también subversion.
Gestores de proyectos vÃa web sin control de versiones: En esta categorÃa se encuentran los gestores de proyectos enfocados a la gestión de soporte técnico, y/o herramienta de comunicación con el usuario, y la mayorÃa disponen de un sistema de incidencias. Todos disponen de creación de grupos, asignación de tareas, creación de roles, control del estado del proyecto, generadores de informes, envÃo de solicitud de asistencia (ticket…)
Sobran los comentarios para este sistema. Excepcional, aunque el estilo no está completamente cuidado es fácil modificarlo utilizando plantillas.

PhpEasyProject: Sin duda uno de los más prometedores. Múltiples funcionalidad y sobre todo, facilidad de uso, para quienes necesitan un gestor de proyectos, fácil de instalar y de gestionar.
Utiliza el motor de plantillas Smarty, y entre otras cosas permite la exportación de datos a otras aplicaciones mediante xml.


