Exercici SSH
Aquest és un exercici per practicar la configuració d'un OpenSSH.
SETUP recomanat:
- Funkyserver (Ubuntu LTS 10.04) com a servidor.
- Dubidubi (o una Ubuntu amb Desktop) com a client.
Contingut
Part 1 - SSH keys
Busca un article que expliqui com fer SSH entre 2 màquines sense necessitat de introduïr contrassenya.
El client (imitant un PC de casa contra un servidor remot) es connectarà al servidor sense contrassenya.
Pista: es recomana la web oficial d'Ubuntu, és molt clara.
INFORME: llista tots els arxius i comandes implicats i explica per a què serveix cadascun. En particular:
- Explica quin arxius te les claus públiques i quin les privades en servidor i client.
- Explica què és l'atac "Man in the middle" i explica quin d'aquests fitxers en ajuda per evitar-lo i de quina manera ho fa.
- Simula un atac de "Man in the middle" i mostra el missatge que ens dóna el client.
Part 2 - execució remota
- Busca la manera d'executar comandes remotament sense entrar en mode interactiu. És a dir, has de poder entrar en el servidor, executar la comanda i sortir, escrivint una sola comanda des del client.
- Busca la manera d'executar comandes de superusuari (root) remotament sense entrar contrassenya.
- Per exemple: engegar o parar un servidor web.
Part 3 - SFTP
El SSH també serveix per fer transferència segura de fitxers. Realitza:
- Navega amb el nautilus pels fitxers del servidor.
- Utilitza la comanda "scp" per transferir arxius del host al servidor i viceversa.
- Cerca la manera de pujar de cop una carpeta amb subcarpetes i arxius.
Part 4 - Configuració del servidor
4.1 Canvi de port
Els servidors reben molts atacs i el port 22 és el primer de la llista. Canvia el port del servidor al nº 1022.
- Quina comanda has de fer servir ara per connectar-te?
- Com faràs ara un SCP?
4.2 - Restriccions per usuari
Restringeix el servidor per tal que l'usuari "funky" NO es pugui connectar però sí l'usuari "james" (caldrà crear-lo si no existeix).
Dóna permisos de superusuari a "james" posant-lo al grup "admin".
4.3 - Restriccions per IP
Restringeix el servidor per tal que les màquines de la xarxa interna NO es puguin connectar.
Si no tenies xarxa interna, crea la interfície i configura el client correctament i comprova que fa pings però no connecta per SSH i sí ho deixa fer des de la màquina amfitriona.
Part 5 - rsync
La comanda "rsync" serveix per sincronitzar 2 carpetes remotes. És molt típic utilitzar-la (combinant-la amb el CRON) per realitzar backups de servidors en hores de poca activitat.
- Puja una carpeta amb fotos o documents (amb scp o amb el nautilus).
- Utilitza rsync per descarregar-la de nou al client en una nova carpeta anomeada "BACKUP".
- Estudia la comanda rsync (man rsync) i busca com fer (CONSIDERA FER UN mini-SCRIPT PER MÉS COMODITAT, total tindrà 1 sola línia, es pot dir "do_backup.sh"):
- que els arxius es copiin al "backup" amb la mateixa data de creació que l'original.
- que a l'executar-se apareguin per la consola els arxius que s'estan descarregant.
- que s'exclogui una carpeta. Per exemple, crea una que es diugui "nobackup" (al servidor) i exclou-la quan facis el backup.
Jocs de proves: per provar que rsync ens funciona bé:
- "toca" un arxiu al servidor (comanda "touch") o bé crea un nou arxiu a la carpeta.
- comprova que a l'executar el rsync al client es compleixen les condicions enunciades al punt 3.
INFORME
Explica quins arxius has fet servir per cadascun dels apartats i com els has configurat.
Com sempre, has d'incloure els jocs de proves adient per cada apartat. Ja saps que son molt importants per la nota.
No oblidis de l'apartat 1 (keys) explicar l'atac "Man in the middle" i explicar l'arxiu que ens ajuda a prevenir-lo i com ho fa.