0% encontró este documento útil (0 votos)
23 vistas7 páginas

Auditoría de Seguridad en AS/400

El documento proporciona una guía para realizar auditorías de seguridad en sistemas AS/400, describiendo su arquitectura, objetos y niveles de seguridad. Se detalla la recolección de información interna, políticas de contraseñas y la gestión de parches, así como comandos específicos para evaluar la configuración del sistema. La metodología presentada busca facilitar la identificación de vulnerabilidades y asegurar el correcto funcionamiento del sistema AS/400.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas7 páginas

Auditoría de Seguridad en AS/400

El documento proporciona una guía para realizar auditorías de seguridad en sistemas AS/400, describiendo su arquitectura, objetos y niveles de seguridad. Se detalla la recolección de información interna, políticas de contraseñas y la gestión de parches, así como comandos específicos para evaluar la configuración del sistema. La metodología presentada busca facilitar la identificación de vulnerabilidades y asegurar el correcto funcionamiento del sistema AS/400.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Auditando AS/400

VaxMAN
18

Visto 15874 veces | Publicado el 16/12/2008 | as400

Numerosas veces, durante la realización de una auditoría interna de seguridad, me he tropezado


con algún sistema AS/400 y siempre andaba algo perdido sobre qué mirar y qué revisar. Es cierto
que esto pasa cada vez menos pero como a alguien aún le puede suceder, desde Hacktimes
hemos recopilado toda la información de que disponíamos sobre el sistema y la hemos resumido a
modo de metodología para saber de qué forma proceder la próxima vez.

INTRODUCCIÓN
AS/400 significa "Application System/400" y es un sistema integrado de hardware, software,
seguridad, base de datos y comunicaciones que pertenece a la rama de equipos denominados
"middlerange", debido a que están entre los sistemas "mainframes" y los servidores comunes tipo
Wintel.

El sistema operativo de un AS/400 es propietario de IBM y se denomina OS/400(R) que está basado
en objetos, casi todo en un servidor AS/400 son objetos. Los objetos incluyen ficheros de datos,
perfiles de usuario, colas de trabajo, colas de mensaje, colas de impresión, programas compilados,
documentos del procesamiento de textos, menús, etc. Actualmente, el equipo ha cambiado de
nombre para pasar a llamarse i5 y el sistema operativo es el i5/OS(R), aprovechando la tecnología
de procesadores POWER5 de IBM (Power Optimization With Enhanced RISC).

Dentro de sus distinciones principales, está la capacidad de separar hardware de software,


mediante una interfaz de máquina MI. La MI es una API (Application Programming Interface -
Interfaz de Programación de Aplicaciones) que permite que el sistema operativo y los programas
de aplicaciones se aprovechen de los avances en hardware sin tener que recompilarlo, alcanzando
así independencia del software. Las funciones de manejo de memoria, proceso, programa y
administración de I/O las realiza el código interno licenciado (LIC). EL LIC es el software del sistema
operativo que se ejecuta por debajo de la MI y que protege programas de uso y el sistema
operativo contra cambios de hardware (independencia del software como se ha comentado
anteriormente).

Existen equipos que permiten correr otros sistemas en particiones secundarias, como Linux, Unix
o Windows, teniendo en cuenta que la partición principal siempre será la i5/OS.
En el i5 todo lo que puede almacenarse o recuperarse es un "objeto". Existen más de 50 tipos de
objetos, como bibliotecas, archivos, programas ejecutables, colas de trabajo, colas de salida,
perfiles de usuario. Los más importantes son:

 LIB: Bibliotecas
Son objetos contenedores de otros objetos de cualquier tipo MENOS otra biblioteca, dado que
utiliza una jerarquía de "single-level". Debido a ésta característica, dos usuarios no pueden poseer
bibliotecas con el mismo nombre. Sólo la biblioteca QSYS provista por el sistema, contiene al resto
de las bibliotecas. Cada objeto tiene un nombre, compuesto por el nombre de la biblioteca y el
nombre del objeto mismo. A esto se lo llama "Qualified name", por ejemplo, se tiene el objeto
PRUEBA en la biblioteca MILIB, si se quisiera llamar a ese objeto, se debería llamarlo por su
nombre cualificado: "MILIB/PRUEBA". Los objetos cuya denominación empieza con "Q" son los
propios de IBM y por ello es recomendable no crear objetos nuevos con "Q" como inicial porque,
entre otras cosas, puede tener implicaciones desde el punto de vista de la seguridad.
 FILE: Archivos
