You are on page 1of 7

Auditando AS/400

Numerosas veces, durante la realizacin de una auditora interna de seguridad, me he tropezado con algn 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 an le puede suceder, desde Hacktimes hemos recopilado toda la informacin de que disponamos sobre el sistema y la hemos resumido a modo de metodologa para saber de qu forma proceder la prxima vez. INTRODUCCIN 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 estn 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 impresin, programas compilados, documentos del procesamiento de textos, mens, etc. Actualmente, el equipo ha cambiado de nombre para pasar a llamarse i5 y el sistema operativo es el i5/OS(R), aprovechando la tecnologa 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 mquina MI. La MI es una API (Application Programming Interface - Interfaz de Programacin 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 administracin de I/O las realiza el cdigo 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 particin principal siempre ser la i5/OS. En el i5 todo lo que puede almacenarse o recuperarse es un "objeto". Existen ms de 50 tipos de objetos, como bibliotecas, archivos, programas ejecutables, colas de trabajo, colas de salida, perfiles de usuario. Los ms importantes son:

LIB: Bibliotecas Son objetos contenedores de otros objetos de cualquier tipo MENOS otra biblioteca, dado que utiliza una
jerarqua de "single-level". Debido a sta caracterstica, dos usuarios no pueden poseer bibliotecas con el mismo nombre. Slo 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 debera llamarlo por su nombre cualificado: "MILIB/PRUEBA". Los objetos cuya denominacin 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 fsicos y archivos lgicos), datos de un dispositivo o registros relacionados. Los archivos fsicos corresponden a datos reales, organizados en un sistema fijo de campos. Cada archivo fsico tiene una parte a la cual se le asocia cualidades como el nombre del archivo, el dueo, el tamao, el nmero de registros. La segunda parte de un archivo fsico contiene los datos. Existen distintos tipos de archivos fsicos: de - de fuente (atributo PF-SRC). datos (atributo PF-DTA).

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

Dueo del objeto. Fecha de creacin. Fecha de ltimo acceso. Fecha de ltimo salvado (backup). Comando utilizado para el salvado. Datos de la cinta de salvado. Etiqueta de la cinta. Nmero de secuencia. Tamao.

El concepto de objeto permite establecer mecanismos de proteccin altamente complejos, sobre todo a nivel de gestin de autorizaciones sobre cada objeto. Los objetos tienen atributos que incluyen: INICIO DE SESIN Al conectar a un sistema AS/400 va un emulador de Terminal (client access por ejemplo) o va consola, se despliega una pantalla de inicio de sesin en donde se deber teclear el nombre del usuario y una contrasea propia del usuario:

