Sistemes Telemàtics

STI-2

GNU/Linux

Serveis i clients   FTP , SSH i HTTP

11/11/11

DOCUMENTACIÓ

1- Els serveis i clients FTP i SSH.

a) Servei FTP (File Transfer Protocol): Servei de nivell d'aplicació de la família de protocols TCP/IP. Quan posen en marxa un servei FTP, ens podren connectar a l'ordinador servidor des d'un altre ordinador que executi un programa client FTP. Un usuari que utilitzi un client FTP des del seu ordinador, es pot connectar a un ordinador remot que tingui en marxa el servei FTP, i llavors, per mitjà del programa client, podrà transferir fitxers que es trobin a l'ordinador servidor remot cap el seu ordinador, o enviar fitxers que es troben al seu ordinador cap l'ordinador servidor remot. O sigui, és un protocol que permet transferir fitxers entre dos ordinadors.

b) Servei SSH (Secure SHell) : Servei de nivell d'aplicació de la família de protocols TCP/IP. Quan posen en marxa un servei SSH, ens podren connectar a l'ordinador servidor des d'un altre ordinador que executi un programa client SSH. Un usuari que utilitzi un client SSH des del seu ordinador, es pot connectar a un ordinador remot que tingui en marxa el servei SSH, i llavors, per mitjà del programa client, podrà executar ordres del sistema operatiu de l'ordinador servidor remot, o executar programes que es trobin dins de l'ordinador servidor remot. És a dir, tindrà una consola en el seu ordinador, i dins d'aquesta consola es trobarà amb l'interpret de línia d'ordres de l'ordinador servidor, de manera que podrà escriure ordres del sistema o cridar a programes, però, aquestes ordres del sistema o programes no s'executaran sobre el propi ordinador, sino que s'executaran en el servidor. Dins de la consola, el propi ordinador només serà una pantalla i un teclat, i les ordres escrites, s'executaran sobre l'ordinador servidor remot.
Entre les divereses prestacions del protocol SSH una d'especialment important, és la que proporciona encriptació de les dades transmesses i també del login i password, amb la qual cosa, el fa un mètode recomanable per proporcionar accés a un ordinador remot quan treballem amb canals de transferència d'informació sense seguretat (com per exemple Internet). SSH proporciona un canal de comunicació segur entre client i servidor, encara que els canal de comunicació entre els dos ordinador no siguin segurs, gràcies a diversos mecanismes entre els quals estan l'encriptació de dades i el sistema d'autentificació.

2- Programes clients de FTP i SSH
a) Client FTP --> Programa gftp-gtk: Es pot instal.lar des del Gestor de paquets Synapatic. Demanarà el login, password d'un usuari de l'ordinador al qual ens volem connectar, i la seva adreça IP o nom, i el port pel qual escolta el servidor.

A l'esquerra tenim l'arbre de directoris del nostre ordinador, i a la dreta, l'arbre de directoris del servidor. Amb les fletxes del mig, podem transferir dades d'un ordinador a l'altre.

b) Client SSH --> Programa ssh
: Es pot instal.lar des del
Gestor de paquets Synapatic.  Si volem realitzar una connexió a un ordinador servidor, hem de saber el seu nom o adreça IP, port, i el nostre login i password dins de l'ordinador remot. Suposem que som l'usuari joanbs amb password fgjfgifi de l'ordinador 172.16.250.80. Per connectar-nos, executarem:

jbenets@kh10:~> ssh -l joanbs 172.16.250.80 (Si no posem res, és el port 22)
joanbs@172.16.250.80's password:
Last login: Wed Oct 27 13:35:45 2004 from kh10.etpc.net
Have a lot of fun...
joanbs@mh23:~> (això ja és l'interpret de comandes de l'ordinador remot)

Per sortir del servidor farem servir l'ordre logout:

joanbs@mh23:~> logout
Connection to 172.16.250.80 closed.
jbenets@kh10:~> (tornem a l'interpret de comandes de l'ordinador local)

Si és el primer cop que es connectem, podem trobar-nos amb això:

