Seguridad IFS

Importante:
informacion proporcionada por CPI como cortesia,
para mas eficiencia debe consultarse la informacion de IBM o al responsable de Informatica de la Empresa.

IFS es la parte del disco del as400 que puede usarse como un servidor de ficheros de red, mas o menos, es parecido y accesible como cualquier otro recurso/carpeta de red.

  • La seguridad de acceso al ifs puede dar quebraderos de cabeza. Cuando un usuario de Windows quiere acceder (desde Windows o programas en Windows) a directorios en IFS del IBM Server se produce una validación de seguridad, que puede impedir el acceso.

Probar Acceso a IFS con cpi @IFSCHK

Puede usarse el programa @IFSCHK de CPI para comprobar acceso a ifs desde Windows.

  • El algunas aplicaciones como Coprint, apiExcel, Contab… usando paso 188
  • con paso 199 o 247 en algunas aplicaciones CPI y tecleando @IFSCHK
  • En una linea de comando as400: CALL CPI@PUB/@IFSCHK
  • es una cortesía de CPI ;-) no me eches la culpita de nada!

Acceso Basico a IFS

Por ejemplo, un Win User quiere acceder a \\mi400\tmp (siendo mi400 la IP del as400 o un nombreDNS que funcione en cada pc donde se requiera.

Es importante ver que se tiene acceso a \\mi400\tmp desde windows con el explorador de archivos (Siendo mi400 la IP de tu IBM Server). Si no se tiene acceso se puede otorgar desde el IBM Server con

  • En una sesion de terminal, con un perfil *SECOFR como QSECOFR:
    • WRKLNK '/tmp' o WRKLNK '/tmp/xls' o la carpeta que se quiera
      • opcion 9 para autorizaciones
      • otorgar (1=Añadir usuario) al usuario conectado en la sesion de terminal la autorización *RWX, o al menos *RX

8-o IMPORTANTE: Si desde el Explorador de Windows no se tiene acceso puede ser porque falte hacer una compartición/share de esa carpeta ifs, eso se puede hacer usando el Navegador de Operaciones del Client Access (o “System i Navigator” o “cwbunnav.exe”), → ir a Sistema de archivos, → Sistema de Archivos Integrado, → ROOT → buscar la carpeta (p.e. TMP) y con raton derecho hacer una compartición. Este hace que Windows se fuerce a “ver” esa carpeta.

  • cpi puede usar tambien cpishare si acaso.

:-D puede no ser fácil, pero si lo fuera lo haría cualquiera!


  • Tambien es muy importante que el dominio o grupo de trabajo del pc y del as400 sean el mismo.
  • En el as400 se puede ver como se llama el dominio con CFGTCP opcion 12.
  • Con el paso 10 de CFGTCP tambien se puede asignar uno o varios nombres a una direccion IP (actua como una mini dns, como un fichero de nombres de “hosts”)

Si no se tiene acceso se puede otorgar desde el IBM Server con

  • En una sesion de terminal, con un perfil *SECOFR como QSECOFR:
  • WRKLNK '/tmp'
  • opcion 9 para autorizaciones
  • otorgar (1=Añadir o 2=Editar) al usuario conectado en la sesion de terminal la autorización *RWX, o al menos *RX, tambien se puede completar con *ALL en el siguiente parametro (con opcion 2 dar F4 y F11, Subárbol de directorios (SUBTREE)).
  • tambien se puede crear una carpeta nueva y otorgar las autorizaciones, tal como
    CRTDIR DIR('/tmp/test') DTAAUT(*RWX) OBJAUT(*ALL)

La seguridad de acceso es a veces muy puñetera, ya que el usuario del IBM Server (el que usa el terminal telnet) deberia tener el mismo usuario en windows, y preferentemente la misma contraseña.
Por ejemplo, si te llamas RAFA en el as400 y RAFAGIL en el pc windows, el IBM Server no puede correlacionar uno con otro.
Casi es peor si te llamas igual pero tienes diferente contraseña.

  • nuestra recomendacion: el usuario Y contraseña en Windows DEBE SER EL MISMO (los dos datos) que en el as400. Tambien recomendamos que el pass en windows sea todo minusc o todo mayusc, no mezclado!
  • Una opcion es crear otro perfil en el IBM Server con el nombre del Usuario (y pass) en Windows.
  • Otra opcion es crear una conexion fija en DOS en el Grupo de Inicio para que se conecte al as400 con un cierto usuario y password.
    p.e. hacer un login.bat con NET USE:
NET USE unidad: \\IbmServerIP\carpeta password /USER:usuario
o
NET USE unidad: \\IbmServerIP password /USER:usuario
como p.e:
NET USE S: \\192.168.1.4 MICLAVE37 /USER:ROSARIO

perfil de usuario desbilitado para NETSERVER

A veces hay que estar pendiente de que el usuario pueda estar desabilitado para usar Netserver.

  • Importante: Un usuario puede estar desabilitado para Netserver pero funcionar correctamente en funciones normales de as400.
  • ☛ OJO: Se puede tener acceso al 400 pero estar desabilitado para acceder al Netserver/ifs, lo cual se puede ver en la cola del sysopr por el mensaje “USUARIO xxxxxx INHABILITADO para RED WINDOWS NETSERVER (CPIB682)”.
    • se puede ver si el Sistema ha emitido un mensaje con este código facilmente: 8-) DSPLOG MSGID(CPIB682)
  • ☛ La habilitacion se consigue simplemente (o no!) con CHGUSRPRF xxxx + intro
  • (OJO: IBM ha corregido este comportamiento con una ptf, si está aplicada, o en versiones recientes, usar mejor Navigator para habilitar usuarios)
  • Todos los perfiles se habilitan para NetServer cuando se reinicia NetServer ejecutando STRTCPSVR NETSVR o cuando el sistema reinicia (IPL)