Objeto que contiene datos, pueden ser de una base de datos (archivos físicos y archivos lógicos),
datos de un dispositivo o registros relacionados. Los archivos físicos corresponden a datos reales,
organizados en un sistema fijo de campos. Cada archivo físico tiene una parte a la cual se le asocia
cualidades como el nombre del archivo, el dueño, el tamaño, el número de registros. La segunda
parte de un archivo físico contiene los datos. Existen distintos tipos de archivos físicos:
- de datos (atributo PF-DTA).
- de fuente (atributo PF-SRC).
 PGM: programas ejecutables
Son objetos del tipo "programas" compilados para que puedan correr en el sistema. El atributo del
programa tendrá el lenguaje en el cual se compiló.
 OUTQ: Colas de salida
 Dueño del objeto.
 Fecha de creación.
 Fecha de último acceso.
 Fecha de último salvado (backup).
 Comando utilizado para el salvado.
 Datos de la cinta de salvado.
 Etiqueta de la cinta.
 Número de secuencia.
 Tamaño.

El concepto de objeto permite establecer mecanismos de protección altamente complejos, sobre


todo a nivel de gestión de autorizaciones sobre cada objeto.

Los objetos tienen atributos que incluyen:

INICIO DE SESIÓN
Al conectar a un sistema AS/400 vía un emulador de Terminal (client access por ejemplo) o vía
consola, se despliega una pantalla de inicio de sesión en donde se deberá teclear el nombre del
usuario y una contraseña propia del usuario:

Al teclear el nombre de usuario y la contraseña (la cual no es visible) y pulsar la tecla de Intro,
aparece el menú principal del sistema AS/400, o el que haya sido seleccionado como menú
principal del usuario, la siguiente figura es un ejemplo del menú mencionado:
[Link] la esquina superior izquierda aparece el nombre del menú con el cual se está trabajando.

[Link] la parte central superior de la pantalla se despliega el nombre del trabajo o pantalla que se
está utilizando.

[Link] la siguiente línea hacia el extremo derecho aparece el número de serie del equipo AS/400.

[Link] refiere a los puntos u opciones de menú disponibles en la pantalla que se visualiza

[Link] dos líneas de mandato, en donde se puede teclear un número de opción de las que se
encuentran disponibles o bien teclear directamente un mandato del sistema.

[Link] la parte inferior de la pantalla aparecen las teclas de función, estas teclas pueden variar de
acuerdo al menú o proceso con el cual se esta trabajando. Las más comunes son:

 F1=Ayuda:
esta tecla aunque no es visible en esta pantalla puede ser pulsada y se utiliza para brindar
información del contenido y uso de la pantalla con la que se está trabajando, algún punto de
opción o campo a teclear.

 F3= Salir:
esta opción es utilizada para salir del menú actual y regresar al menú de inicio o punto de partida,
esta tecla de función siempre realiza el mismo proceso.

 F4=Solicitud:
esta tecla es utilizada para complementar la información cuando se desea o se está trabajando
con mandatos, es decir se teclea el mandato principal y al pulsar la tecla de F4, desplegará una
pantalla con los parámetros disponibles para su uso. Cuando se visualizan los parámetros de algún
mandato, es posible que también aparezca la tecla de función F4, pero en estos casos se utiliza
para consultar las diferentes opciones de parámetros a teclear.

 F9=Recuperar:
pulsar esta tecla de función si desea recuperar los diferentes mandatos tecleados en la línea de
mandatos, estos se irán presentando uno a uno en orden regresivo.

 F12=Regresar:
es utilizada para regresar a la pantalla previa de la que se generó el acceso a la pantalla actual.
 F13=Information Assistant:
si se desea información respecto al contenido y uso de la pantalla que se está visualizando hay
que pulsar esta tecla de función (similar a la tecla F1 ayuda).

 F23=Establecer menú inicial:


esta tecla sirve para establecer el menú inicial que utilizara cada usuario, y tiene funcionalidad aún
y cuando no aparezca al pie de la pantalla (existen excepciones).

