T12SPLZ - Teknoda tips

Anuncio
Notas técnicas de AS/400 - Tips en detalle Nro. 12
(Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado)
"Tips en breve/Tips en detalle" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros
clientes AS/400. Contiene principalmente notas técnicas y no contiene mensajes publicitarios.
Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación. . Si desea suscribir otra dirección
de e-mail para que comience a recibir los “Tips”, envíe un mensaje desde esa dirección a letter400@teknoda.com.ar,
aclarando nombre, empresa y cargo del suscriptor.
Lista de Tips publicados hasta la fecha:
1.
Modificación de los parámetros por default que rigen en los comandos del OS/400
2.
Restricción de comandos pesados a modalidad batch
3.
Cómo generar un entorno de prueba para año 2000
4.
Cómo salvar y restaurar spool
5.
Cómo agregar pantallas de confirmación/validación para comandos delicados
6.
Defragmentación del espacio en disco no utilizado : STRDSKRGZ, ENDDSKRGZ
7.
Manipulación de bases de datos desde programas CL, a través de Query/400
8.
Generación de spool AS/400 en formato PDF (Adobe Acrobat Reader) para almacenar en CD´s
9.
Cómo proteger columnas de un archivo físico o lógico
10.
Cómo cambiar la pantalla de signon
11.
Cómo automatizar transferencias de archivos con TCP/IP desde AS/400
Temas de próximos tips:

Auditoría sobre objetos en AS/400

Usos prácticos del NETSERVER

