Teoría sobre servizos de acceso remoto e administración remota
Sumario
- 1 Introducción
- 2 Telnet
- 3 SSH
- 3.1 Instalación de cliente SSH
- 3.2 Configuración
- 3.3 Uso de cliente en modo texto
- 3.4 Uso de clientes en modo gráfico
- 3.5 Instalación do servidor SSH el linux
- 3.6 Arranque, parada e reinicio do servizo en linux
- 3.7 Configuración do servizo en linux
- 3.8 Autenticación de usuarios
- 3.9 Monitorización e logs
- 3.10 Túneles SSH
- 3.11 Transferencia segura de archivos usando SSH (sftp y scp)
- 3.12 Instalación do servidor SSH en Windows
- 3.13 Arranque e parada do servizo en Windows
- 4 Protocolo RDP (Remote Desktop Protocol)
- 5 VNC
- 6 NX
- 7 Ampliación
Introducción
Telnet
Telnet é un protocolo de rede (Telecommunication Network) que serve para conectarse a unha máquina dunha rede desde outra para manexala remotamente.
É un protocolo cliente-servidor que se comunica polo porto 23. Está especificado no RFC 854 e os seus parámetros de configuración van do 855 ó 861.
Cando facemos un telnet a uhna máquina (con su nome de dominio ou IP), a máquina remota pidenos o nombre de usuario e contrasinal.
Úsase so en redes locais debido a que as comunicacións non están cifradas; no son seguras e polo tanto podense descifrar con cualquera programa de sniffer.
Opciones telnet
?: mostrar axuda. close: pechar sesión Telnet. display: mostrar a configuración da conexión en pantalla. logout: pechar a sesión. mode: cambia entre os modos de transferencia ASCII e los BINARIOS. open: abre outra conexión. quit: sale da aplicación Telnet. set: cambia a configuración de conexión. unset: carga a configuración de conexión predeterminada.
Instalación
Uso
Exemplos de uso telnet <nombre del dominio> telnet <dirección IP> telnet <dirección IP> <porto>
Sitios públicos con conexión telnet
- [rainmaker.wunderground.com o tempo via telnet!]
- [towel.blinkenlights.nl 23 Star Wars asciimation]
SSH
SSH ou Intérprete de Comandos Seguro é o protocolo que ven a resolver os problemas de seguridade de telnet, xa que si cifra as conexións. Normalmente, o protocolo SSH cifra con chaves dos algoritmos RSA pero pode facelo con chaves e algoritmos DSA (Digital Signature Algorithm). Na actualidade utilízase a versión SSH-2 especificada no RFC 4651 e os seus parámetros que van do RFC 4652 ó 4656.
As características básicas do protocolo SSH son:
- Autenticación: autentificase o usuario mediante nomes de usuario e contrasinais
- Confidencialidade: cifranse as conexións.
- Integridade: se o paquete é alterado polo camiño podese detectar.
- Non repudio: cando se establece esta comunicación non podemos negar quén somos.
Polo tanto:
- Evita interceptación da comunicación e posible captación de contrasinais con programas sniffer.
- Evita a suplantación de host ou Man in The Middle.
- Existen versións para todos os sistemas operativos.
- Permite tunelización para telnet, FTP, SMTP, POP3, etc. Un túnel SSH é o mecanismo mediante o cal se habilita un porto no ordenador e unha conexión encriptada a unha segunda máquina de xeito que todos os datos que vaian por ese porto pasarán por unha conexión segura
- Permite a compresión de los paquetes.
O funcionamiento del SSH:
- Comeza cando o cliente abre unha conexión TCP no porto 22.
- Servidor e cliente negocian a versión de SSH, o tipo de cifrado (RSA/DSA) e demáis opcións
- O servidor envía a súa chave pública ó cliente.
- O cliente comparaa coa lista de chaves que ten. Se é a primeira vez, o usuario deberá indicar se é válida ou non; este é o único momento no que se pode suplantar a este equipo, e para evitarlo teremos acceso as chaves en man ou desde intranet.
• O cliente xenera unha clave de sesión aleatoria que é enviada ó servidor dentro dun paquete cifrado co algoritmo seleccionado e a chave pública. • A partir de este intre a comunicación basease no algoritmo simétrico de encriptación seleccionado.
Instalación de cliente SSH
Cliente SSH apt-get install openssh-client
Configuración
Os parámetros básicos de configuración atopanse en
~/.ssh/config ou /etc/ssh/ssh_config
Algunha das opcións máis relevantes:
Host *|127.0.0.1|nombre-dominio: restrinxe a qué servidores podemos conectarnos; o comodín asterisco (*) permite conectarnos a todos Port 22|otro: porto que podemos cambiar Protocol 2|1: versión do protocolo SSH Compression no|yes: activa o desactiva a compresión
Os parámetros de control e autenticación anteriores podense configurar desde o terminal coa orden ssh:
ssh [–o orden parámetro] [usuario@]nombre-host
Por exemplo ssh –o Compression no root@127.0.0.1
Uso de cliente en modo texto
ssh [-p puerto] [usuario@]ip_del_servidor
Exemplos ssh –p 22 admin@127.0.0.1 ssh root@127.0.0.1
Uso de clientes en modo gráfico
Con ferramentas coma Putty, WinSCP ou Openssh.
Instalación do servidor SSH el linux
Servidor SSH sudo apt-get install ssh ou apt-get install openssh-server
Arranque, parada e reinicio do servizo en linux
#/etc/init.d/ssh start #/etc/init.d/ssh stop #/etc/init.d/ssh restart
Configuración do servizo en linux
Pódese facer a través de webmin ou modificando o ficheiro:
etc/ssh/sshd_config
Algunhas opcións coinciden coas do cliente. Outras relevantes:
PermitRootLogin yes|no: permite conectarse a la máquina remota como superusuario (root). ListenAddress 0.0.0.0: direccións IP que escucha. 0.0.0.0 é todo internet con IPv4; :: é todo internet con IPv6.
Autenticación de usuarios
Las claves de usuario están en los archivos: ssh_host_rsa_key, ssh_host_ rsa_key.pub, ssh_host_dsa_key y ssh_host_rsa_key.pub. En el servidor, el archivo ssh/autho rized_keys tiene las claves de los usuarios permitidos, que siempre serán un subconjunto de los usuarios locales del servidor. En Windows debemos crear los usuarios, para ello desde la carpeta \bin utilizamos la orden mkpassd: mkpassd –l [–u usuario] >> ..\etc\passwd
Exemplo
mkpassd –l –u xose >> ..\etc\passwd
Monitorización e logs
Dentro da carpeta \var
Túneles SSH
Os túneles encriptan outros protocolos (FTP, SMTP, etc.) e os convirten en seguros ou os centralizan para atravesar a devesa. Podemos crearlo con:
ssh –L puertolocal:servidor:puertoservidor [usuario@]servidor
Exemplo ssh –L 10443:smtp.gmail.com:443 xose@smtp.gmail.com
En PuTTY configúranse na categoría SSH, subcategoría Tunnels
En source port indicamos o porto local En destination indicamos o porto do servidor Pulsamos o botón engadir (add).
Reenvío X11 O reenvío de puertos (port forwarding) é unha característica que permite reenviar portos para mandalos polo puerto seguro SSL. No caso das X11, falamos do sistema gráfico (XTERM), terminal que envía por defecto as comunicacións sen codificar e por iso requírese reenviar a información por outro porto distinto e seguro: o SSH.
Para que funcione debemos ter configurada a negociación de este reenvío:
no archivo sshd_config do servidor coa liña X11FORWARDING a YES no archivo ssh_config do cliente coa liña FORWARDX11 tamén a YES.
Si usamos PuTTY ou Webmin tamén debemos activar esta opción, tanto en clientes como en servidores.
Transferencia segura de archivos usando SSH (sftp y scp)
Cando queremos transferir ficheiros de xeito seguro utilizaremos a orde sftp (existe en todos os sistemas operativos ó instalar o cliente SSH):
sftp [usuario@]servidor
E para copiar ficheiros tamén podemos usar scp:
scp orixe destino
Máis información dos comandos co comando man:
man sftp man scp
Instalación do servidor SSH en Windows
Debemos instalar algunha opción: * OpenSSH * FreeSSHd * WinSSHd * ...
Con Openssh creanse as chaves e os arquivos de configuración en: C:\Archivos de programa\OpenSSH\etc.
Arranque e parada do servizo en Windows
net start opensshd net stop openssh
Tamén pódese facer por interfaz gráfica executando services.msc, e atopando o correspondente servizo.
Protocolo RDP (Remote Desktop Protocol)
Microsoft© Remote Desktop Protocol é un protocolo de escritorio remoto en modo gráfico que permite a administración remota de servidores e clientes Windows desde calquera sistema operativo cliente. Está integrado nas diferentes versións de Windows e comunicase polo porto TCP 3389.
Uso
- Cómo usar Escritorio remoto en W10
- Máis opcións de escritorio remoto en W10
- Escritorio remoto desde linux
VNC
VNC ou programa de Computación en Red Virtual é outro programa de administración remota en modo gráfico e de código libre.
O servidor utiliza o puerto 5900 Os clientes de Windows o puerto 5800 Os de Linux e Mac OSol terminal que non estén usando (por exemplo, se solo temos activado un terminal, o seguiente pode acceder desde o puerto
5801; se tenemos activados catro debemos conectarnos polo porto 5804, etc.)
As características más importantes de VNC son:
- Permite crear pantallas virtuais en Linux y Mac OS, pero solo puede compartir a pantalla actual en Windows
- En algunhas versións pode compartir a pantalla con varios clientes á vez
- Permite codificación IDEA de ata 128 bits para encriptar e RSA de ata 2048 bits para autenticar
- Permite compartir impresoras, FTP seguro, chat seguro, ...
Clientes VNC
Existen distintas versións de clientes VNC (RealVNC, TightVNC, UltraVNC,etc.) que están diseñadas para todos os sistemas operativos.
RealVNC é un destes programas que poderemos baixar e serve para todos os sistemas operativos. Desde Linux podemos bajarnos el paquete vncviewer. O cliente RealVNC pidenos o Server (nome ou IP), e en opcións podemos elixir número de cores, pantalla completa, etc.
Desde Linux podemos usar: #vncviewer IP
Servidores VNC
Instalación en linux:
# apt-get install vncserver
Sobre a icona VNC podemos:
- ADD NEW CLIENT: engadir novos clientes
- DISCONNECT CLIENTS: desconectar os clientes.
- CLOSE VNC SERVER: parar o servidor.
- OPTIONS: modificar as opcións básicas (contrasinais, portos, se se visualiza o escritorio ou a opción "por defecto", etc.
Como mínimo debemos entrar en VNC PASSWORD AUTHENTICATION y poñer un contrasinal.
NX
A tecnología NX é outro tipo de administración remota que permite conexions X11 sobre SSH moi rápidas a servidores con diferentes sistemas operativos incluso con conexiones con pouco ancho de banda. NX é código propietario e funciona polos portos 5000 e 22
Uso
Ampliación
- O RFC 4716 detalla a encriptación de chave pública
- O RFC 4344 describe varios tipos de encriptación