viernes, 11 de noviembre de 2011

Monitoreo de integridad de archivos con MD5.

Recientemente me vi en la necesidad de implementar un mecanismo que me permitiera determinar la integridad de archivos en un servidor Web.

Pero, ¿Que es la integridad de archivos?

En terminos de seguridad de la información, la integridad es la propiedad que busca mantener los datos libres de modificaciones no autorizadas. La violación de integridad se presenta cuando un empleado, programa o proceso (por accidente o con mala intención) modifica o borra los datos importantes que son parte de la información.*

Con lo anterior como referencia genere una solución simple basada en batch que me permite identificar si algún archivo ha sido modificado (ya sea por hacking o por error) y en caso de ser así, reportarlo vía correo electrónico.

Dicho batch requiere las herramientas hashdeep para la generación de hashes y de bmail el cual hace la función de envio de mail; siendo las dos gratuitas.

Lo primero fue generar un archivo de referencia que contiene los hashes de los archivos que son confiables.

Para la generación del archivo base (o de referencia) ejecute la herramienta de manera recursiva sobre el directorio donde estan todos los archivos y páginas del sitio Web.

hashdeep -r C:\wwwroot\*.* > C:\BASELINE.MD5

Posteriormente y por medio de la utileria AT de Windows calendarice la ejecución recurrente en busqueda de cambios en los archivos, de no existir cambios no se reportará nada, de lo contrario se enviará por correo a la cuenta que se indique los archivos modificados.

hashdeep.exe -r -vvv -a -k C:\BASELINE.MD5 C:\wwwroot\*.* > C:\XMATCH.TXT

find "passed" XMATCH.TXT > NUL
IF NOT ERRORLEVEL 1 goto :SIN-CAMBIOS
IF ERRORLEVEL 1 goto :ALTERACION-IDENTIFICADA

:SIN-CAMBIOS
exit

:ALTERACION-IDENTIFICADA
bmail -s MAIL-SERVER -t destinatario@dominio.com -f remitente@dominio.com -h -a "ALERTA: ALTERACION A CONTENIDO DE SITIO WEB" -m XMATCH.TXT -c
GOTO :SALIR

:SALIR
exit

Cabe mencionar que se debe adaptar la parte del MAIL-SERVER por la dirección del servidor de correo electronico que nos permitirá el relay, así como las direcciones correspondientes al remitente y al destinatario.

Si bien es cierto que existen herramientas de pago mucho más completas que permiten esto y aun más, tambien es notable comentar que con las pequeñas lineas de código arriba mostradas se logra el objetivo propuesto y sin costo alguno.

Esperando que esto pueda ser de utilidad en algún momento.

*Wikipedia

miércoles, 2 de noviembre de 2011

Enticement VS Entrapment.

En terminos de seguridad informática habia tenido contacto con estos dos conceptos los cuales tiene vinculos con los Honeypots y son tambien usados en el ambito legal. Para que no se me olviden los describo a continuación:
Enticement: Es el proceso de atraer a alguien a nuestra trampa o nuestro entorno. Esto puede ser por medio de avisos de obsequio de premios o software, incluso retando a los demas anunciando que nadie puede vulnerar nuestros equipos, es importante notar que esta incitación se hace a alguien que previamente ya ha comentido un ataque (o crimen). Es simplemente de incitar a que haga algo que nosotros deseamos que hagan y ya habia hecho previamente. (WTF!).
Entrapment: Es el proceso de animar o inducir a alguien a cometer un crimen que la persona podía no tener intención de cometer. Entrapment puede ser utilizado como un argumento legal en defensa de una persecución criminal.
En fin, todo lo anterior así lo entendi =)