Recuperación de archivos dañados
CONTROL DE ACCESOS SOBRE ARCHIVOS DE SPOOL
Tema:
Seguridad, Spool.
Utilidad:
Protección de información confidencial del spool.
Nivel:
Avanzado
Versión:
Todas
Introducción
Toda la información que se deposita en forma de archivos de spool también necesita estar protegida de los
accesos no debidos por parte de usuarios no autorizados. A pesar de utilizar comúnmente la denominación
“archivos de spool”, es importante aclarar que los mismos no son objetos de tipo *FILE, sino items o
elementos que se encuentran almacenados en objetos de tipo *OUTQ o colas de salida. Cada vez que
desde un job se genera una salida impresa, ésta se almacena dentro de una cola de salida.
A las colas de salida (objetos tipo *OUTQ) como a cualquier otro objeto del sistema, se les aplican las
autorizaciones específicas ya conocidas como *ALL, *CHANGE, *USE, *EXCLUDE y User Defined. Sin
embargo, debido a la complejidad estructural de este tipo de objeto y a la exposición que recibe en su
manipuleo, existen parámetros de seguridad adicionales que deben considerarse.
Asimismo, hay que tener en cuenta que el acceso al spool está MUY relacionado con la concesión de
autorizaciones especiales, esto es, las colas de salida suelen estar muy expuestas ante los usuarios operadores,
administradores, etc.
El presente tip, permitirá conocer qué relación existe entre las autorizaciones específicas, los parámetros de
seguridad de las colas de salida y las autorizaciones especiales que los usuarios poseen.
Estructura básica de la seguridad de spool
Contrariamente a lo que muchos suponen, no es necesario poseer autorizaciones especiales de operador
(*JOBCTL) para poder manipular spool. Cualquier usuario “raso”, en caso de tener acceso a las
funciones/comandos de manejo de colas de salida puede gestionarlas dentro de las limitaciones que le impone
la seguridad de las colas de salida.
De acuerdo a los valores por defecto del sistema, un usuario sin autorizaciones especiales (*USER y *PGMR)
puede visualizar, imprimir, cambiar o eliminar un listado mientras éste le pertenezca, es decir, si el
listado fue generado por un job bajo su propio perfil. Si hubiera otros listados en la misma cola de salida,
este usuario podrá detectar que existen, pero sin posibilidad de operar con ellos. En otras palabras, cualquier
usuario puede ser “operador” de sus propios listados.
Si además este usuario es propietario del objeto cola de salida, puede también dentro de los parámetros de
seguridad establecidos por default, operar sobre todos los listados de la cola.
En la mayoría de los casos, no es necesario hacer una administración especial de la seguridad de spool para
este tipo de usuarios “rasos”. Puede requerirse alguna acción en el caso de que se quiera darle acceso a los
listados de otros, por ejemplo, o vedarle la visualización de sus propios listados. Desde ya, las restricciones
más fuertes (*EXCLUDE) que se apliquen sobre cualquier cola de salida afectan a esta categoría de usuario,
que no tiene atribuciones especiales que le permitan sortear la limitación.
Para conocer con más detalle el comportamiento del sistema hacia estos usuarios y cómo modificarlo, es
necesario analizar (además de la seguridad del objeto *OUTQ) los parámetros Autorización a comprobar
(palabra clave AUTCHK) y Visualizar cualquier archivo (palabra clave DSPDTA). Estos forman parte de
los atributos de la cola de salida, y se visualizan al crearla o modificarla (ver pantalla).:
Crear cola de salida (CRTOUTQ)
Teclee elecciones, pulse Intro.
Parámetros Adicionales
Visualizar cualquier archivo . .
*NO
*NO, *YES, *OWNER
Separadores de trabajos
. . . .
0
0-9, *MSG
Controlado por operador
. . . .
*YES
*YES, *NO
*NONE
Nombre, *NONE
Cola de datos
. . . . . . . . .
Biblioteca . . . . . . . . . .
Nombre, *LIBL, *CURLIB
Autorización a comprobar . . . .
*OWNER
*OWNER, *DTAAUT
Autorización . . . . . . . . . .
*USE
Nombre, *USE, *ALL...
Cuando el valor AUTCHK está en *OWNER (default), OS/400 chequea si el usuario que accede a la cola de
salida es el propietario de la misma. Si es así, cualquier operación está permitida siFinal
los valores para el
parámetro DSPDTA son *YES o *NO. En cambio, si el valor de DSPDTA es *OWNER, el propietario de la
F3=Salir
F4=Solicitud
F5=Renovar
F12=Cancelar
cola de salida sólo podrá realizar la gestión operativa aunque sea el dueño de la OUTQ. Si el usuario que
F13=Cómo
utilizar
esta
pantalla
F24=Más
teclas
quiere
trabajar con
los archivos
de spool
no es el propietario
de la cola
de salida, sólo se podrá visualizar el
contenido cuando DSPDTA valga *YES. En los demás valores de este parámetro, ninguna operación estará
permitida.
Si el valor de AUTCHK es *DTAAUT, se considerarán exclusivamente los permisos del usuario sobre el
objeto cola de salida. Para tener permiso a la mayor parte de las operaciones sobre la misma, se necesitará
autorización específica *CHANGE. Es importante observar que la autorización pública por default que posee
una cola de salida es *USE y no *CHANGE como ocurre para la mayor parte de los objetos (si fuera
*CHANGE, los permisos a cualquier usuario serían excesivos para este tipo de objeto).
Ejemplo:
Utilizando los parámetros anteriormente explicados, es posible plantear combinaciones muy interesantes que
nos permiten generar colas de salida sobre las cuales los usuarios posean diferentes tipos de accesos. Por
ejemplo, se necesita una cola de salida para un grupo de programadores. Cualquiera de los archivos de spool
deberá ser accedido por los diferentes integrantes del grupo, independientemente quién fue el que lo generó.
Para cumplir con este requerimiento, la cola de salida debe tener como propietario a un usuario externo al
grupo, y los parámetros de seguridad, a saber, AUTCHK y DSPDTA deberán valer *OWNER y *YES
respectivamente. Al grupo en cuestión se le otorgará la autorización *CHANGE sobre la cola de salida. De
esta manera, todos podrán visualizar el contenido de los archivos de spool de los demás.
Acceso con autorización especial *JOBCTL: La zona peligrosa
Los operadores y muchas veces también los programadores son usuarios que gozan de la autorización especial
*JOBCTL. Esta autorización le permite al que la posee, entre otras cosas, gestionar listados propios y
ajenos de cualquier cola de salida del sistema, siempre y cuando sus parámetros de seguridad estén en
sus valores por defecto, independientemente de las autorizaciones específicas del objeto (observar el
recorrido en rojo en la Figura 1).
Un usuario *JOBCTL, cuando accede al spool, está en situación de efectuar “casi”cualquier operación sobre
los archivos, aunque se hubiera especificado *EXCLUDE para la cola de salida en forma pública o privada.
El tipo de gestión que se puede llevar a cabo sobre el spool es dependiente del parámetro Visualizar
cualquier archivo (palabra clave DSPDTA). Si este último está en *YES o *NO (observar que *NO es el
default) entonces cualquier operación puede efectuarse. De aquí se deduce que si un usuario es *JOBCTL y
los parámetros de seguridad de la *OUTQ están en sus defaults, el acceso es total. En caso contrario, si el
valor es *OWNER, las operaciones permitidas son aquellas relacionadas con operación (retener, liberar,
cambiar atributos y suprimir). La combinación de los parámetros OPRCTL = *YES y DSPDTA = *OWNER
está orientada a permitir a los operadores la gestión de las entradas sin que tengan permiso a visualizar
su contenido.
En caso de querer modificar este default, existe la posibilidad de alterar el parámetro OPRCTL (Controlable
por operador) de la cola que se desea proteger, colocándolo en *NO en lugar del valor por defecto, *YES.
Cualquier usuario con autoridad *JOBCTL que acceda a la misma, lo hará en las condiciones de
cualquier otro usuario que no posea autorizaciones especiales, es decir se inhibirá el valor *JOBCTL
para esa cola en particular y el sistema efectuará los chequeos de seguridad que se aplican a un usuario
sin autorizaciones especiales.
Por todo lo hasta aquí expuesto, poseer la autoridad *JOBCTL proporciona accesos respecto al spool que
pueden llegar a ser más amplios de lo necesario. Por lo tanto el otorgamiento de *JOBCTL debería estar
estrictamente controlado. Antes de la V3R7 del OS/400, cada vez que se creaba un perfil de usuario de clase
*SECADM, *SYSOPR o *PGMR se otorgaban las autorizaciones especiales *JOBCTL y *SAVSYS (el
administrador además gozaba de la autorización *SECADM). Desde la V3R7 en adelante, OS/400 comenzó a
restringir la asignación automática de autorizaciones especiales. El administrador de seguridad conserva
solamente la autorización *SECADM, el operador del sistema posee las mismas y el programador
directamente no posee autorizaciones especiales. Para efectuar tareas netamente de programación, un
perfil de usuario no necesita autorizaciones especiales.
Ejemplos:

