viernes, septiembre 18, 2009

Protocolo SSH

Historia
Al principio sólo existían los r-commands, que eran los basados en el programa rlogin, el cual funciona de una forma similar a telnet.
La primera versión del protocolo y el programa eran libres y los creó un finlandés llamado Tatu Ylönen, pero su licencia fue cambiando y terminó apareciendo la compañía SSH Communications Security, que lo ofrecía gratuitamente para uso doméstico y académico, pero exigía el pago a otras empresas. En el año 1997 (dos años después de que se creara la primera versión) se propuso como borrador en la IETF.
A principios de 1999 se empezó a escribir una versión que se convertiría en la implementación libre por excelencia, la de OpenBSD, llamada OpenSSH.
SSH
SSH (Secure SHell, en español: intérprete de órdenes seguro) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.
Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.
Seguridad
SSH trabaja de forma similar a como se hace con telnet La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.

Compartir un servicio de impresora..samba

Compartiendo una Impresora.
Probablemente habrás notado que la impresora lp aparece en la lista de recursos compartidos de hydra en la Figura 3. Esto indica que el servidor Unix tiene una impresora que puede ser compartida con los clientes SMB del grupo de trabajo. Los datos enviados a la impresora desde cualquiera de los clientes será cola de impresión del servidor Unix e impresos en el orden de recepción.
La configuración de una impresora accesible a través de Samba en los clientes Windows es más sencilla que la compartición de unidades de disco. Haciendo un doble click en la impresora e identificando fabricante y modelo, puedes instalar un driver para esa impresora en el cliente Windows. Windows podrá entonces dar forma a cualquier información enviada a la impresora de red y acceder a ella como si fuese una impresora local (más adelante te mostraremos cómo hacerlo). La Figura 7 muestra la impresora de red resultante en la ventana de Impresoras de Windows 98. De nuevo, advierte la tubería bajo el icono dela impresora, que indica se trata de una impresora de red.

\includegraphics[ width=0.80\textwidth]{img/sam-0107.ps}

Compartiendo un Servicio de Disco.

Compartiendo un Servicio de Disco.
Si todo está bien configurado, deberíamos poder ver al servidor Samba server, hydra, a través del visualizador de red (entorno de red) de la máquina Windows llamada phoenix. De hecho, la Figura 2 muestra el visualizador de red de la computadora phoenix, incluyendo a hydra y a cada una de las máquinas que residen en el grupo de trabajo SIMPLE. Advierte el icono Entire Network al principio de la lista. Como mencionamos antes, pueden existir más grupos de trabajo sobre una red SMB al mismo tiempo. Si un usuario hace click sobre ese icono, verá una lista de todos los grupos de trabajo que actualmente existen en la red.

\includegraphics[ width=0.80\textwidth]{img/sam-0102.ps}

Podemos entrar en el servidor hydra con un doble click sobre su icono. Esta acción provoca que se contacte con hydra y se le solicite una lista de sus recursos compartidos -La impresora y el disco- que proporciona la máquina. En nuestro caso, existe una impresora nominada lp y un disco compartido llamado network en el servidor, como lo muestra la Figura 3. Advierte que la ventana muestra los nombres de las máquinas con letras mayúsculas/minúsculas (Hydra). Las mayúsculas son irrelevantes en los nombres de host (máquinas) así que puedes leer hydra, Hydra, y HYDRA como salida, pero todas se referirán al mismo sistema. Gracias a Samba, Windows 98 ve al server Unix como a un servidor SMB válido, y puede acceder a la carpeta network como si fuese una carpeta más del sistema.

\includegraphics[ width=0.80\textwidth]{img/sam-0103.ps}

Una característica popular de Windows 95/98/NT es que puedes mapear una letra de unidad hacia un direcrotio de la red usando la opción "Conectar a Unidad de Red" desde el explorador de Window. Una vez lo hayas hecho, tus aplicaciones podrán acceder a la carpeta a través de la red con una unidad de disco estándar. Una vez llegados a este punto, podrás lamacenar datos en ella, instalar y ejecutar programas, e incluso protegerla mediante contraseña contra accesos no deseados. Mira la Figura 4 para un ejemplo de mapeado de letra de unidad sobre un directorio de red.

\includegraphics[ width=0.80\textwidth]{img/sam-0104.ps}

Si esto te suena de algo, probablemente estarás pensando en uniform resource locators (URLs), que son las notaciones que usan los navegadores web como Netscape Navigator e Internet Explorer para resolver máquinas a través de Internet. Asegúrate de no confundirte: los navegadores web usan barras inclinadas a la derecha y no a la izquierda, y están precedidas por el nombre de protocolo de transferencia de datos a usar (p.ej., ftp, http) y dos puntos (:). En realidad, URLs y UNCs son dos cosas completamente distintas.
Una vez la unidad de red está configurada, Windows y sus programas la verán y podrán usar como si ese directorio de red fuese un dico más. Si tienes aplicaciones multiusuario, puedes instalarlas sobre la unidad de red. La Figura 5 muestra la unidad de red resultante como si fuera una unidad más en el cliente Windows 98. Advierte la tubería de enlace en el icono para la unidad "G:";esto indica que es una unidad de red, en lugar de una unidad física.

\includegraphics[ width=0.80\textwidth]{img/sam-0105.ps}

Desde nuestro cliente Windows NT Workstation, chimaera, Samba aparece de forma idéntica a como lo hace en el cliente Windows 98. La Figura 6 muestra la misma vista del servidor hydra desde el explorador de red del cliente Windows NT 4.0. Configurando la unidad de red usando la opción "Conectar a Unidad de Red" en Windows NT Workstation 4.0 obtendríamos el mismo resultado.

\includegraphics[ width=0.80\textwidth]{img/sam-0106.ps}

QUE PUEDE HACER SAMBA POR MI?



Como se explico antes, Samba puede ayudar a las máquinas Windows y Unix a coexistir en la misma red. Sin embargo, existen algunas razones específicas por las cuales podrías desear instalar un servidor Samba en tu red:
No quieres pagar un servidor Windows NT para obtener las funcionalidades que este proporciona.


Puedes querer proporcionar un área común para datos o directorios de usuarios en orden a realizar una transición desde un servidor NT hacia un Unix, o viceversa.
Puede que desees compartir impresoras a entre clientes Windows y Unix.
Puede que quieras acceder a ficheros NT desde un servidor Unix.


Veamos ahora un ejemplo de Samba en acción.


Asumiremos que tenemos la siguiente configuración básica de red: un servidor Samba sobre una máquina Unix, al cual le asignaremos el nombre , y un par de clientes Windows, a los cuales les asignaremos los nombres phoenix y chimaera, todos conectados vía red de área local (LAN). Asumamos también que hydra también tiene una impresora de inyección conectada a ella, lp, y una compartición de disco denominada network -ambos recursos podemos ofrecerlos a las otras dos máquinas-. Un gráfico de esta red se muestra en la Figura.








Figura: Una configuración de red simple con un servidor Samba.

En esta red, cada una de las computadoras comparten el mismo grupo de trabajo. Un Grupo de Trabajdo es simplemente una etiqueta de nombre de grupo que identifica a una determinada colección de ordenadores y sus recursos sobre una red SBM. Pueden existir varios grupos de trabajo sobre la red al mismo tiempo, pero para nuestro ejemplo sólo tendremos uno: el grupo de trabajo SIMPLE.