Activitats

Creació d'un entorn de treball i connectivitat bàsica Telnet i SSH

L’objectiu d’aquesta activitat és crear un entorn de treball amb màquines virtuals i comprovar en aquest entorn la connectivitat bàsica remota mitjançant Telnet i SSH. Aquest entorn de treball ens servirà per desenvolupar la resta d’activitats.

Les passes per crear l’entorn de treball de màquines virtuals recomanat són les següents:

  • Muntar un servidor virtual Debian anomenat ioc-Server. Aquest servidor tindrà connectivitat amb l’exterior mitjançant el servei NAT integrat que proveeix VirtualBox.
  • Muntar un client virtual Debian anomenat ioc-Client. Aquest màquina estarà connectada al servidor mitjançant una xarxa interna constituint una intranet sense sortida a l’exterior.
  • Opcionalment es pot muntar un segon client virtual Windows 7 connectat a aquesta mateixa xarxa interna per si es volen fer proves de connexió i administració remota amb sistemes heterogenis.

Una vegada aquesta xarxa virtual estigui operativa es demana instal·lar i provar la connectivitat remota bàsica, executant ordres de consola al servidor (ioc-Server) des de la màquina remota (ioc-Client) mitjançant:

  • Connexió Telnet
  • Connexió segura SSH

Primer hem de preparar l’entorn de treball:

  • Es crea i instal·la una màquina virtual Debian en configuració de xarxa NAT anomenada ioc-Server. Per defecte, el DHCP integrat de VirtualBox assignarà a aquesta màquina la configuració d’IP següent:

root@ioc-Server:~# ifconfig

  1. eth1 Link encap:Ethernet HWaddr 08:00:27:90:b2:76
  2. inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
  3. inet6 addr: fe80::a00:27ff:fe90:b276/64 Scope:Link
  4. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  5. RX packets:937 errors:0 dropped:0 overruns:0 frame:0
  6. TX packets:998 errors:0 dropped:0 overruns:0 carrier:0
  7. collisions:0 txqueuelen:1000
  8. RX bytes:512104 (500.1 KiB) TX bytes:181214 (176.9 KiB)
  • Abans de continuar comproveu la connectivitat amb l’exterior, per exemple accedint a Internet amb el navegador.
  • Afegirem ara a aquesta màquina virtual ioc-Server una segona targeta de xarxa, però aquesta vegada configurada com a xarxa interna.
  • En engegar de nou l’equip reconeixerà un segon adaptador de xarxa que haurem de configurar manualment amb IP fixa, ja sigui editant manualment l’arxiu /etc/network/interfaces, mitjançant l’aplicació network-manager o l’alternativa wicd. Podem donar-li una IP del tipus 192.168.56.10.
  • Crearem i instal·larem una segona màquina virtual Debian (ioc-Client), que actuarà de client amb només una targeta de xarxa configurada com a xarxa interna i una IP fixa del mateix rang que eth2 al servidor (per exemple, 192.168.56.11).
  • Opcionalment completarem la xarxa interna amb una màquina virtual on instal·larem un sistema operatiu Windows 7 (ioc-w7) per si es vol fer proves d’administració remota amb sistemes heterogenis.
  • Abans de continuar comproveu la connectivitat de la intranet mitjançant pings entre les màquines.

L’objectiu és aconseguir una estructura de xarxa semblant a la de la figura:

Figura

Ara comprovarem la connectivitat remota bàsica.

  • Obriu les màquines virtuals que fan de servidor (ioc-Server) i client remot (ioc-Client).
  • Comproveu la connectivitat de la intranet fent un ping al servidor des del client.
jmunoz@ioc-Client:~$ ping 192.168.56.10
PING 192.168.56.10 (192.168.56.10) 56(84) bytes of data.
64 bytes from 192.168.56.10: icmp_req=1 ttl=64 time=0.325 ms
64 bytes from 192.168.56.10: icmp_req=2 ttl=64 time=0.341 ms
^C
  • Pressuposem que ja estan instal·lats al servidor i al client els programes Telnet i openSSH. Si no és així procediu a instal·lar-los segons s’indica als apunts.
  • Obriu una sessió Telnet al servidor amb un usuari/contrasenya vàlids i comproveu que podeu executar ordres:
