Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Administración de Oracle Solaris 11.1: servicios de seguridad Oracle Solaris 11.1 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Verificación de la integridad de archivos mediante el uso de BART (tareas)
Consideraciones de seguridad de BART
Cómo crear un manifiesto de control
Cómo personalizar un manifiesto
Cómo comparar manifiestos para el mismo sistema a lo largo del tiempo
Cómo comparar manifiestos de diferentes sistemas
Cómo personalizar un informe de BART especificando atributos de archivos
Cómo personalizar un informe de BART mediante un archivo de reglas
Manifiestos, archivos de reglas e informes de BART (referencia)
Formato de archivo de manifiesto de BART
Formato de archivo de reglas de BART
Atributos de archivo de reglas
7. Control de acceso a archivos (tareas)
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Uso de módulos de autenticación conectables
17. Uso de autenticación simple y capa de seguridad
18. Autenticación de servicios de red (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
27. Planificación de la auditoría
El comando bart se usa para crear y comparar manifiestos. Cualquier usuario puede ejecutar este comando. Sin embargo, los usuarios sólo pueden catalogar y controlar archivos que tiene permiso de acceso. De esta forma, los usuarios y la mayoría de los roles pueden catalogar útilmente los archivos en su directorio raíz, pero la cuenta root puede catalogar todos los archivos, incluidos los archivos del sistema.
Cualquiera puede leer los informes y manifiestos de BART. Si la salida de BART puede contener información confidencial, tome las medidas adecuadas para protegerla. Por ejemplo, se pueden utilizar las opciones que generan archivos de salida con permisos restrictivos o colocar los archivos de salida en un directorio protegido.
|
En este procedimiento, se explica cómo crear un manifiesto de línea de base para su sistema. Utilice este tipo de manifiesto al instalar muchos sistemas desde una imagen central. O bien, utilice este tipo de manifiesto para realizar comparaciones cuando desee comprobar que las instalaciones sean idénticas. Para obtener más información sobre los manifiestos de línea de base, consulte Manifiesto de BART. Para comprender las convenciones de formato, consulte el Ejemplo 6-1.
Nota - No intente catalogar sistemas de archivos conectados en red. Al usar BART para supervisar los sistemas de archivos conectados a la red, se consume una gran cantidad de recursos para generar manifiestos de poco valor.
Antes de empezar
Para crear un manifiesto de control de su sistema, debe asumir el rol root .
# bart create options > control-manifest
Especifica el directorio raíz para el manifiesto. Todas las rutas especificadas por las reglas se interpretan en relación con este directorio. Todas las rutas informadas en el manifiesto están relacionadas con este directorio.
Acepta una lista de archivos individuales para catalogarlos, ya sea en la línea de comandos o leídos de la entrada estándar.
Nombre del archivo de reglas para este manifiesto. Un argumento - lee el archivo de reglas desde la entrada estándar.
Desactiva firmas de contenido para todos los archivos regulares en la lista de archivos. Esta opción se puede utilizar mejorar el rendimiento. De manera alternativa, puede utilizar esta opción si se espera que cambie el contenido de la lista de archivos, como en el caso de los archivos de registro del sistema.
Para obtener una explicación del formato, consulte el Ejemplo 6-1.
Una forma de proteger los manifiestos del sistema es colocarlos en un directorio al que sólo puede tener acceso la cuenta root.
# mkdir /var/adm/log/bartlogs # chmod 700 /var/adm/log/bartlogs # mv control-manifest /var/adm/log/bartlogs
Elija un nombre significativo para el manifiesto. Por ejemplo, utilice el nombre del sistema y la fecha en que se creó el manifiesto, como en mach1-120312.
Ejemplo 6-1 Explicación del formato de manifiesto BART
En este ejemplo, una explicación del formato del manifiesto sigue la salida de ejemplo.
# bart create ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (22:22:27) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode / D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 0 0 . . . /zone D 512 40755 user::rwx group::r-x,mask:r-x,other:r-x 3f81e892 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 0 0 . . .
Cada manifiesto costa de un encabezado y entradas de archivos. Cada entrada de archivo consiste en una sola línea, según el tipo de archivo. Por ejemplo, para cada entrada de archivo en la salida anterior, el tipo F especifica un archivo y el tipo D especifica un directorio. También se muestra información sobre el tamaño, el contenido, el ID de usuario, el ID de grupo y los permisos. Las entradas de archivos en la salida se ordenan por versiones codificadas de los nombres de archivos, a fin de manejar correctamente los caracteres especiales. Todas las entradas se ordenan de manera ascendente por nombre de archivo. En todos los nombres de archivos no estándar, como los que contienen caracteres de tabulación o de línea nueva incrustados, escriba los caracteres no estándar entre comillas antes de ordenar las entradas.
Las líneas que empiezan por ! proporcionan metadatos sobre el manifiesto. La línea de versión del manifiesto indica la versión de especificación del manifiesto. La línea hash indica el mecanismo hash que se utilizó. Para obtener más información sobre el hash SHA256 usado como una suma de comprobación, consulte la página del comando man sha2(3EXT).
La línea de fecha muestra la fecha en la que se creó el manifiesto, en formato de fecha. Consulte la página del comando man date(1). La herramienta de comparación de manifiestos ignora algunas líneas. Las líneas ignoradas incluyen metadatos, líneas en blanco, líneas que contienen sólo espacios en blanco y comentarios que empiezan por #.
Puede personalizar un manifiesto de una de las siguientes formas:
Especificando un subárbol
Especificar un subárbol individual es una forma eficaz de controlar cambios en archivos importantes seleccionados, como todos los archivos en el directorio /etc.
Especificando un nombre de archivo
Especificar un nombre de archivo es una forma eficaz de controlar especialmente archivos confidenciales, como los archivos que configuran y ejecutan una aplicación de base de datos.
Mediante un archivo de reglas
Al usar un archivo de reglas para crear y comparar manifiestos, obtiene flexibilidad para especificar varios atributos para más de un archivo o subárbol. Desde la línea de comandos, puede especificar una definición de atributo global que se aplica a todos los archivos de un manifiesto o informe. Desde un archivo de reglas, puede especificar los atributos que no se aplican de forma global.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
Especificando un subárbol:
# bart create -R subtree
Especificando un nombre de archivo o nombres de archivos:
# bart create -I filename...
Por ejemplo:
# bart create -I /etc/system /etc/passwd /etc/shadow
Mediante un archivo de reglas:
# bart create -r rules-file
Para ver un ejemplo, consulte el Paso 3 in Cómo crear un manifiesto de control.
Consejo - Si ha utilizado un archivo de reglas, guarde el archivo de reglas con el manifiesto. Para obtener una comparación útil, debe ejecutar la comparación con el archivo de reglas.
Mediante la comparación de los manifiestos durante el transcurso del tiempo, puede ubicar archivos dañados o inusuales, detectar infracciones de seguridad y solucionar problemas de rendimiento en un sistema.
Antes de empezar
Para crear y comparar manifiestos que incluyen archivos de sistema, debe asumir el rol root.
# bart create -R /etc > control-manifest
Para ver un ejemplo, consulte el Paso 3 in Cómo crear un manifiesto de control.
# bart create -R /etc > test-manifest
# mv test-manifest /var/adm/log/bartlogs
Utilice las mismas opciones de la línea de comandos y el mismo archivo de reglas para comparar los manifiestos que usó para crearlos.
# bart compare options control-manifest test-manifest > bart-report
Ejemplo 6-2 Seguimiento de cambios de archivo para el mismo sistema a lo largo del tiempo
En este ejemplo, se muestra cómo realizar un seguimiento de los cambios en el directorio /etc a lo largo del tiempo. Este tipo de comparación le permite ubicar archivos importantes del sistema que se vieron comprometidos.
Cree un manifiesto de control.
# cd /var/adm/logs/manifests # bart create -R /etc > system1.control.090712 ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 /.login F 1429 100644 owner@:read_data/write_data/append_data/read_xattr/write_x attr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchronize :allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow,ev eryone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4bf9d6d7 0 3 ff6251a473a53de68ce8b4036d0f569838cff107caf1dd9fd04701c48f09242e . . .
Más adelante, cree un manifiesto de prueba con las mismas opciones de la línea de comandos.
# bart create -R /etc > system1.test.101012 Version 1.1 ! HASH SHA256 ! Wednesday, October 10, 2012 (10:10:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 . . .
Compare los manifiestos.
# bart compare system1.control.090712 system1.test.101012 /security/audit_class mtime 4f272f59
La salida indica que la hora de modificación del archivo audit_class ha cambiado desde la creación del manifiesto de control. Si el cambio es inesperado, puede seguir investigando.
Mediante la comparación de los manifiestos de distintos sistemas, puede determinar si los sistemas se instalaron de forma idéntica o se actualizaron en sincronización. Por ejemplo, si ha personalizado los sistemas para un determinado objetivo de seguridad, esta comparación busca cualquier discrepancia entre el manifiesto que representa su objetivo de seguridad y los manifiestos de los otros sistemas.
Antes de empezar
Para comparar manifiestos del sistema, debe asumir el rol root.
# bart create options > control-manifest
Para conocer las opciones, consulte la página del comando man bart(1M).
Para ver un ejemplo, consulte el Paso 3 in Cómo crear un manifiesto de control.
# bart create options > test1-manifest
Por ejemplo:
# cp control-manifest /net/ test-server/var/adm/logs/bartlogs
Si el sistema de prueba no es un sistema de montaje NFS, utilice sftp u otro medio fiable para copiar los manifiestos en una ubicación central.
# bart compare control-manifest test1-manifest > test1.report
Ejemplo 6-3 Identificación de un archivo sospechoso en el directorio /usr/bin
En este ejemplo, se compara el contenido del directorio /usr/bin en dos sistemas.
Cree un manifiesto de control.
# bart create -R /usr/bin > control-manifest.090711 ! Version 1.1 ! HASH SHA256 ! Wednesday, September 07, 2011 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 /7z F 509220 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribu tes/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:rea d_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:r ead_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4dadc48a 0 2 3ecd418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 ...
Cree un manifiesto idéntico para cada sistema que desee comparar con el sistema de control.
# bart create -R /usr/bin > system2-manifest.101011 ! Version 1.1 ! HASH SHA256 ! Monday, October 10, 2011 (10:10:22) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 ...
Copie los manifiestos en la misma ubicación.
# cp control-manifest.090711 /net/system2.central/bart/manifests
Compare los manifiestos.
# bart compare control-manifest.090711 system2.test.101011 > system2.report /su: gid control:3 test:1 /ypcat: mtime control:3fd72511 test:3fd9eb23
La salida indica que el ID de grupo del archivo su en el directorio /usr/bin no es el mismo que el del sistema de control. Esta información podría indicar que una versión distinta del software se ha instalado en el sistema de prueba. Como se ha cambiado el GID, el motivo más probable es que alguien haya alterado el archivo.
Este procedimiento resulta útil para filtrar las salidas de manifiestos ya existentes para determinados atributos de archivos.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
Por ejemplo:
# bart compare -i lnmtime,mtime control-manifest.121511 \ test-manifest.010512 > bart.report.010512
Use una coma en la sintaxis de la línea de comandos para separar cada atributo de archivo.
Mediante el uso de un archivo de reglas, puede personalizar un manifiesto BART para determinados archivos y atributos de archivos de interés. Mediante el uso de distintos archivos de reglas en manifiestos BART predeterminados, puede ejecutar diferentes comparaciones para los mismos manifiestos.
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.
# bart create -r myrules1-file > control-manifest
Para ver un ejemplo, consulte el Paso 3 in Cómo crear un manifiesto de control.
# bart create -r myrules1-file > test-manifest
# bart compare -r myrules1-file control-manifest test-manifest > bart.report
Ejemplo 6-4 Uso del archivo de reglas para personalizar manifiestos BART y el informe de comparación
El siguiente archivo de reglas indica que el comando bart create muestre todos los atributos de los archivos en el directorio /usr/bin. Además, el archivo de reglas le indica al comando bart compare que sólo informe sobre los cambios de tamaño y contenido en el mismo directorio.
# Check size and content changes in the /usr/bin directory. # This rules file only checks size and content changes. # See rules file example. IGNORE all CHECK size contents /usr/bin
Cree un manifiesto de control con el archivo de reglas que ha creado.
# bart create -r usrbinrules.txt > usr_bin.control-manifest.121011
Prepare un manifiesto idéntico cada vez que desee supervisar cambios realizados en el directorio /usr/bin.
# bart create -r usrbinrules.txt > usr_bin.test-manifest.121111
Compare los manifiestos utilizando el mismo archivo de reglas.
# bart compare -r usrbinrules.txt usr_bin.control-manifest.121011 \ usr_bin.test-manifest.121111
Examine la salida del comando bart compare.
/usr/bin/gunzip: add /usr/bin/ypcat: delete
Esta salida de procedimiento indica que se suprimió el archivo /usr/bin/ypcat y se agregó el archivo /usr/bin/gunzip.