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.

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.
  • Una opcion es crear otro perfil en el IBM Server con el nombre del Usuario 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

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

FIXME Se puede usar Operations Navigator (parte de IBM Client Access para Windows).

  • Open a connection to Operations Navigator on your iSeries FIXME
  • Expand Network
  • Expand Servers
  • Click TCP/IP to view list of TCP/IP servers available
  • Right-click AS/400 NetServer and select Open
  • Click on File in the upper left-hand corner
  • 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!

 
/home/cpises/public_html/doc/data/pages/as400/seguridadifs.txt · Última modificación: 20/10/2016 05:59 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