IBM ha sido muy amable prefijando estos mensajes con CPI, pero no son nuestros ;-)

saber si hay usuarios desabilitados para Netserver recientemente

:-P se puede ver si el Sistema ha emitido un mensaje con este código facilmente: DSPLOG MSGID(CPIB682)

  • Puede usarse el programa @IFSCHK de CPI para comprobar acceso ifs.

Tambien es facil ver si estamos autorizados con uno de dos resultados:

  • Tecla Windows + R (o comando Ejecutar) teclear \\direccionIPdelas400\tmp +intro
  • si estamos autorizados sale la ventana del Explorador de Ficheros en esa carpeta
  • si no estamos autorizados, o ya desabilitados sale un error de windows y se puede saber si nos ha desabilitado con el comando DSPLOG MSGID(CPIB682), o viendo mensajes del operador: DSPMSG *SYSOPR

FIXME Se puede usar “Operations Navigator” o “System i Navigator” (parte de “IBM Client Access para Windows” o “System i Access para Windows”, m( IBM nos cambia a menudo los nombres de producto para que parezcan otros ¿?).

  • Abrir una conexion en Operations Navigator a nuestro iSeries/IBM i/as400
  • Expandir Network (Red) y Expandir Servers (Servidores)
  • Click en TCP/IP para ver la lista de servidores TCP/IP
  • Buscar en la lista “NetServer” o “i5/Os Netserver” o vaya usted a saber que nombrecito
    • Click con raton derecho
    • En la lista de opciones seleccionar “Usuarios desabilitados” (On the pull-down select Disabled User IDs)

Acceso como usuario invitado

Parece que…
Se puede hacer que cualquier usuario de windows que no tenga un usuario pareja en el IBM Server sea tratado como un “invitado”. De esta forma si hay muchos usuarios de windows con problemas de acceso se podria solucionar el problema creando un unico perfil de invitado (en teoria).

para definir en IBM Netserver un usuario 400 como invitado:

  • En un terminal, con un usuario *SECOFR como QSECOFR:
  • crear un perfil solo para esto: CRTUSRPRF USRPRF(INVITADO) INLMNU(*SIGNOFF)
  • decirselo al oido a Netserver: CALL QZLSCHSG (INVITADO x'00000000')
  • por supuesto el nombre de usuario puede ser INVITADO o cualquier otro m(

Ahora tener en cuenta que se puede usar WRKLNK para cualquier directorio IFS (tal como /tmp) y otorgar autorizaciones a ese “usuario” con la opcion 9 de WRKLNK o con CHGAUT:

  • WRKLNK OBJ('/tmp') y usar 9, o mejor:
  • CHGAUT OBJ('/tmp') USER(INVITADO) DTAAUT(*RWX) OBJAUT(*ALL) SUBTREE(*ALL) y pulsar F4 para ver bien.

… Y con esto hemos inventado la rueda :-D

información adicional y referencias

-


!que cosa más complicada!

 
/kunden/homepages/8/d674751560/htdocs/cpies/doc/data/pages/as400/seguridadifs.txt · Última modificación: 8/09/2017 11:24 por admin
[unknown button type]
 
Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki