13. Bitácoras

Una de las labores típicas de un administrador de un sistema OpenBSD es revisar bitácoras del sistema en búsqueda de fallas de seguridad. En la mayoría de las veces se trata de ataques a través de internet, ataques que buscan entre otras cosas: acceder a nuestras máquinas para sacar información y modificarla, o usar nuestra máquina para que realice trabajos que el atacante quiere hacer, generalmente maliciosos.

OpenBSD deja un registro muy completo en archivos de /var/log conocidas como bitácoras. Algunas son:

Como el sistema hace rotación de bitácoras periódicamente, en el mismo directorio también se encuentra archivadas algunas bitácoras anteriores, comprimidas (terminan con nombres como .0.gz).

Estos archivos pueden analizarse con algunas herramientas básicas como:

less

Examinar una archivo. En less la tecla G (mayúscula) lo lleva al final del archivo.

grep

Muestra cadenas en un archivo

find

Busca una cadena en un archivo o directorio

wc

Cuenta palabras/líneas/caracteres en una archivo

dig

Muestra información de un dominio

geoiplookup

Muestra localización de una IP. No es muy precisa

gzip

Descomprime archivos

A continuación un ejemplo de auditoria de la bitácora auth:

  1. Como usuario root (Sección 12, “Labores básicas de administración”) hacer una copia de las bitácoras de /var/log en un directorio personal y descomprimir bitácoras comprimidas.

    cd
    mkdir audita          # Crea un directorio para copiar
    cd audita             # Pasa al directorio creado
    mkdir 30sep2006       # Crear un directorio con la fecha
    cd 30sep2006	      # Pasa al directorio creado
    cp -rf /var/log/* .   # Copia todas las bitácoras (debe ser root)
    gzip -d *.gz          # Descomprime bitácoras comprimidas
    			

  2. Revisar la bitácora a fin de determinar puntos críticos:

    less authlog
    			

    buscando líneas como

    invalid user test from 211.157.113.89
    			

    que revelan intento desde una IP por ingresar como usuario test (que no existe en el sistema).

  3. Para ver las líneas en las que aparece una cadena en especial, una IP por ejemplo puede usarse:

    grep "211.157.113.89" authlog
    				

    De forma que podemos ver datos importantes relacionados con la IP como fecha y hora. En el caso de auth la IP corresponde a direcciones desde donde se hacen intentos de ingreso).

  4. Para mostrar cuántas veces está esa IP en ese archivo:

    grep "211.157.113.89" authlog | wc -l
    			

  5. Para determinar en qué archivos de la bitácora hay información de esta IP

    find . -exec grep -l "211.157.113.89" {} ';'
    			

  6. Para determinar ubicación geográfica de una IP y datos sobre el dominio asociado:

    geoiplookup  211.157.113.89
    dig -x 211.157.113.89
    			

    El primero indica China, el segundo mail.chinacomm.com.cn. Con el segundo ya podemos buscar información sobre el registro DNS de chinacomm.com.cn:

    whois chinacomm.com.cn
    			

    donde encontromos una dirección de correo: wjy@chncomm.com

  7. Si se ubica el dominio de la IP de donde proviene un ataque, así como una dirección de correo, se recomienda enviar un mensaje en inglés a tal dirección y/o por ejemplo a las cuentas webmaster y root informando sobre el incidente con un tema como:

    Attempt to login at practica.pasosdeJesus.org from your IP on 16.Aug.2006 at 7:10:41
    			

13.1. Lecturas recomendadas

  • Todas las herramientas mencionadas less, find, grep, wc tienen sus respectivos manuales, los cuales se pueden consultar con man, por ejemplo

    man grep