Auditoría sobre usuarios en AS/400
Conozca la manera de registrar y auditar la actividad que realiza un determinado usuario en el AS400
Las funciones de auditoría en OS/400 incluyen la posibilidad de registrar las operaciones que realiza un determinado usuario. A través de esta herramienta es posible seleccionar un usuario y especificar que se anoten ciertas tareas que desarrolla en el sistema. Las opciones incluyen comandos que ejecuta, creaciones y eliminaciones de objetos, entre muchas otras posibilidades. La anotación producida incluye no sólo el tipo de operación realizada y un detalle de la misma, sino también qué usuario la efectuó, la fecha, la hora y el trabajo involucrado. Todas estas funciones de auditoría se materializan activando y parametrizando adecuadamente el Journal de Seguridad.
Auditoría en AS/400
OS/400 realiza una amplia gama de anotaciones o registros de las distintas actividades que se llevan a cabo en el sistema. Desde la versión 2.3, OS/400 incluyó entre sus capacidades de registración al Audit Journal o Journal de auditoría. Las opciones de auditoría ofrecidas por el sistema operativo, permiten efectuar interesantes combinaciones trabajando en tres niveles diferentes (no excluyentes) que varían en la amplitud de la jornalización a arrancar:
- Auditoría del sistema registrando todo lo que ocurre para todos los usuarios.
- Auditoría sobre las acciones que se realizan sobre objetos específicos (este caso fue cubierto en el Tip en detalle nro 16 -Auditoría sobre objetos en AS/400-) .
- Auditoría sobre las tareas realizadas por un determinado usuario.
Este último es el que desarrollaremos en este “tip”.
NOTA: para un mayor entendimiento sobre auditoría en AS/400, consultar la primera parte del tip Auditoría de objetos en AS/400".
Activación de la auditoría en AS/400
Independientemente de cual de los tres casos anteriores se seleccione, deben tenerse en cuenta dos consideraciones:
- Todos los eventos relacionados con la seguridad se anotan a través de una pareja de objetos: el diario (objeto de tipo *JRN) y el receptor de diario conectado (objeto de tipo *JRNRCV). Por lo tanto es necesario crearlos.
- La jornalización es de uso opcional, no viene activa por default. Es necesario cumplir ciertos pasos sencillos para que la activación sea exitosa.
Los pasos a llevar a cabo son los siguientes:
- Crear un receptor de diario (objeto tipo *JRNRCV) en una biblioteca determinada (comando CRTJRNRCV). Este objeto es el que contendrá todas las anotaciones relacionadas con la seguridad.
- Crear un diario (objeto tipo *JRN) con nombre QAUDJRN en la biblioteca QSYS (comando CRTJRN) y asociarlo al receptor de diario creado en el paso anterior.
- Este paso es el que define, según lo almacenado en los valores del sistema, cuál es el tipo de auditoría a realizar. Para activar la auditoría de usuarios, QAUDCTL debe establecerse en *AUDLVL y seleccionar con CHGUSRAUD cuáles son los usuarios a auditar. No es necesario modificar el valor del sistema QAUDLVL para activar exclusivamente la auditoría de usuarios.
Auditoría sobre usuarios: Cómo seleccionar los usuarios a auditar
El mandato CHGUSRAUD permite indicarle a OS/400 cuáles usuarios, de todos los existentes en el sistema,
se desea auditar. La siguiente pantalla muestra el prompt del comando:
El parámetro Perfil de usuario permite elegir el o los usuarios a auditar. Para una explicación detallada del parámetro Valor de auditoría de objeto (palabra clave OBJAUD) y su uso referirse al Tip "Auditoría sobre objetos en AS/400". El tercer parámetro, Auditoría de acción de usuario (palabra clave AUDLVL), especifica qué tipo de operaciones efectuadas por el usuario deben quedar registradas en el journal de seguridad. Existen 13 opciones disponibles y combinables entre si. Algunas de ellas son:
*CMD: se anotan mandatos CL ejecutados, desde línea de comandos o dentro de un programa.
*CREATE: creaciones de objetos.
*DELETE: supresiones de objetos.
*OBJMGT: movimientos y cambios de nombre en los objetos.
*PGMADP: acceso a objetos a través de autoridad adoptada.
*SECURITY: cambios de seguridad efectuados.
*JOBDTA: operaciones de retener, liberar, cancelar, finalizar realizadas sobre los trabajos presentes en el sistema.
*SPLFDTA: operaciones sobre archivos de spool.
Las restantes opciones disponibles son *OFCSRV, *OPTICAL, *SAVRST, *SERVICE, *SYSMGT.
Una vez establecidas las opciones de auditoría para un determinado usuario, para visualizar las opciones vigentes debe utilizarse el comando DSPUSRPRF. El parámetro Valor de Auditoría de acciones (uno de los últimos) muestra las posibilidades incorporadas con CHGUSRAUD.
Es importante destacar que si el comando CHGUSRAUD se realiza sobre un usuario activo, el cambio es aceptado pero no entra en vigencia hasta el próximo signon.
Visualización y análisis de las entradas de auditoría generadas
Para visualizar las entradas de auditoría generadas una de las opciones disponibles es el comando DSPJRN QAUDJRN. La siguiente pantalla aparece:
En la pantalla anterior se pueden observar entradas de tipo CD y AP. La entrada con número de secuencia 145 y de tipo CD (Serie de mandato) documenta el comando ejecutado por el usuario auditado. Si se ingresa con opción 5 (Visualizar toda la entrada) aparece la siguiente pantalla:
En el detalle de la entrada, la “C” en posición 1 indica que se ejecutó un comando CL, luego siguen los datos que lo identifican: nombre, biblioteca y tipo. En la posición 30, la letra “N” indica que no se ejecutó desde un programa CL y luego el comando y los parámetros con los que se ejecutó ( si los hubiera). Esta entrada de tipo CD se originó debido a que una de las acciones de auditoría seleccionadas para el usuario fue *CMD.
La entrada con número de secuencia 145 y de tipo AP (Adopción de programa) documenta la adopción de autorizaciones obtenida desde un programa. Si se ingresa con opción 5 (Visualizar toda la entrada) aparece la siguiente pantalla:
En el detalle de la entrada, la “E” en posición 1 indica que finalizó la ejecución de un programa que adopta las autorizaciones de su propietario, luego siguen los datos que identifican al ejecutable: nombre, biblioteca y tipo. En la posición 30, figura el nombre del perfil de usuario del cual se adoptaron sus autorizaciones. Esta entrada de tipo AP se originó debido a que una de las acciones de auditoría seleccionadas para el usuario fue *PGMADP.
Desde cualquiera de las pantallas anteriores, presionando F10=Visualizar sólo detalles de entrada se puede observar el nombre del usuario que emitió el comando, desde que trabajo, la fecha y la hora, entre otros datos.
Auditoría del sistema, de objetos y de usuarios: ¿ Cómo se relacionan ?
Como se expresó anteriormente en la sección “Introducción: Auditoría en AS/400”, existen tres niveles de auditoría en AS/400 que no son excluyentes, esto implica que simultáneamente puedo auditar el sistema, observar la actividad de determinados usuarios y vigilar las operaciones que se realizan sobre objetos críticos en la instalación. La siguiente tabla muestra que se debe hacer para habilitar cada uno de los niveles de auditoría disponibles:
Observando la tabla anterior se pueden obtener algunas conclusiones importantes:
- La opción *CMD sólo está presente a nivel de auditoría de usuario.
- Las opciones *AUTFAIL, *NETCMN, *PGMFAIL y *PRTDTA están disponibles exclusivamente para auditoría a nivel del sistema.
- Existen 12 opciones comunes a la auditoría de usuarios y del sistema, entre ellas *CREATE, *DELETE, *SECURITY, *PGMADP, *SAVRST.
Trabajando con los tres niveles de auditoría disponibles se pueden realizar interesantes combinaciones que permitan efectuar ciertos controles generales sobre el sistema, y a la vez profundizar la “vigilancia” sobre las acciones que desarrollan ciertos usuarios.
Si el valor del sistema QAUDCTL contiene *AUDLVL, el valor del sistema QAUDLVL contiene *AUTFAIL, *CREATE y *SECURITY y las acciones de auditoría del usuario JUAN son *CMD y *DELETE los registros encontrados en el journal de seguridad serán los siguientes:
- Se anotarán para todos los usuarios del sistema: errores de signon, los intentos de acceso a recursos no autorizados, creaciones de objetos y las acciones relacionadas con la seguridad que ocurran.
- Se registrará para el usuario JUAN: comandos ejecutados desde línea de comandos o desde un programa CL, nombres de los objetos suprimidos y todo lo especificado en el item anterior.
Para tener en cuenta...
- Cuando se selecciona la opción de auditoría *CMD, pueden llegar a anotarse comandos que se ejecutan no de manera directa sino indirectamente al hacer uso de ciertos mandatos del sistema.
- Utilizar con cuidado el mandato CHGUSRAUD para un usuario que ya posee opciones de auditoría. Cuando se lo “promptea” en el parámetro Auditoría de acción de usuario no aparecen los valores actuales sino *SAME, por lo tanto, si se escriben solamente las nuevas opciones, se “pisan” las anteriores.
- El mandato CHGUSRPRF no permite establecer opciones de auditoría para un usuario. Sólo se puede realizar con el comando CHGUSRAUD.
- Para visualizar las opciones de auditoría de un perfil de usuario se puede generar un comando que acceda directamente al parámetro Valores de auditoría de acciones.
- Para tener una vista rápida y cómoda de todos los usuarios que tienen establecidas determinadas opciones de auditoría es conveniente volcar los datos de todos los perfiles en un archivo físico de datos (DSPUSRPRF USRPRF(*ALL) TYPE(*BASIC) OUTPUT(*OUTFILE) OUTFILE(bibl/arch)) y luego consultarlo con QUERY/400.
- Para cambiar valores del sistema utilizar WRKSYSVAL y opción 2 en lugar de CHGSYSVAL.
- Para una correcta interpretación de las entradas, consultar el manual OS/400 Security Reference, Appendix F – Layout of audit Journal Entries.
- No deje de tener en cuenta las recomendaciones listadas en esta sección en el Tip Auditoría sobre objetos en AS/400.