jbenets@kh10:~> ssh -l joanbs 172.16.250.80
The authenticity of host '172.16.258.80 (172.16.0.47)' can't be established.
RSA key fingerprint is fd:70:9a:e6:64:b3:c5:94:8a:7d:0c:a9:af:ff:c3:f3.
Are you sure you want to continue connecting (yes/no)? yes <--- això ho posen nosaltres.
Warning: Permanently added '172.16.0.47' (RSA) to the list of known hosts.

No cal preocupar-se, forma part del procés d'autentificació. Ho farà només el primer cop, i de seguida sortirà:

joanbs@172.16.250.80's password:

3- Servidor ssh (secure shell)
Es pot instal.lar des del Gestor de paquets Synapatic. El servidor ssh permet connectar un usuari que treballa en una màquina local a una altra màquina remota, i executar comandes en la màquina remota. A més a més encripta les comunicacions entre els dos ordinadors.

El programa que proporciona aquest servei es diu sshd i es troba a /usr/sbin.  Per iniciar el servidor ssh hem d'executat: service ssh start.
Si volem aturar el servidor ssh, només hem d'executar: service ssh  stop. Si volem reiniciar el servidor ssh (per exemple, després d'haver modificat un dels seu arxius de configuració) només hem d'executar: service ssh  restart.

Els arxius de configuració del servidor ssh es troben a /etc/ssh, essent especialment important el fixer sshd_config. És important el paràmetre Port per poder canviar el número de port del servidor.

4- Servidor FTP
Un servidor ftp permet connectar un usuari que treballa en una màquina client local a una altra màquina servidora remota, i descarregar o fitxers que es troben en la màquina servidora remota cap a l'ordinador client local, o pujar fitxers des de l'ordinador clinet local cap a la màquina servidora remota.

Pots trobar un servidor FTP dins del paquet de software
vsftp (very secure ftp) que es pot instal.lar des del Gestor de paquets Synapatic. Un cop instal·lat aquest paquet, tindrem un programa servidor que es dirà vsftpd i es trobarà a /usr/sbin.

Per iniciar el servidor ssh hem d'executat: service vsftpd start. Si volem aturar el servidor ssh, només hem d'executar: service vsftpd stop. Si volem reiniciar el servidor ssh (per exemple, després d'haver modificat un dels seu arxius de configuració) només hem d'executar: service vsftpd  restart.

L'arxiu de configuració del servidor FTP es troba a /etc/vsftpd.conf.

5- El servidor apache
Es pot intal.lar des del  Gestor de paquets Synapatic. Els programes, directoris i fitxers important són:
a)
Programa /etc/init.d/apache2 --> Programa de control, al qual podem cridar amb l'ordre service.
b)
Programa /usr/sbin/apache2 --> Programa servidor.
c) Directori /etc/apache2 --> Directori dels arxius de configuració.
d) Directori /var/www --> Directori on es desen les pàgines webs principals del servidor.
e) El fitxer index.html --> Pàgina per defecte del servidor. Es troba dins del directori /srv/www/htdocs.

5.1-Per aturar,  posar en marxa i reiniciar el servidor executarem:

a) Si volem posar en marxa el servidor, executarem l'ordre: service apache2  start
b)
Si volem aturar-lo, executarem l'ordre: service apache2  stop
c)
Si volem reiniciar el servei després de modificar un arxiu de configuració, executarem l'ordre: service apache2  restart

5.2- Comprovant el funcionament del servidor
a)
Cea un fitxer de nom index.html (si existeix, canvia el nom de l'original per index.html.old)dins del directori
/var/www amb el següent codi HTML:
<html>
    <body>
        <h1>
            Aix&ograve funciona !!!!!
        </h1>
    </body>
</html>

b) Connectat amb el teu navegador a la teva adreça IP escrivint  http://La_Teva_Adreça_IP/ i comprova que surt la pàgina que has creat abans.

5.3- Canviant la configuració del port per defecte amb el fitxer /etc/apache2/listen.conf

a) Fes una còpia de seguretat de /etc/apache2/ports.conf amb el nom /etc/apache2/ports.conf.old.

b) Obre el fitxer  /etc/apache2/ports.conf i canvia el paràmetre Listen 80 (línia 9):

