Exercici SSH

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

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.


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:

  1. Navega amb el nautilus pels fitxers del servidor.
  2. Utilitza la comanda "scp" per transferir arxius del host al servidor i viceversa.
  3. 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.

  1. Puja una carpeta amb fotos o documents (amb scp o amb el nautilus).
  2. Utilitza rsync per descarregar-la de nou al client en una nova carpeta anomeada "BACKUP".
  3. 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"):
    1. que els arxius es copiin al "backup" amb la mateixa data de creació que l'original.
    2. que a l'executar-se apareguin per la consola els arxius que s'estan descarregant.
    3. 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.