Siguiente: JASS
Subir: Extensiones de la seguridad
Anterior: Extensiones de la seguridad
Índice General
ASET (Automated Security Enhancement Tool) es un conjunto de
herramientas integradas dentro de Solaris que permiten monitorizar ciertos
valores de parámetros de los ficheros del sistema, desde atributos ubicados en
los inodos (permisos, propietario...) hasta el contenido de cada archivo.
Estas herramientas se encuentran en el directorio /usr/aset/, y su
utilidad es evidente: permite detectar cualquier cambio en uno de nuestros
ficheros, cambio que si no ha sido realizado por un usuario debidamente
autorizado puede esconder desde un troyano hasta una puerta trasera de entrada
al sistema.
De todas las utilidades de que dispone ASET, la más importante es
sin duda /usr/aset/aset, un shellscript encargado de invocar al
resto de herramientas. Desde línea de comandos, este programa puede recibir
como parámetro el nivel de seguridad deseado en la comprobación: `low', que se limita a informar de las vulnerabilidades potenciales, `mid', que modifica ciertos parámetros que considera incorrectos, y `high', el más restrictivo, que modifica más aún dichos parámetros, y
que es recomendable en sistemas en los que la seguridad de Solaris sea un
elemento por encima de cualquier otro, como el funcionamiento; incluso en la
página man de aset se advierte que algunas aplicaciones pueden
dejar de funcionar si utilizamos este nivel de seguridad.
Podemos invocar a /usr/aset/aset indicándole mediante el parámetro
`-l' el nivel de seguridad deseado:
anita:/# /usr/aset/aset -l low
======= ASET Execution Log =======
ASET running at security level low
Machine = anita; Current time = 0628_03:11
aset: Using /usr/aset as working directory
Executing task list ...
firewall
env
sysconf
usrgrp
tune
cklist
eeprom
All tasks executed. Some background tasks may still be running.
Run /usr/aset/util/taskstat to check their status:
/usr/aset/util/taskstat [aset_dir]
where aset_dir is ASET's operating directory,currently=/usr/aset.
When the tasks complete, the reports can be found in:
/usr/aset/reports/latest/*.rpt
You can view them by:
more /usr/aset/reports/latest/*.rpt
anita:/#
La orden anterior habrá generado un directorio de informes cuyo nombre hace
referencia a la fecha y hora de ejecución, y que al ser el último se enlaza
también con el nombre latest; todos los reports generados por
aset tienen extensión `.rpt' (son simples ficheros ASCII),
y se guardan en /usr/aset/reports/. Cada uno de ellos contiene el informe
de las potenciales
vulnerabilidades que aset ha encontrado durante su ejecución, así
como de los cambios que haya realizado en función del nivel de seguridad
especificado. Como aset indica, el hecho de que la ejecución del comando
haya finalizado no implica que los informes se hayan realizado completamente;
podemos ejecutar /usr/aset/util/taskstat para ver que tareas no han
finalizado aún.
Además de los informes de los que acabamos de hablar, la primera
ejecución de aset genera una serie de archivos en el directorio /usr/aset/master/: en ellos se guarda una imagen del estado que la herramienta
ha encontrado en el sistema, de forma que una ejecución posterior del
programa - dentro del mismo nivel de seguridad - puede comprobar qué
parámetros han cambiado en cada uno de los ficheros analizados; evidentemente,
es vital para nuestra seguridad evitar que un atacante pueda modificar esta
imagen, ya que de lo contrario podría `engañar' sin problemas a `aset'. Por ejemplo,
al ejecutar `/usr/aset/aset' con un nivel de seguridad `low' se ha
guardado en esa imagen cierta información sobre un fichero importante
como /etc/inittab (en /usr/aset/asetenv se define la lista de
directorios de los que se guarda una imagen en cada nivel de seguridad); parte
de esta información se encuentra en /usr/aset/masters/cklist.low:
anita:/usr/aset/masters# grep inittab cklist.low
-rw-r--r-- 1 root sys 1087 Jan 5 23:38 2000 /etc/inittab 26732 3
anita:/usr/aset/masters#
Podemos ver que los parámetros registrados de este archivo: propietario y
grupo, permisos, número de enlaces, tamaño, fecha y hora de la última
modificación y un checksum. Si ahora un atacante decidiera modificar
ese fichero (por ejemplo para situar un troyano en él) casi con total
seguridad modificaría alguno de esos parámetros, por lo que la siguiente
ejecución de la herramienta reportaría este hecho:
anita:/# grep inittab /usr/aset/reports/latest/cklist.rpt
< -rw-r--r-- 1 root sys 1087 Jan 5 23:38 2000 /etc/inittab 26732 3
> -rw-r--r-- 1 root sys 1237 Jun 28 19:58 2001 /etc/inittab 37235 3
anita:/#
Quizás una práctica recomendable para incrementar nuestra seguridad pueda
ser planificar la ejecución de `aset' para que se ejecute a
intervalos periódicos desde `crond' y para que nos avise (por ejemplo,
mediante correo electrónico) de cualquier anomalía detectada en la
máquina. Si lo hacemos así, hemos de tener siempre presente que el nivel
`high' prima la seguridad por encima de cualquier otra cosa, por lo que
tras una ejecución planificada de `aset' es posible que alguna
aplicación puntual deje de funcionar.
Siguiente: JASS
Subir: Extensiones de la seguridad
Anterior: Extensiones de la seguridad
Índice General
2003-08-08