jmunoz@ioc-Client:~$ telnet 192.168.56.10
Trying 192.168.56.10...
Connected to 192.168.56.10.
Escape character is '^]'.
Debian GNU/Linux 6.0
ioc-Server login: jmunoz
Password: 
Last login: Wed Dec 21 11:39:15 CET 2011 from ioc-Client.local on pts/0
Linux ioc-Server 2.6.32-5-686 #1 SMP Mon Oct 3 04:15:24 UTC 2011 i686
You have new mail.
jmunoz@ioc-Server:~$ ls
Baixades Escriptori mbox Plantilles Vídeos
Documents Imatges Música Públic webmin_1.570_all.deb 
  • Sortiu de la sessió Telnet:
jmunoz@ioc-Server:~$ exit
logout
Connection to 192.168.56.10 closed.
jmunoz@ioc-Client:
  • Ara proveu la connexió remota segura SSH:
jmunoz@ioc-Client:~$ ssh root@192.168.56.10
root@192.168.56.10's password: 
Linux ioc-Server 2.6.32-5-686 #1 SMP Mon Oct 3 04:15:24 UTC 2011 i686
Last login: Wed Dec 28 11:49:53 2011
root@ioc-Server:~# ls
Baixades Escriptori informes Plantilles Vídeos
Documents Imatges Música Públic xorg.conf.new
root@ioc-Server:~# 

Restricció d'accés al servei SSH

L’objectiu d’aquesta activitat és conèixer les accions preventives i de seguretat pel que fa a l’accés al servei SSH.

Es demana configurar el servidor SSH perquè:

  • Només hi puguin accedir per SSH els usuaris Josep i Anna.
  • Només s’hi pugui accedir des de l’equip 192.168.56.15.

Per restringir l’accés remot via SSH a uns usuaris determinats haurem d’editar com a superusuari (root) l’arxiu de configuració /etc/ssh/sshd_config:

  1. $ sudo gedit /etc/ssh/sshd_config

i afegir la línia:

  1. #Línia a afegir en l'arxiu /etc/ssh/sshd_config
  2. AllowUsers Josep Anna

D’altra banda, per gestionar l’accés en funció de la IP dels equips hem d’editar els arxius de control d’accés a serveis /etc/hosts.allow i /etc/hosts.deny. En aquest cas, a /etc/host.deny hi afegim la línia següent per denegar l’accés a qualsevol equip no autoritzat:

  1. #Línia a afegir en /etc/hosts.deny per denegar qualsevol accés no autoritzat expressament
  2. sshd: ALL

A /etc/host.allow hi afegim la línia següent per definir específicament els equips que hi poden accedir:

#Línia a afegir a /etc/hosts.allow per permetre l'accés a un determinat equip.
sshd: 192.168.56.15

Recordeu que perquè els canvis tinguin efecte s’ha de reiniciar el servei:

  1. $ sudo /etc/init.d/ssh restart

Accés a Internet mitjançant un servidor intermedi i túnels SSH

En la configuració de la intranet que hem dissenyat, l’ordinador ioc-Client pertany a la intranet i no té accés a Internet. L’objectiu d’aquesta activitat és crear un túnel SSH per connectar-nos a un servidor i navegar per pàgines web fent servir la connexió a Internet del servidor. Volem fer-ho mitjançant dues tècniques:

  • La transparència de xarxa
  • El redreçament dinàmic de ports: servidor SOCKS

La primera opció permet executar el navegador directament al servidor i, mitjançant el túnel SSH i la transparència de xarxa, que el resultat es visualitzi al servidor X de l’ordinador client.

  • Primer cal que ens assegurem que tenim iniciat el servei SSH al servidor:
/etc/init.d/ssh start
  • També hem de comprovar que el servidor SSH té activat el redreçament del protocol gràfic X11, és a dir que haurà de tenir el paràmetre següent activat en una línia de l’arxiu de configuració /etc/ssh/ssh_config:
// Activació del redreçament X en /etc/ssh/sshd_config
X11Forwarding yes
  • Ara podem anar a la màquina client, establir la sessió remota i iniciar el navegador amb l’ordre:
ssh -X 192.168.56.10 firefox