Exemple  -->  Listen 45000     ==>  Volem treballar amb el port 45000

c) Fes una còpia de seguretat de /etc/apache2/sites-enabled/000-default amb el nom /etc/apache2/sites-enabled/000-default.old.

d) Obre el fitxer  /etc/apache2/sites-enabled/000-default i canvia el paràmetre <VirtualHost *:80>

Exemple  --> <VirtualHost *:45000>   ==> Volem treballar amb el port 45000 (Ha de coincidir amb el valor del paràmetre Listen escrit a l'apartat  b).

e) Reinicia el servei i connectat  a la teva adreça IP escrivint  http://La_Teva_Adreça_IP:45000/ i comprova que surt la pàgina que has creat abans.


PRÀCTICA

0-Instal.la gftp-gtk, el servidor apache, ssh i vsftpd, i el client ssh.
1-Posa en marxa els servidors SSH, FTP i Apache. Comprova per quins ports escolten.
2- Fes una còpia de seguretat de /etc/ssh/sshd_config amb el nom
/etc/ssh/sshd_config.old, de /etc/vsftpd.conf amb el nom /etc/vsftpd.conf.old, de /etc/apache2/ports.conf  amb el nom /etc/apache2/ports.conf.old, i de de /etc/apache2/sites-enabled/000-default amb el nom /etc/apache2/sites-enabled/000-default.old
3- Esborra tot el contingut del fitxer /etc/vsftpd.conf i escriu això:
########NO MODIFIQUEU###################
dirmessage_enable=YES
nopriv_user=ftpsecure
pam_service_name=vsftpd
local_umask=000
write_enable=YES
listen=YES
#########MODIFIQUEU##################
local_enable=YES  #Permet als usuaris del sistema connectar-se via FTP
listen_port=21 #Port del servidor
4-
-Escriu el següent codi HTML dins del fitxer de nom index.html que es troba a /var/www
<HTML>
    <HEAD>
        <TITLE>Prova amb un FORM</TITLE>
    </HEAD>
    <BODY>
        <H1>Introdueix les dades</H1>
        <BR><HR>
        <FORM METHOD="POST" ACTION="http://localhost/cgi-bin/script.pl">
        <UL>
            <LI>Nom: <INPUT TYPE="text" NAME=nom SIZE=20>
            <LI>Edat: <INPUT TYPE="text" NAME=edat SIZE=2>
            <LI>Email: <INPUT TYPE="text" NAME=email SIZE=20>
            <LI>Aficionat de:
            <SELECT NAME="equip">
                <OPTION SELECTED> F.C. Barcelona
                <OPTION> Manchester United
                <OPTION> Juventus
                <OPTION> Boca Juniors
                <OPTION> River Plate
            </SELECT>
        </UL>
        <INPUT TYPE="submit" VALUE="Ok">
        <INPUT TYPE="reset" VALUE="Borrar"><BR>
        </FORM>
        <HR>
    </BODY>
</HTML>

5- Configura el servidors FTP perquè escolti pel por 2121, el servidor SSH perquè escolti perl port 2222 i el servidor de pàgines web perquè escolti pel port 8080. Reincia els serveis i comprova que escolten pels ports demanats.
6- Per avaluar a classe:
a) Posa en marxa el teu servidor FTP amb les condicions demanades, de manera que em pugui connectar des del meu ordinador.
b)
Posa en marxa el teu servidor SSH amb les condicions demanades,de manera que em pugui connectar des del meu ordinador.
c)
Posa en marxa el teu servidor Apache amb les condicions demanades,de manera que em pugui connectar des del meu ordinador.
d) Connectat al servidor FTP d'un company com usuari etpclot i envia un fitxer del teu ordinador a l'escriptori. Comprova l'estat de les connexions.
e) Connectat al servidor SSH d'un company com usuari etpclot, i fes un llistat dels fitxers i directoris de /home/etpclot de l'ordinador al qual t'has connectat.
Comprova l'estat de les connexions.
f) Connectat al servidor Web d'un company i visualitza la seva web.Comprova l'estat de les connexions.