SSH
Noticia Crucial de Seguridad: Debian tuvo una problema serio con los Claves SSL. Se afecta todos los liveCD de sidux, los ISOs y instalaciones en Discos Duros de sidux Chaos, Tartaros, Gaia, Eros y Nyx. (Mayo-2008)
Los arreglos están en línea aquí: debian, y también en el foro de sidux . Por favor, sigue las direcciones de la advertencia. Es una Seria Noticia de Seguridad.
En computación, el Secure Shell o SSH es un juego de estándares y un protocolo de red asociado que permite establecer una canal seguro entre una computador local y otro remoto. Se usa criptografía de clave-publica para autenticar el remoto y (opcionalmente) para permitir el computador remoto de autenticar el usuario. SSH provee confidencialidad e integridad de los datos intercambiado entre dos computadoras utilizando encriptación y códigos de autenticación de mensajes (MACs). SSH es típicamente utilizado para conectar a una máquina remoto y ejecutar comandos, pero también apoya la creación de túneles, adelantando puertos arbitrarios y conexiones X11; se puede transferir archivos utilizando los protocolos asociados, SFTP o SCP. Un servidor SSH, por pre-selección, se escucha en el puerto 22 el estándar de TCP. Referencia desde Wikipedia
Activar buenas medidas de seguridad para SSH
No es seguro, via ssh, de permitir conexión para root. No deseamos usuarios root (raíz) conectando por pre-selección, Debian debe ser seguro, no inseguro; ni deseamos dar usuarios 10 minutos para realizar un ataque-diccionario sobre las claves en el ssh login. Entonces, depende de usted para limitar el tiempo y los intentos de conectar!
Para hacer el ssh más seguro, simplemente abra su editor de texto favorito, como root, entonces abra este archivo:
/etc/ssh/sshd_config
Ubicar los renglones que puede causar problemas, y cambiarlos.
Los ofensores que tiene que ubicar son los siguientes:
Port <puerto deseado>: Este tiene que ser fijado al puerto correcto que están adelantando (Forwarding) desde su router. Adelantes de Puertos también tiene que ser configurado en su router. Si no sabe como hacerlo, quizás no debe estar utilizando el ssh remotamente. Debian fija el puerto pre-seleccionado al puerto 22, sin embargo, es recomendado de usar un puerto fuera del rango normal de escanear. Como ejemplo, vamos a usar el puerto 5874, entonces eso será:
Port 5874
ListenAddress <IP de la máquina or interfaz de la red>: Ahora, por supuesto, en vista que están adelantando un puerto desde su router, necesita que la máquina tiene una dirección IP estática en la red, sino están implementando un servidor DNS localmente, { pero si esta haciendo algo tan complicado y necesita estos instrucciones, probablemente están haciendo un gran error. } Entonces, vamos a decir que es este:
ListenAddress 192.168.2.134
Luego, el Protocol 2 es pre-selección de Debian, pero verificar para estar seguro:
LoginGraceTime <segundos de gracia para introducir el login>: Este tiene un valor absurdo pre-seleccionado de 600 segundos. No se necesita 10 minutos para tipear su nombre de usuario y clave, entonces vamos hacer esto más sano:
LoginGraceTime 45
Ahora tiene 45 segundos para login y los cracker no tiene 600 segundos cada vez para crackear sus claves
PermitRootLogin <Permitir accesar como root>: Porque Debian hace eso "si" es incomprensible, entonces cambiamos eso a "no".
PermitRootLogin no
StrictModes yes
MaxAuthTries <xxx>: Número de intentos a login, permitamos 2 a 4, pero no más de eso.
MaxAuthTries 2
Puede que tiene que agregar algunas de estos renglones si no están presente:
AllowUsers <nombres de usuarios con espacios permitido acceso via ssh>
AllowUsers <xxx>: permitir un usuario de ssh solamente con ningún permisos, usa el "adduser" para agregar el usuario, entonces pone su nombre aquí, como:
AllowUsers nombres-de-usuarios
PermitEmptyPasswords <xxx>: dar a este usuario a clave bien largo que es imposible adivinar, nunca en un millón de años que es el único usuario permitido a ssh adentro. Una vez que esta adentro, puede su para hacerse root:
PermitEmptyPasswords no
PasswordAuthentication <xxx>: obviamente, para login con un password, no un clave, necesita que los passwords estar completo sino esta usando claves más seguros, necesita que este sera "yes" (si).
PasswordAuthentication yes [a menos que esta usando claves encriptados]
Finalmente:
/etc/init.d/ssh restart
Ahora que tenemos algo más seguridad, no completamente seguro, sólo mejor, incluyendo creando un usuario de sólo ssh con "adduser"
Nota: Si recibe un mensaje de error y el ssh nega conectarse, vaya a su $HOME y buscar un directorio llamada .ssh y borrar el archivo llamada known_hosts y intentar de nuevo. Este error normalmente occure cuando sus direcciones de IP esta fijado dinamicamente (DCHP)
Utilizando aplicaciones de X Window via la red a través de SSH
Ejecutando una aplicación en un computador remoto y tener su interfaz gráfica de usuarios mostrado en su máquina local.
Presunción:
* sidux
* IP del computador local: 192.168.1.10/24 (solamente en X11)
* IP del computador remoto: 192.168.1.2/24 (actualmente ejecutando aplicación de X11)
Configuración:
En el computador remoto cambiar en /etc/hosts.allow una línea de agregar derechos para acceso ssh:
ssh sshd : 192.168.1.0/24 : ALLOW # ej. permitir todos direcciones de red de la área local tener acceso al servidor ssh :code:
En un computador local, abre un consola y entrar el comando para establecer una conexión con adelante-X:
ssh -X username@xxx.xxx.xxx.xxx (ó IP) (entrar su pase ssh cuando la programa lo pide, o el frase de pase de la clave ssh si ha enviado su clave publica al remoto y esta agregado al archivo de claves de usuarios autorizados)
Ejecuta la aplicación-X en una consola, por ejemplo, "iceweasel".
ssh -X username@xxx.xxx.xxx.xxx (ó IP) (entrar su pase ssh cuando la programa lo pide, o el frase de pase de la clave ssh si ha enviado su clave publica al remoto y esta agregado al archivo de claves de usuarios autorizados) iceweasel o oocalc o oowriter o kspread
SSH remoto con Adelanto-X desde un Windows-PC:
* Baja y quemar el Cygwin XLiveCD
* Ponga el CD en la bandeja del CD-ROM de la Windows-PC y espero que el autorun lo arranca.
Pinchar en "Continue" hasta que una ventana de concha sale, y entrar:
ssh -X username@xxx.xxx.xxx.xxx
Nota: xxx.xxx.xxx.xxx es el IP del computador remoto con Linux o su URL (por ejemplo una cuenta dyndns.org) y el nombre del usuario es por supuesto una cuenta que existe en la máquina remoto. Después de conectar exitosamente, empieza "kmail" por ejemplo y revisar su correos!
Importante: asegurar que hosts.allow tiene una entrada que permite acceso desde PCs de otras redes. Si estas detrás de un NAT-Firewall o un router, asegura que el puerto 22 es adelantada a su máquina de Linux.
SSH con Konqueror o Krusader
Ambos, Konqueror y Krusader son capaces de accesar datos remotamente, usando el protocolo using sftp:// y usa el protocol ssh.
Como lo funciona:
1) Abre una nueva ventana de Konqueror
2) Entra en la barra de dirección: sftp://username@ssh-server.com
Ejemplo 1:
sftp://sidux1@remote_hostname_or_ip (Nota: Una ventana emergente abre, que pide su clave ssh, entrar y pinchar en OK)
Ejemplo 2:
sftp://username:password@remote_hostname_or_ip
(En este formulario NO se ve una ventana emergente pidiendo una clase, sino será directamente conectado.)
Para un ambiente LAN
sftp://username@10.x.x.x or 198.x.x.x.x (Nota: Un menú emergente pide el clave ssh, entrarlo y darle click en OK)
La conexión KonquerorSSH GUI ahora esta inicializado. Con este ventana de Konqueror, puede trabajar con archivos (copiar/ver) que están en el servidor SSH como si fueran archivos en un directorio en su máquina local.
NOTA: Si tiene el puerto ssh configurado para usar otro puerto, que el preseleccionada 22, necesitar specificar el puerto que sftp/fish es de usar:
sftp://user@ip:port
'user@ip:port' es sintaxis estándar para muchos programas como: sftp, smb, y fish
SSHFS - Montando remotamente
SSFS es una método fácil, rápido y seguro que usa FUSE para montar una sistema remoto de archivos. La única requerimiento del lado del servidor es un deamon ejecutando ssh.
On client side you propably have to install sshfs: installing fuse and groups is not necessary on sidux eros forward as it is installed by default:
En el lado del cliente, probablemente tiene que instalar el sshfs:
apt-get update ó apt-get install sshfs
Ahora, tiene que salir y hacer un login de nuevo.
Montar un sistema remoto de archivos es muy sencillo:
sshfs username@remote_hostname:directory local_mount_point
donde el nombre_usuario es el nombre de la cuenta en el hospedaje remoto:
Si ningún directorio es dado, el directorio home del usuario remoto será montado Atención:los dos puntos : es esencial aún si ningún directorio es dado!
Después de montar, el directorio remoto tratarlo como cualquier otro sistema de archivos local, puede revisar archivos, editarlo y correr scripts sobre ellos, justamente como puede hacer en una sistema de archivos local.
Si deseas desmontar el hospedaje remoto, usa el comando siguiente:
fusermount -u local_mount_point
Si usa el sshfs frecuentemente, será un buena selección de agregarle en el /etc/fstab:
username@remote_hostname:/remote_directory /local_mount_point fuse.sshfs user,allow_other,uid=1000,gid=1000,noauto 0 0
Este le permite todos los usuarios quienes son parte del grupo fuse, de montar los archivos usando el bien conocido comando mount:
mount /path/to/mount/point
Con esta línea en el fstab también puede usar el comando umount:
umount /path/to/mount/point
Para verificar si esta miembro del grupo o no, usa el comando siguiente:
cat /etc/group | grep fuse
Debe ver algo como esto:
fuse:x:117: <username>
Si el nombre_usuario suyo no esta listada, usa el comando adduser como root:
adduser <username> fuse
Ahora su nombre de usuario debe ser listado y debe ser posible ejecutar el comando:
Nota: El "id" no será mostrada en una listada del grupo "fuse", hasta que salir y vuelve hacer el login, de nuevo.
mount local_mount_point
y
umount local_mount_point