Al teclear el nombre de usuario y la contrasea (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:

1.En la esquina superior izquierda aparece el nombre del men con el cual se est trabajando. 2.En la parte central superior de la pantalla se despliega el nombre del trabajo o pantalla que se est utilizando. 3.En la siguiente lnea hacia el extremo derecho aparece el nmero de serie del equipo AS/400. 4.Se refiere a los puntos u opciones de men disponibles en la pantalla que se visualiza 5.Aparecen dos lneas de mandato, en donde se puede teclear un nmero de opcin de las que se encuentran disponibles o bien teclear directamente un mandato del sistema. 6.En la parte inferior de la pantalla aparecen las teclas de funcin, estas teclas pueden variar de acuerdo al men o proceso con el cual se esta trabajando. Las ms comunes son: F1=Ayuda: esta tecla aunque no es visible en esta pantalla puede ser pulsada y se utiliza para brindar informacin del contenido y uso de la pantalla con la que se est trabajando, algn punto de opcin o campo a teclear.

F3= Salir:

esta opcin es utilizada para salir del men actual y regresar al men de inicio o punto de partida, esta tecla de funcin siempre realiza el mismo proceso.

F4=Solicitud: esta tecla es utilizada para complementar la informacin 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 parmetros disponibles para su uso. Cuando se visualizan los parmetros de algn mandato, es posible que tambin aparezca la tecla de funcin F4, pero en estos casos se utiliza para consultar las diferentes opciones de parmetros a teclear.

F9=Recuperar:

pulsar esta tecla de funcin si desea recuperar los diferentes mandatos tecleados en la lnea de mandatos, estos se irn 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 informacin respecto al contenido y uso de la pantalla que se est visualizando hay que pulsar esta tecla de funcin (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 an y
cuando no aparezca al pie de la pantalla (existen excepciones). RECOLECTA DE INFORMACIN Este apartado completa las distintas fases necesarias para recolectar la informacin necesaria con la intencin de obtener una imagen completa del estado de seguridad de los servidores. OBTENCIN DE INFORMACIN INTERNA Mediante la ejecucin de diversos comandos (con privilegios de administrador) se trata de obtener la informacin intrnseca a la propia instalacin del sistema operativo instalado en el servidor AS/400. Esta fase cubre la obtencin de informacin referida a configuracin de red, usuarios, grupos, servicios activos, procesos, parches aplicados, parches por aplicar, configuracin de servicios as como informacin especfica sobre la instalacin del sistema. Para poder recopilar de manera adecuada toda la informacin de esta fase es necesario ejecutar todos los programas/comandos con privilegios de Administrador Local de la mquina (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 contrasea ni se controla el acceso a los recursos. Este nivel dej de estar soportado desde la versin v4R2 del sistema operativo de IBM.

Nivel 20:

proporciona nicamente seguridad por contrasea.

Nivel 30:

proporciona seguridad por contrasea y recursos.

Nivel 40:

proporciona seguridad por contrasea y recursos; seguridad de integridad. Este es el nivel de seguridad que por defecto implementan los sistemas actuales.

Nivel 50: proporciona seguridad por contrasea y recursos; proteccin de integridad mejorada. El nivel de seguridad
50 se aplica en sistemas que necesitan un nivel de seguridad certificado C2.

Como mnimo, desde el punto de vista de la seguridad, es necesario disponer de un nivel 30 o superior en el parmetro QSECURITY que es quien establece el nivel de seguridad existente en el servidor AS/400, es decir, se necesita implementar una poltica de seguridad en el que todos los accesos estn controlados por un nombre de usuario nico, su contrasea 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 informacin 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. Adems, proporciona por pantalla datos acerca del ltimo cambio de contrasea, aquellos usuarios que no tienen contrasea, el grupo al que pertenecen, etc, tl 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 contrasea por defecto. PRTUSRPRF Este comando significa Print User Profile y con l se obtiene la fecha de creacin de cada usuario, la ltima vez que iniciaron sesin, etc. POLTICA DE CONTRASEAS Se obtiene la poltica de contraseas para verificar la cantidad de veces que se permiten los intentos de conexin por parte de los usuarios as como para validar si sera posible llevar a cabo una sesin de crackeo

de passwords mediante fuerza bruta contra el servidor. La poltica de contraseas en un servidor AS/400 se obtiene desde el men SECTOOLS (comando GO SECTOOLS) mediante la ejecucin de los siguientes comandos: Tambin 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 informacin 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 contrasea de usuario caduca y es preciso cambiarla, lo recomendable es establecer un periodo de caducidad de contraseas de entre 30 y 90 das. ANZPRFACT Con este comando se establece el periodo mximo de inactividad de los usuarios. Es recomendable establecer un mximo de 45 das de inactividad para desactivar cualquier usuario estndar inactivo. QPWDLMTAJC Con este comando se evita el uso de contraseas triviales por parte de los usuarios y se obliga a introducir passwords que no contengan dgitos adyacentes. Se recomienda establecer un valor 1 para este parmetro de la poltica de contraseas. ANZDFTPWD ACTION(*NONE) Con este comando se obtiene el listado de aquellos usuarios que tienen mismo nombre de usuario y misma contrasea, el mandato significa Analyze Default Passwords y el parmetro ACTION(*NONE) se aplica para que no se efecte ninguna accin sobre esos usuarios que se podran deshabilitar (*DISABLE) u obligar a que la contrasea caduque y cambiarla en el siguiente inicio de sesin (*PWDEXP). QPWDRQDDIF Con este comando se controla que el usuario no pueda repetir la misma contrasea que la que tena antes cuando sta caduca segn los parmetros de caducidad de contraseas establecidos en el sistema. El valor recomendado para este parmetro 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 carcter en la contrasea para evitar el uso de contraseas triviales del tipo 11111 y similares. Se recomienda definir un valor 2 para este parmetro y as evitar que se puedan repetir caracteres consecutivos. QPWMINLEN Con este comando se define la longitud mnima de la contrasea. El valor recomendado es como mnimo disponer de passwords de 6 o ms caracteres. De forma anloga con el mandato QPWDMAXLEN se define la longitud mxima de una contrasea que preferiblemente ha de ser de un valor 10. QMAXSIGN y QMAXSGNACN Son dos los valores del sistema que determinan el nmero de veces que una persona puede intentar iniciar la sesin en el sistema y la accin que el sistema lleva a cabo una vez alcanzado el lmite. El valor del sistema de mximo de intentos de inicio de sesin permitidos (QMAXSIGN) limita el nmero de

intentos de inicio de sesin incorrectos consecutivos que admite el sistema antes de llevar a cabo alguna accin. Un intento de inicio de sesin incorrecto se produce cuando una persona intenta utilizar un perfil de usuario concreto con una contrasea no vlida o con la autorizacin inadecuada para una estacin de trabajo. El valor del sistema de accin a tomar ante intentos de inicio de sesin fallidos (QMAXSGNACN) especifica lo que hace el sistema si alguien intenta iniciar la sesin 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 estn instaladas es el siguiente: DSPPFT De Display PTF. Con este mandato se puede comprobar qu PTFs estn aplicadas y, lo ms importante, saber si estn activas o no ya que no es lo mismo que estn instaladas y que estn activas, para que una actualizacin sea correcta el PTF debe de estar en estado activo adems de disponible en OS/400. CONFIGURACIN 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 parmetros de red y con el comando GO CFGTCP de Config TCP se obtiene toda la informacin relacionada con la configuracin 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 administracin de la configuracin TCP donde se puede visualizar y cambiar la configuracin existente.

You might also like