RECOLECTA DE INFORMACIÓN
Este apartado completa las distintas fases necesarias para recolectar la información necesaria con
la intención de obtener una imagen completa del estado de seguridad de los servidores.

OBTENCIÓN DE INFORMACIÓN INTERNA


Mediante la ejecución de diversos comandos (con privilegios de administrador) se trata de obtener
la información intrínseca a la propia instalación del sistema operativo instalado en el servidor
AS/400.
Esta fase cubre la obtención de información referida a configuración de red, usuarios, grupos,
servicios activos, procesos, parches aplicados, parches por aplicar, configuración de servicios así
como información específica sobre la instalación del sistema.

Para poder recopilar de manera adecuada toda la información de esta fase es necesario
ejecutar todos los programas/comandos con privilegios de Administrador Local de la
máquina (QSECOFR).
NIVEL DE SEGURIDAD
Antes de hacer nada es preciso determinar cual es el nivel de seguridad existente en el servidor
AS/400. En un sistema AS/400 existen los siguientes niveles de seguridad:

 Nivel 10:
los usuarios no disponen de contraseña ni se controla el acceso a los recursos. Este nivel dejó de
estar soportado desde la versión v4R2 del sistema operativo de IBM.

 Nivel 20:
proporciona únicamente seguridad por contraseña.

 Nivel 30:
proporciona seguridad por contraseña y recursos.

 Nivel 40:
proporciona seguridad por contraseña y recursos; seguridad de integridad. Este es el nivel de
seguridad que por defecto implementan los sistemas actuales.

 Nivel 50:
proporciona seguridad por contraseña y recursos; protección de integridad mejorada. El nivel de
seguridad 50 se aplica en sistemas que necesitan un nivel de seguridad certificado C2.

Como mínimo, desde el punto de vista de la seguridad, es necesario disponer de un nivel 30 o


superior en el parámetro QSECURITY que es quien establece el nivel de seguridad existente en el
servidor AS/400, es decir, se necesita implementar una política de seguridad en el que todos los
accesos están controlados por un nombre de usuario único, su contraseña correspondiente y una
serie de permisos y privilegios que permiten o no a los usuarios acceder a los recursos.
Para comprobar el nivel de seguridad existente se ejecuta el siguiente comando:

DSPSYSVAL
Para modificar el nivel de seguridad existente a nivel 30 en caso de que no esté configurado se
utiliza el siguiente comando:

CHGSYSVAL SYSVAL(QSECURITY) VALUE('30')


LISTADO DE USUARIOS
Listado completo de usuarios del sistema con información detallada sobre cada una de las cuentas
que conforman el sistema. Se ejecuta el siguiente comando:

DSPAUTUSR
Comando utilizado para obtener el listado con el nombre de todos los usuarios presentes en el
sistema. Además, proporciona por pantalla datos acerca del último cambio de contraseña, aquellos
usuarios que no tienen contraseña, el grupo al que pertenecen, etc, tál y como se puede observar
en la siguiente figura:

WRKUSRPRF
(“Work User Profile”: comando que permite trabajar con los perfiles de usuario)

ANZDFTPWD
Para listar aquellos usuarios que tienen una contraseña por defecto.
PRTUSRPRF
Este comando significa “Print User Profile” y con él se obtiene la fecha de creación de cada
usuario, la última vez que iniciaron sesión, etc.
POLÍTICA DE CONTRASEÑAS
Se obtiene la política de contraseñas para verificar la cantidad de veces que se permiten los
intentos de conexión por parte de los usuarios así como para validar si sería posible llevar a cabo
una sesión de crackeo de passwords mediante fuerza bruta contra el servidor. La política de
contraseñas en un servidor AS/400 se obtiene desde el menú SECTOOLS (comando GO
SECTOOLS) mediante la ejecución de los siguientes comandos:
También se puede Imprimir un informe detallado de todos los perfiles de usuario de nuestro
sistema ejecutando el comando:
WRKSYSVAL *SEC
Con este comando se extraen todos los aspectos relacionados con la seguridad del sistema pero a
veces proporciona demasiada información y es preferible ir controlando cada aspecto destacable
para la seguridad del sistema por separado.

WRKSYSVAL QPWDEXPITV
Con este comando se obtiene la frecuencia con la que la contraseña de usuario caduca y es
preciso cambiarla, lo recomendable es establecer un periodo de caducidad de contraseñas de
entre 30 y 90 días.

