Exercici 1. VPN's (I): túnel SSH

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Enunciat

Utilitza una màquina amb Ubuntu Desktop (anomenat client) per accedir amb un túnel de port LOCAL ssh al servidor web instal·lat a un altre equip virtual amb ubuntu desktop (anomenat Server). Cal que tinguis instal·lat el servidor web a Server.

Fes el muntatge per a provar el mateix amb un túnel de port REMOT. Per a fer-ho, cal que el servidor ssh estigui muntat a Client i obrir el túnel des de Server (ara volem donar accés invers des del mateix servidor web).

Segueix les indicacions següents per a fer-ho.

Situació inicial

Per aprofitar la infraestructura de casa meu, faré un túnel local per accedir des d'Internet a un servidor web que es troba darrere un Firewall que no permet accés pel port 80 des d'Internet. Aquest firewall només té obert el port 2204 que està mapejat a un servidor SSH que farà d'intermediari entre nosaltres a Internet i el servidor web que es troba a la LAN.

Cas 1. Túnel local

Aquest primer cas ens serveix per a accedir a un servei que es trobi darrere un tallafocs que impedeixi l'accés directe des de la xarxa externa WAN; de manera que fem un by-pass a través d'un servidor SSH intermediari, ja dins la LAN, que té accés directe al formar part de la xarxa interna on es troba el servidor web, en aquest cas. D'aquesta manera, podem accedir al servidor utilitzant una connexió SSH a través d'una xarxa no-confiable com ara Internet: qualsevol espia veuria només una connexió SSH entre els 2 hosts, sense poder saber res més. Aquest cas pràctic podria servir per a afegir una capa de seguretat a un servidor HTTP pla per a xifrar el trànsit HTTP amb una capa SSH que xifri aquest trànsit que, normalment, seria pla (sense encriptar).

Procediment

Aquest primer cas tracta d'obrir una connexió SSH des del client cap al servidor web a través de la màquina intermitja que té habilitat SSH i es permet l'accés a través del port 2204 del firewall. Des de fora de la nostra xarxa local, necessitarem saber la IP pública del nostre router residencial; o bé tenir un servei de DDNS vinculat a un nom de host. Jo utilitzo DuckDNS. Sabent doncs, que el nom de domini que apunta a casa meu és gsola96.duckdns.org, obriré un túnel SSH cap aquest host pel port 2204 i mapejaré el port 9000 del meu Fedora cap al 80 del servidor web de la xarxa interna (192.168.7.230) amb la següent comanda:

ssh -p2204 -N -L 9000:192.168.7.230:80 guillem@gsola96.duckdns.org

Funcionament

Abans d'aixecar el túnel SSH des del nostre port 9000 cap al 2204 del servidor SSH, veiem que no hi ha cap servei web escoltant pel 9000 del nostre equip:

M11UF2EX11.png


Després d'executar la comanda anterior, veiem que al nostre port 9000 hi respon el servidor web de la xarxa local que es troba darrere el Firewall:

M11UF2EX12.png


Cas 2. Túnel remot

Procediment

Funcionament

==