Diferència entre revisions de la pàgina «Exercici SSH»
(Es crea la pàgina amb «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)…».) |
|||
(Hi ha 10 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
Aquest és un exercici per practicar la configuració d'un OpenSSH. | Aquest és un exercici per practicar la configuració d'un OpenSSH. | ||
+ | |||
+ | Llegeix els articles de teoria: | ||
+ | * [[Encriptació]] | ||
+ | * [[SSH]] | ||
+ | |||
SETUP recomanat: | SETUP recomanat: | ||
− | *Funkyserver (Ubuntu LTS | + | *Funkyserver (Ubuntu LTS) com a servidor. |
− | *Dubidubi (o una Ubuntu amb Desktop) com a client. | + | *Dubidubi (o una Debian/Ubuntu amb Desktop) com a client. |
+ | *: També pots utilitzar la màquina ''host'' com a client, si és Linux. | ||
+ | |||
+ | Pot ser-te útil l'article de [[comandes Linux per xarxes]]. | ||
Línia 11: | Línia 19: | ||
El client (imitant un PC de casa contra un servidor remot) es connectarà al servidor sense contrassenya. | El client (imitant un PC de casa contra un servidor remot) es connectarà al servidor sense contrassenya. | ||
− | Pista: es recomana la | + | Pista: es recomana la documentació oficial de Debian o d'Ubuntu, son molt clares i és un tema tipic. |
INFORME: llista tots els arxius i comandes implicats i explica per a què serveix cadascun. En particular: | 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 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. | * 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. | ||
<br> | <br> | ||
== Part 2 - execució remota == | == Part 2 - execució remota == | ||
− | *Busca la manera d'executar comandes remotament. | + | *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. | *Busca la manera d'executar comandes de superusuari (root) remotament sense entrar contrassenya. | ||
*:Per exemple: engegar o parar un servidor web. | *:Per exemple: engegar o parar un servidor web. | ||
Línia 28: | Línia 37: | ||
== Part 3 - SFTP == | == Part 3 - SFTP == | ||
El SSH també serveix per fer transferència segura de fitxers. Realitza: | El SSH també serveix per fer transferència segura de fitxers. Realitza: | ||
− | #Navega amb el nautilus pels fitxers del servidor. | + | # Navega amb el nautilus pels fitxers del servidor mitjançant el protocol SFTP. |
− | #Utilitza la comanda "scp" per transferir arxius del host al servidor i viceversa. | + | # 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. | + | # Cerca la manera de pujar de cop una carpeta amb subcarpetes i arxius. |
<br> | <br> | ||
Línia 42: | Línia 51: | ||
=== 4.2 - Restriccions per usuari === | === 4.2 - Restriccions per usuari === | ||
− | Restringeix el servidor per tal que l'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 ''sudo'' (en versions anteriors d'Ubuntu és el grup ''admin''). | ||
=== 4.3 - Restriccions per IP === | === 4.3 - Restriccions per IP === | ||
Restringeix el servidor per tal que les màquines de la xarxa interna NO es puguin connectar. | Restringeix el servidor per tal que les màquines de la xarxa interna NO es puguin connectar. | ||
+ | |||
+ | En [http://www.nivindel.com/blog/49-block-brute-force-ssh-attempts.html aquest link] indica diverses maneres de assegurar les connexions SSH. Utilitzeu DenyHosts per restringir per les IPs. | ||
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. | 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. |
Revisió de 19:13, 3 nov 2016
Aquest és un exercici per practicar la configuració d'un OpenSSH.
Llegeix els articles de teoria:
SETUP recomanat:
- Funkyserver (Ubuntu LTS) com a servidor.
- Dubidubi (o una Debian/Ubuntu amb Desktop) com a client.
- També pots utilitzar la màquina host com a client, si és Linux.
Pot ser-te útil l'article de comandes Linux per xarxes.
Contingut
Part 1 - SSH keys[modifica]
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 documentació oficial de Debian o d'Ubuntu, son molt clares i és un tema tipic.
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[modifica]
- 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[modifica]
El SSH també serveix per fer transferència segura de fitxers. Realitza:
- Navega amb el nautilus pels fitxers del servidor mitjançant el protocol SFTP.
- 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[modifica]
4.1 Canvi de port[modifica]
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[modifica]
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 sudo (en versions anteriors d'Ubuntu és el grup admin).
4.3 - Restriccions per IP[modifica]
Restringeix el servidor per tal que les màquines de la xarxa interna NO es puguin connectar.
En aquest link indica diverses maneres de assegurar les connexions SSH. Utilitzeu DenyHosts per restringir per les IPs.
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[modifica]
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[modifica]
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.