L’opció mitjançant la configuració d’un servidor SOCKS té un enfocament totalment diferent, ja que el navegador s’executa efectivament en l’ordinador client, i mitjançant el redreçament dinàmic de ports les peticions HTTP són enviades per un canal segur al servidor.

  • Primer establirem el túnel per fer el redreçament dinàmic dels port locals:
ssh -D 1080 -p22 -Nf 192.168.56.10
  • Configurarem el navegador Firefox perquè utilitzi com a servidor intermediari (proxy) el servidor SOCKS establert a la mateixa màquina (localhost) escoltant el port 1080. Per fer això heu d’anar a Edita > Preferències > Avançat, seleccionar la pestanya Xarxa i prémer el botó Paràmetres.

Figura

  • Ara el navegador ja utilitza el túnel SSH i quan es fa una connexió a Internet des de l’equip local les peticions HTTP són redreçades al servidor.

Assistència remota

Una de les aplicacions més útils de la connectivitat remota és la possibilitat de monitoritzar i actuar sobre escriptoris remots per donar així suport i orientació a distància a l’usuari. L’objectiu d’aquesta activitat és establir una connexió de suport remot tot aprofitant les eines que incorpora el gestor de finestres GNOME: el servidor d’escriptori remot i el client multiprotocol Remmina.

Les darreres versions de Debian ja incorporen per defecte en l’entorn d’escriptori GNOME les eines necessàries per establir una connexió per suport remot. En aquesta activitat, donarem suport des de la màquina ioc-Server a un usuari que treballa a la màquina ioc-Client tot seguint els passos següents:

  • Primer configurarem la màquina client (ioc-Client) perquè accepti connexions remotes aSistema > Preferències > Escriptori remot.
  • Una possible configuració podria ser la indicada a continuació:

Figura

  • Ara, a ioc-Server iniciarem una sessió del client Remmina, que trobarem a Aplicacions > Internet > Remmina remote desktop client. Aquí podrem definir una nova connexió (menú Edit > new), en aquest cas anomenada Suport remot, on configurarem:
  • Tipus de protocol (VNC).
  • Servidor VNC. En aquest cas correspon a la màquina que volem controlar: ios-Client (192.168.56.11).
  • Usuari i contrasenya.
  • Profunditat de color i qualitat de la imatge. Recordeu que el VNC treballa amb el protocol RFB, que envia la informació dels píxels que conformen la imatge de memòria gràfica. Depenent de la qualitat d’imatge es penalitzarà més o menys la velocitat de transmissió.

Figura

  • Un cop guardat aquest perfil ja podem establir la comunicació, i si no heu deshabilitat la confirmació, a la màquina ioc-Client hi apareixerà una finestra d’autorització com la següent:

Figura

  • A partir d’aquest moment la màquina ioc-Server visualitza i pren el control de l’escriptori de la màquina ioc-Client:

Figura

Inici de sessió remota segura via TightVNC

Amb la plataforma VNC no només podem visualitzar i prendre el control d’un escriptori remot, sinó que podem iniciar una sessió remota independent. L’objectiu d’aquesta activitat és iniciar una sessió remota VNC amb la seguretat d’un túnel SSH.

En aquest cas volem obrir una sessió nova al servidor ioc-Server des de un ordenador remot, ioc-Client. Primer de tot ens hem d’assegurar que el servei VNC està en marxa en el servidor.

  • En cas de que no el tingueu, instal·leu el servei TightVNC:
apt-get install tightvncserver
  • Inicieu el servei VNC al terminal 1, amb algunes opcions com ara la resolució i la profunditat de color.
vncserver :1 -geometry 1024x768 -depth 16
  • Ara ja podem iniciar una sessió des d’ioc-Client. Podem fer servir qualsevol client VNC, però és molt més pràctic tornar a fer servir Remmina.
  • En aquest cas, com que volem una connexió segura, en l’edició del perfil de connexió hem de configurar la pestanya SSHper habilitar el túnel tal com es mostra a la figura:

Figura

  • Aneu en compte en indicar l’adreça del servidor, ja que heu de concretar el número de terminal, en aquest cas l’1:

Figura

  • En iniciar la connexió que acabem de configurar, anomenada Sessió segura, ens demana la contrasenya d’autenticació d’SSH i s’obre una sessió remota al servidor ioc-Server.

Figura

Anar a la pàgina anterior:
Serveis d'accés i administració remota
Anar a la pàgina següent:
Exercicis