Mindterm
MindTerm es un cliente SSH2 escrito en lenguaje Java, que puede emplearse para proporcionar accesos seguros (cifrados) a un servidor desde una página web.
No es software libre del todo, sólo algunas partes, pero dispone de una versión para uso personal y comercial con limitaciones que funciona perfectamente una vez que hemos firmado el código.
Conceptos básicos
- ¿ Por qué es necesario firmar digitalmente el programa ?
- Porque la máquina virtual Java, el programa que ejecuta los programas escritos en ese lenguaje, puede tener control completo del ordenador del usuario. Esto representa un riesgo de seguridad tan alto que es necesario dar algún tipo de garantía en el proceso.
- ¿ A dónde puede conectar ?
- El programa se ejecuta en el navegador del usuario por lo que las conexiones se originan desde allí. Esto significa que debe existir acceso directo al puerto 22 (SSH) desde la máquina del usuario al servidor al que se quiere conectar, y que dicho puerto debe estar abierto en aquél. Si el servidor está detrás de un cortafuegos o un sistema de asignación de direcciones (NAT) la conexión tendrá que hacerse vía un proxy.
- ¿ Necesita acceso a la máquina del usuario ?
- Sí. Es necesario tener en cuenta que el programa necesita guardar datos en la máquina del cliente y que para ello emplea el directorio especificado en el parámetro sshhome (que en Linux resulta ser
$HOME/mindterm
), por lo que es necesario permitir la utilización de dicha lugar. - Entre la información almacenada están las claves de reconocimiento de los servidores remotos que toda conexión SSH mantiene y guarda.
Instalación
Una vez descargado el paquete binario lo descomprimimos
mindterm-3.4/ |-- Applet.txt |-- LICENSE.txt |-- README.txt |-- RELEASE_NOTES.txt |-- Settings.txt |-- THIRD_PARTY_SW.txt `-- mindterm.jar
y copiamos o movemos el archivo mindterm.jar a un directorio bajo el control del servidor web. Después procedemos a firmar el código y luego creamos una página web desde la cual se llamará al programa -o modificamos una existente- incluyendo una claúsula concreta como la que describimos más abajo.
Tras la instalación es necesario firmar digitalmente el programa porque de otra forma el navegador se negará siquiera a intentar ejecutarlo.
Applet
Para emplear el programa dentro de una página web se debe usar la directiva APPLET
del lenguaje HTML en alguna parte del cuerpo de dicha página, aunque se recomienda que se incluya también algún texto que explique qué debería verse ya que hay navegadores sin posibilidad de ejecutar programas Java.
La directiva applet se puede emplear así:
<APPLET CODE="com.mindbright.application.MindTerm.class"
ARCHIVE="mindterm.jar"
WIDTH=800 HEIGHT=600 ALIGN=middle>
....
</APPLET>
donde:
- CODE determina la clase Java del programa
- ARCHIVE la ruta del archivo del programa
- WIDTH y HEIGHT las dimensiones de la ventana dentro del navegador expresadas en píxeles o porcentajes.
- ALIGN la alineación del programa.
Estos tres últimos atributos coincíden con las de la etiqueta HTML IMG.
Parámetros del applet
Los parámetros propios del programa mindterm se indican con directivas PARAM dentro de la etiqueta APPLET y sirven para limitar o para facilitar su uso, dependiendo del contenido. La siguiente tabla sumariza una parte de ellos, incluyendo el valor predeterminado si se conoce.
Parámetros de applet | ||
---|---|---|
Nombre | Predeterminado | Descripción |
sepframe | Determina si el programa se ejecuta dentro de un marco en la página o en una ventana separada. | |
debug | false | Habilitar los mensajes de depuración en la consola. |
verbose | false | Activa el modo verboso |
savepasswords | true | Determina si se guardan o no las contraseñas de acceso al servidor. |
exit-on-logout | false | Si está activo el programa termina cuando el usuario sale del servidor. |
menus | Controla si deben aparecer menús:
| |
Parámetros de menús | ||
Nombre | Predeterminado | Descripción |
menu.module.disable | false | Desactiva el menú de complementos. |
menu.tunnel.disable | false | Desactiva el menú de túneles SSH. |
Parámetros de conexión | ||
Nombre | Predeterminado | Descripción |
server | Nombre del servidor donde está instalado el applet | Nombre predeterminado del servidor al que conectar; se puede cambiar siempre que no esté inactivo el parámetro allow-new-server. |
username | Nombre predeterminado del usuario con el que iniciar la conexión. | |
Parámetros de la ventana del terminal | ||
Nombre | Predeterminado | Descripción |
encoding | iso8859-1 | Códificación de caracteres empleada en el servidor. |
term-type | xterm | Tipo de emulación de terminal: xterm, linux, scoansi, att6386, sun, aixterm, vt220, vt100, ansi, vt52, xterm-color, linux-lat, at386, vt320, vt102 and tn6530-8 |
bg-color | white | Color del fondo para el terminal. |
fg-color | black | Color del texto (primer plano) para el terminal. |
cursor-color | Color del cursor para el terminal. | |
El color puede ser un nombre o un triplete de valores 'r,g,b'. Los nombres de los colores son: black, red, green, yellow, blue, magenta, cyan, white, i_black, i_red, i_green, i_yellow, i_blue, i_magenta, i_cyan, i_white. |