ANZPRFACT
Con este comando se establece el periodo máximo de inactividad de los usuarios. Es
recomendable establecer un máximo de 45 días de inactividad para desactivar cualquier usuario
estándar inactivo.
QPWDLMTAJC
Con este comando se evita el uso de contraseñas triviales por parte de los usuarios y se obliga a
introducir passwords que no contengan dígitos adyacentes. Se recomienda establecer un valor 1
para este parámetro de la política de contraseñas.

ANZDFTPWD ACTION(*NONE)
Con este comando se obtiene el listado de aquellos usuarios que tienen mismo nombre de usuario
y misma contraseña, el mandato significa “Analyze Default Passwords” y el parámetro
ACTION(*NONE) se aplica para que no se efectúe ninguna acción sobre esos usuarios que se
podrían deshabilitar (*DISABLE) u obligar a que la contraseña caduque y cambiarla en el siguiente
inicio de sesión (*PWDEXP).

QPWDRQDDIF
Con este comando se controla que el usuario no pueda repetir la misma contraseña que la que
tenía antes cuando ésta caduca según los parámetros de caducidad de contraseñas establecidos
en el sistema. El valor recomendado para este parámetro es 8 (nunca cero) que evita que
cualquier usuario pueda utilizar los 4 passwords anteriores.

QPWDLMTREP
Con este comando se controla que el usuario no pueda repetir el mismo carácter en la contraseña
para evitar el uso de contraseñas triviales del tipo “11111” y similares. Se recomienda definir un
valor 2 para este parámetro y así evitar que se puedan repetir caracteres consecutivos.

QPWMINLEN
Con este comando se define la longitud mínima de la contraseña. El valor recomendado es como
mínimo disponer de passwords de 6 o más caracteres. De forma análoga con el mandato
QPWDMAXLEN se define la longitud máxima de una contraseña que preferiblemente ha de ser de
un valor 10.

QMAXSIGN y QMAXSGNACN
Son dos los valores del sistema que determinan el número de veces que una persona puede
intentar iniciar la sesión en el sistema y la acción que el sistema lleva a cabo una vez alcanzado el
límite.
El valor del sistema de máximo de intentos de inicio de sesión permitidos (QMAXSIGN) limita el
número de intentos de inicio de sesión incorrectos consecutivos que admite el sistema antes de
llevar a cabo alguna acción. Un intento de inicio de sesión incorrecto se produce cuando una
persona intenta utilizar un perfil de usuario concreto con una contraseña no válida o con la
autorización inadecuada para una estación de trabajo. El valor del sistema de acción a tomar ante
intentos de inicio de sesión fallidos (QMAXSGNACN) especifica lo que hace el sistema si alguien
intenta iniciar la sesión demasiadas veces seguidas.
Los valores recomendados son 3 para QMAXSGNACN y entre 3 y 5 para QMXSIGN.

NIVEL DE PARCHES: APLICADOS Y POR APLICAR


En un sistema AS/400 los parches y actualizaciones se denominan PTFs o “Program Temporary
Fix” y el comando para comprobar que actualizaciones están instaladas es el siguiente:

DSPPFT
De “Display PTF”. Con este mandato se puede comprobar qué PTFs están aplicadas y, lo más
importante, saber si están activas o no ya que no es lo mismo que estén instaladas y que estén
activas, para que una actualización sea correcta el PTF debe de estar en estado activo además de
disponible en OS/400.

CONFIGURACIÓN DE RED
Se da por supuesto que el servidor AS/400 a revisar dispone de protocolo TCP/IP y no SNA ni
conexiones Token Ring.
Con el comando DSPNETA de “Display Network Atributtes” se obtiene los diferentes atributos de
los parámetros de red y con el comando GO CFGTCP de “Config TCP” se obtiene toda la
información relacionada con la configuración de la red y el protocolo TCP del servidor AS/400.

NETSTAT OPTION(*CNN)
Con el anterior comando se pueden obtener las conexiones activas que hay contra el servidor
AS/400 revisado.

GO TCPADM
Con este mandato se accede al menú de administración de la configuración TCP donde se puede
visualizar y cambiar la configuración existente.

También podría gustarte