El oficial de seguridad necesita una cola de salida donde volcar los archivos de spool que se generan con
información confidencial de seguridad. Para cumplir con este objetivo, crear el objeto *OUTQ con el
oficial de seguridad como propietario. Los parámetros de seguridad deberían establecerse en los
siguientes valores: OPRCTL en *NO (acceso no permitido a los usuarios con *JOBCTL), AUTCHK en
*DTAAUT (se necesita autorización específica sobre el objeto *OUTQ) y DSPDTA en *OWNER
(ninguna operación permitida). La autorización pública del objeto en *EXCLUDE cierra el acceso a
cualquier otro usuario.

Para la impresión de archivos confidenciales se necesita una cola de salida donde los usuarios puedan
volcar esa información y los operadores puedan realizar la gestión operativa de los mismos sin visualizar
su contenido. Los parámetros de seguridad deben establecerse de la siguiente forma: OPRCTL en *YES
(habilita a los usuarios con *JOBCTL), AUTCHK en *OWNER (chequea si el que accede es el
propietario de la *OUTQ) y DSPDTA en *OWNER ( los usuarios sólo pueden trabajar con su propio
spool y el operador podrá retener, liberar, cambiar y eliminar). La autorización pública debería valer
*USE.
Acceso con autorización especial *SPLTCL: Acceso absoluto
Los perfiles poseedores de este permiso, tienen acceso completo a los archivos de spool de cualquier cola
de salida para efectuar todo tipo de operación. Si un perfil goza de esta autorización, es imposible evitar su
acceso a una determinada cola de salida. La autorización especial *SPLCTL sólo es concedida por OS/400 a
los usuarios de clase oficial de seguridad (*SECOFR), aunque también puede otorgarse individualmente.
Resumen de parámetros de seguridad de las colas de salida
El siguiente esquema en la Figura 1 representa el chequeo de autorizaciones que efectúa el sistema para
acceder a archivos de spool considerando las autorizaciones especiales del usuario, los parámetros
anteriormente mencionados de las colas de salida y las autorizaciones específicas sobre el objeto:
Chequeo de autorizaciones para acceder a los
archivos de spool
Parámetros de seguridad Parámetro
de una cola de salida en DSPDTA
los comandos:
OPRCTL
CRTOUTQ, CHGOUTQ y
AUTCHK
WRKOUTQD.
Es * SPLCTL ?
Si
Valores
(* NO/* YES/* OWNER) Visualizar cualquier archivo
(* YES/* NO)
Si
No
OPRCTL
TODO
Tareas permitidas sobre
archivos de spool de
otros usuarios:
VIS incluye DSP, CPY y
SND
OPE incluye HLD, CHG,
DLT y RLS
Controlado por operador
( * OWNER/* DTAAUT) Autorización a comprobar
Es * JOBCTL ?
No
Descripción
* YES
* NO
AUTCHK
* OWNER
* DTAAUT
Usuario es ow ner?
Si
* DTAAUT
DSPDTA:
DSPDTA:
DSPDTA:
* YES: VIS; con
* CHANGE, TODO.
DSPDTA:
* YES: VIS
* YES o * NO:
TODO
* NO: nada, con
* CHANGE TODO.
* NO o
* OWNER:
Nada
* YES o * NO:
TODO
* OWNER:
OPE
TODO = VIS + OPE
No
* OWNER:
OPE
* OWNER: nada;
con * CHANGE,
OPE.
FIGURA 1
Para tener en cuenta...

Recuerde que cuando un usuario genera un archivo de spool, es el propietario del listado. Por lo tanto,
siempre podrá verlos y manipularlos sin tener en cuenta como se definió la seguridad para la cola de
salida que utilice.

El texto “Controlable por operador” del parámetro de palabra clave OPRCTL puede conducir a
confusiones. Recordar que no se refiere a la clase de usuario, sino al hecho de poseer la autorización
especial *JOBCTL. La acción de este parámetro involucraría también a un usuario de clase *PGMR, si
él también posee dicho permiso especial.

Los parámetros de las colas de salida pueden indicarse tanto en el momento de su creación (comando
CRTOUTQ), o con un cambio posterior (comando CHGOUTQ). Para visualizar los valores en uso se
utiliza el mandato WRKOUTQD.

La autorización especial *ALLOBJ sobre colas de salida no se comporta de la misma manera que sobre
otros tipos de objetos.

La autorización especial *SPLCTL puede interpretarse como el *ALLOBJ de las colas de salida.

Para determinar donde se almacena un archivo de spool generado por un job, se efectúan una serie de
consultas en la siguiente secuencia: “printer file”, atributos del trabajo, perfil de usuario, descripción de
dispositivo de pantalla y por último el valor de sistema QPRTDEV.
Copyright 2000 Teknoda S.A. - AS/400 y OS/400 son marcas registradas de IBM.
Dudas o consultas a gmperez@teknoda.com.ar o nsalmun@teknoda.com.ar
Documentos relacionados
Descargar