Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Uso y Manejo de la Herramienta ‘soky’ Objetivo Contar con una herramienta (soky) que permita realizar conexiones remotas seguras, encriptando la información, e identificando, autenticando y autorizando al usuario a realizar exclusivamente las acciones a las que tiene derecho de acuerdo a un perfil predeterminado, guardando las huellas de auditoría correspondientes. También que desligue al usuario de necesitar conocer el password del login con el que se conecta al equipo servidor. Introducción Debido a la falta de seguridad intrínseca que tiene la aplicación ‘FTP’, el SAT ha considerado necesario sustituir dicha herramienta en la Operación por otra que ofrezca seguridad, control y huellas de auditoría. El soky es una herramienta que utiliza la Biblioteca del Socket de Seguridad para realizar comunicaciones seguras Con las características anteriores, el SAT cuenta con una herramienta que otorga seguridad en las conexiones que se realicen entre los diversos nodos. Alcances La herramienta soky, filtra al usuario usando la Matriz de Seguridad, lo que le autoriza realizar acciones como el envío y recepción de archivos, ejecución remota de comandos del sist. op. ejecución de Listados de Directorios. El usuario necesita estar autorizado para usar una, dos o todas las funciones mencionadas, Los archivos transmitidos y generados dentro de un Equipo Remoto, quedan con permisos 660 en plataformas UNIX, y con permisos del dueño en plataformas WINDOWS. El soky se puede ejecutar desde plataformas Win95, Win98, Win2000, NT, Unix-HP, Unix-AIX, Unix-Solaris, Linux y conectarse remotamente a cualquier plataforma de las mencionadas excepto Win95 y Win98 y NT con versión menor a 3.51 (por limitaciones técnicas de esos Sist. Op). Los archivos siempre se transmiten y se reciben en modo binario. El uso del soky está limitado a la autorización permitida en la matriz de seguridad, por lo que su acción puede Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Ambiente Para que el usuario pueda utilizar el soky desde su equipo, es necesario que tenga instalado el software del Socket-Cliente; asimismo para poder conectarse a un equipo remoto, se requiere que dicho equipo tenga instalado el software del Socket-Servidor. Además se requiere que la matriz de seguridad que reside en ambos equipos tenga dada de alta al usuario con el perfil requerido. Uso de la herramienta El soky permite realizar las siguientes funciones remotas 1. 2. 3. 4. Transmisión de archivos desde nuestro Equipo local hacia el Equipo remoto Recepción (traer) archivos del Equipo remoto a nuestro Equipo local. Ejecución de comandos (no interactivos) en el Equipo remoto Ejecución de comandos dir o ls intrínsecos para ver Directorios Remotos Para el caso de no recordar o conocer las funciones y su sintaxis, basta con teclear el comando “soky” sin parámetros y serán desplegados los mismos: soky <enter> soky <T> <host> <login remoto> <arch local> <arch remoto> soky <R> <host> <login remoto> <arch remoto> <arch local> soky <X> <host> <login remoto> <comando remoto> soky <Dd> <host> <login remoto> <directorio remoto> Obtención del Mensaje de Error El soky arroja el mensaje de error a la pantalla. Sin embargo cuando se ejecuta desde una Aplicación de Java, C, VBasic, etc. Seguramente el mensaje se perderá, lo que ocasionaría que si hay error no se podrá consultar. Para lograr tener el mensaje de error se puede dirigir la salida del soky a un archivo que se grabe en una bitácora: Ejemplo: Linux, Unix: soky X host login remoto comando remoto 2>&1 > bitácora.txt (genera nuevo el arch) soky X host login remoto comando remoto 2>&1 >> bitácora.txt (anexa reg al arch.) Windows soky X host login remoto comando remoto > bitácora.txt soky X host login remoto comando remoto >> bitácora.txt genera nuevo el arch anexa reg al arch si el retorno del soky es diferente de ‘0’ entonces el registro de la bitácora contiene un error; en caso contrario el registro contendrá un aviso de transmisión correcta Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Transmisión de Archivos a un Equipo Remoto La sintaxis para realizar esta actividad es la siguiente: soky <T> <host remoto> <login remoto> <archivo(s) local> <path/archivo remoto> T= indica modo Transmisión Host remoto= la dirección o el alias del Equipo Remoto. Login remoto= login del usuario del Equipo Remoto Archivo(s) local(es)= los archivos que se enviarán archivo remoto= nombre del archivo en el Equipo remoto. En caso de enviarse a un equipo Windows, se debe poner forzoso la ruta completa Notas: 1. Cuando se envíe un solo archivo, en el path remoto debe ponerse un nombre de archivo aun cuando sea el mismo. 2. Se pueden enviar mas de un archivo utilizando metacaracteres (wild cards), en ese caso solo debe ponerse el path remoto sin nombre de archivo y terminando la cadena con un ‘/’ (si transmite a Unix) o con un ‘\’ (si transmite a NT) 3. Al enviar a un Equipo Windows desde un Equipo Unix, recordar que el slash ‘\’ que separa los directorios en Windows, debe repetirse ‘\\’ para que se interprete correctamente por el shell 4. Al enviar archivos ASCII desde Equipos Unix a Windows, antes de transmitir se debe ejecutar en equipos HP el ux2dos para convertir el formato ascii. En equipos AIX se utiliza el aix2dos Ejemplos: Casos Correctos: ux2dos contab > contab.txt soky T 99.90.100.246 dcpn2100 contab.txt /usr/contab.txt 2>&1 > /tmp/bitac.txt soky T cpd dcpn2100 /home/siralr/contab.txt /usr/users/dcpn2100/contab.txt soky T cpd dcpn2100 /home/siralr/*.txt /usr/users/dcpn2100/ soky T SAT_NT Administrator contab.??? C:\\Cobranza\\Contabilidad\\ > .\bit.txt soky T cpd dcpn2100 C:\Pagos\*.??? /usr/users/dcpn2100/Pagos/ nota: cuando se envía desde un NT hacia un Unix, no necesita doble ‘\\’ Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Casos Incorrectos: soky T cpd dcpn2100 contab.txt /usr/users/dcpn2100/ Se envía uno, falta el nombre de archivo remoto soky T cpd dcpn2100 /home/siralr/contab.??? /usr/users/dcpn2100 falta el símbolo ‘/’ al final del path remoto soky T SAT_NT dcpn2100 /home/siralr/contab.??? C:\\Cobranza\\Contabilidad falta el símbolo ‘\’ al final del path remoto soky T cpd dcpn2100 /home/siralr/contab.??? /usr/users/dcpn2100/contab.??? No debe llevar nombre de archivo, solo el path soky T SAT_NT dcpn2100 /home/siralr/contab.txt C:\Cobranza\Contabilidad\ Si se envía desde un Unix, debe ir doble ‘\\’ soky T SAT_NT dcpn2100 /home/siralr/contab.txt Contabilidad\\ falta ruta absoluta en caso de enviar a Windows’ Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Obtención de Archivos desde un Equipo Remoto La sintaxis para realizar esta actividad es la siguiente: soky <R> <host remoto> <login remoto> <path/archivo remoto> <archivo local> R= indica modo Recepción Host remoto= la dirección o el alias del Equipo Remoto. Login remoto= login del usuario del Equipo Remoto archivo remoto= nombre del archivo en el Equipo remoto. Archivo local= nombre del archivo que se obtendrá Notas: 1. Las Rutas Remotas en caso de Windows deben ponerse absolutas. 2. Cuando se reciba el archivo remoto, y va a tener el mismo nombre basta con poner el directorio local terminadolo con un ‘/’ o un ‘\’ 3. Al enviar a un Equipo Windows desde un Equipo Unix, recordar que el slash ‘\’ que separa los directorios en Windows, debe repetirse ‘\\’ para que se interprete correctamente por el shell 4. Pueden utilizarse meta caracteres (wild cards) al traer archivos si se tiene también el permiso de Listado (opción D), la cadena de meta caracteres debe ir entre comillas 5. Al recibir archivos ASCII en Equipos Unix desde Windows, después de recibir se debe ejecutar en equipos HP el dos2ux para convertir el formato ascii. En equipos AIX se utiliza el dos2aix. Ejemplos: Casos Correctos: soky R 99.90.100.246 dcpn2100 /usr/users/dcpn2100/contab.txt ./contab_ant.txt soky R 99.90.100.246 dcpn2100 “/usr/dcpn2100/contab.*” ./ 2>&1 > /tmp/bitac.txt soky R cpd dcpn2100 “/usr/users/dcpn2100/contab.* ” /home/siralr/ soky R SAT_NT Administrator C:\\Contabilidad\\contab.txt ./contabil.nvo > bitac.txt soky R cpd dcpn2100 “/usr/users/dcpn2100/???_valor.txt “ .\ Casos Incorrectos: soky R cpd dcpn2100 ./*.txt ./ Faltan las comillas para que sea “./*.txt “ soky R cpd dcpn2100 “/usr/users/dcpn2100/*.txt “ C:\Temp.\ Si no tiene permiso de Dir no puede usar wild cards soky R SAT_NT dcpn2100 C:\Cobranza\Contabilidad\contab.txt ./contab.txt Falta poner el doble ‘\\’ Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Ejecución de Comandos en un Equipo Remoto La sintaxis para realizar esta actividad es la siguiente: soky <X> <host remoto> <login remoto> <comando remoto> X= indica modo Ejecución Host remoto= la dirección o el alias del Equipo Remoto. Login remoto= login del usuario del Equipo Remoto Comando remoto= comando a ejecutar en el Equipo Remoto Notas y ejemplos: Correcto: soky X cpd dcpn2100 “grep pagos /tmp/arch1 | tail –20 > /tmp/archfin” Incorrecto: soky X cpd dcpn2100 grep pagos /tmp/arch1 | tail –20 > /tmp/archfin 1. Los archivos, ejecutables o scripts que se ejecuten o direccionen, deben llevar ruta absoluta (en Unix se acepta ruta relativa al home del login ): Correcto: soky X cpd dcpn2100 “/usr/local/bin/tomapagos /tmp/arch1 > /tmp/archfin” Incorrecto: soky X cpd dcpn2100 “tomapagos arch1 > archfin” 2. No ejecutar remotamente comandos que redireccionen el stderr ( 2> ), debido a que el socket utiliza dicho canal para recabar información sobre fallas de comandos que reportará al usuario, el uso de dicho canal ocasionaría conflictos. Correcto: soky X cpd dcpn2100 “cat /tmp/archa /tmp/archb > /tmp/archfin ” Incorrecto: soky X cpd dcpn2100 “cat /tmp/archa /tmp/archb > /tmp/archfin 2> /tmp/errores” 3. No ejecutar comandos interactivos. Esto es que los comandos no deben recibir datos del teclado (stdin) y/o enviar datos a pantalla (stdout). Si espera datos del teclado, como el socket es una conexión remota sin terminal, se quedará esperando indefinidamente hasta que el usuario cierre la transmisión dando ^C a la herramienta. Si envía datos a pantalla, como no se tiene pantalla remota, se perderán dichos datos. En otras palabras se trabaría el Socket 4. También tener cuidado con los comandos que envían a pantalla tales como “ls” o “ll”, “pwd”, etc... Todos estos comandos pueden usarse si reciben o envían los datos de otros canales que no sean stdin o stdout. Para ello es necesario redireccionar la salida entrada a un archivo con ‘>’ o ‘<’ Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Ejemplos: Correcto: soky X cpd dcpn2100 “cat /tmp/archa /tmp/archb > /tmp/archfin ” soky X cpd dcpn2100 “du < /usr/users/dcpn2100 > /tmp/archa” soky X cpd dcpn2100 “rm –f /tmp/archa” 2>&1 >> /tmp/bitacora.txt Incorrecto: soky X cpd dcpn2100 “ll /tmp/archa” soky X cpd dcpn2100 “rm /tmp/archa” ( el cmdo podría preguntar: remove y/n? ) soky X cpd dcpn2100 “more /tmp/archa” Ejecución de Listado de Directorios en un Equipo Remoto La sintaxis para realizar esta actividad es la siguiente: soky <D|d> <host remoto> <login remoto> <Directorio remoto> D= indica modo Listado en formato largo (Win= dir, Unix= ls –l ) d= indica modo Listado en formato corto (Win= dir /w, Unix= ls –p) Host remoto= la dirección o el alias del Equipo Remoto. Login remoto= login del usuario del Equipo Remoto Ruta remota= Directorio o archivo(s) a listar en el Equipo Remoto Notas: 1. Las Rutas de Directorios Remotos en caso de Windows deben ponerse absolutas. 2. Cuando se utilicen metacaracteres ‘ ? * [ ] ‘ la ruta debe ir entre comillas 3. El buffer máximo de listado es de 64Kb, por lo que si utiliza formato largo y no cabe el listado, de manera automática se pasa a corto. Ello se indica en el mensaje al final del listado y el comando soky retorna un uno. Si el formato elegido cabe en el buffer, soky retorna un cero. 4. Si el buffer es insuficiente para el formato corto, El mensaje final muestra un Warning e indica cuantas líneas del total se trajo. Soky retorna un dos. Ejemplos: soky D alr30 irecsrtx /usr/users/dcpn2100/Contabilidad/ soky d adu140 “/var/auditor /var/opt/adus/archivos.*” | more soky D cpd loginrec “/home/loginrec/archivo_??2003.*” > ./resultado.txt Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información Mensajes de Retorno El soky retorna diferentes mensajes, ya sean de ejecución correcta, informativos, de atención y de error. Un caso de mensaje informativo fue indicado en el capítulo anterior cuando se teclea el comando soky sin ningún parámetro. El soky no retorna exclusivamente mensajes alfabéticos, sino también entrega un valor numérico que puede servir para incluir al soky en un script de shell que permita conectarse a diferentes Nodos, y actuar en consecuencia en caso de fallas en la transmisión. A continuación mostramos los diferentes mensajes que pueden recibirse de la herramienta. Retorno de valor numérico El soky retorna un valor numérico después de su ejecución al igual que los demás comandos de Unix, donde cero indica ejecución correcta y cualquier otro valor marca una falla: for i in /usr/users/dcpn2100/contab?.txt do soky T 99.90.100.246 dcpn2100 $i $i 2>&1 > /tmp/log.txt fecha=`date` Val= $? If [ $Val = ‘0’ ] then echo “$fecha envio correcto de $i “ >> bitac.txt cat /tmp/log.txt >> bitac.txt else echo “$fecha falla el envio de $i con error= $Val “ >> bitac.txt cat /tmp/log.txt >> bitac.txt fi done Retorno de mensaje de ejecución correcta: En caso de Transmisión y/o Recepción de archivos, se indica cuantos elementos se van a transferir antes de la ejecución, un mensaje de datos y estadísticas en cada transmisión, cuantos se transfirieron al finaly el valor de retorno numérico: soky T 99.90.100.123 dario exte?.c C:\\Tmp\\ Administración General de Tecnología de la Información Administración Central de Infraestructura Informática Administración de Seguridad de la Información ==> ENVIO: Se van a transmitir 3 archivo(s) 1999.08.10 17:57; Host Remoto=99.90.100.123 -Transmision CorrectaArch Local= exte2.c Arch Remoto= c:\Tmp\exte2.c Se Enviaron (1354) bytes 1999.08.10 17:57; Host Remoto=99.90.100.123 -Transmision CorrectaArch Local= exte3.c Arch Remoto= c:\Tmp\exte3.c Se Enviaron (2803) bytes 1999.08.10 17:57; Host Remoto=99.90.100.123 -Transmision CorrectaArch Local= exte4.c Arch Remoto= c:\Tmp\exte4.c Se Enviaron (4495) bytes ==> FINAL: Se transmitieron 3 archivo(s) de un total de 3 return= 0 Retorno de mensaje en falla de sintaxis Cuando el soky no tiene el número de parámetros correcto o se utiliza una letra de accion distinta de ‘T’, ‘R’ o ‘X’, despliega el siguiente mensaje: soky <T> <host> <login remoto> <arch local> <arch remoto> soky <R> <host> <login remoto> <arch remoto> <arch local> soky <X> <host> <login remoto> <comando remoto> soky <D|d> <host> <login remoto> <Ruta remota> Retorno de mensajes de error En el caso de que algo ocurriera que impidiera la correcta transferencia de información, se tendría un mensaje del error que impide la secuencia de trabajo Los mensajes son variados, pero ponemos uno de ejemplo cuando se intenta enviar a un directorio que no existe: soky T 99.90.100.123 dario exte?.c c:\\chulavista\\ ==> ENVIO: Se van a transmitir 3 archivo(s) ==> ATENCION: Solo se transmitieron 0 archivo(s) de un total de 3 1999.08.10 18:04; Host Remoto=99.90.16.107 (3) +ERROR+ Transmision, Archivo Remoto=c:\chulavista\exte2.c Servidor: No es posible crear el archivo LastError=3 El sistema no ha encontrado la ruta de acceso especificada. return= -21
Puede agregar este documento a su colección de estudio (s)
Iniciar sesión Disponible sólo para usuarios autorizadosPuede agregar este documento a su lista guardada
Iniciar sesión Disponible sólo para usuarios autorizados(Para quejas, use otra forma )