Sistemes Telemàtics

STI-2

GNU/Linux

Serveis i clients   FTP , SSH i HTTP

12/01/10

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 YaST. 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 de YaST.  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 de YaST. 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. El programa que permet controlar a sshd posant-lo en marxa, aturant-lo o reiniciant-lo és el programa rcsshd. Així, si volem iniciar el servidor ssh, només hem d'executar: rcsshd  start. Si volem aturar el servidor ssh, només hem d'executar: rcsshd  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: rcsshd  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 vsftp (very secure ftp)
Es pot instal.lar des de YaST. El 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.

Un programa servidor que proporciona aquest servei es diu vsftpd i es troba a /usr/sbin. El programa que permet controlar a vsftpd posant-lo en marxa, aturant-lo o reiniciant-lo és el programa rcvsftpd. Així, si volem iniciar el servidor FTP, només hem d'executar: rcvsftpd  start. Si volem aturar el servidor FTP, només hem d'executar: rcvsftpd  stop. Si volem reiniciar el servidor FTP (per exemple, després d'haver modificat un dels seu arxius de configuració) només hem d'executar: rcvsftpd  restart.

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

5- El servidor apache
Es pot intal.lar des de YaST. Els programes, directoris i fitxers important són:

a)
Programa rcapache2 --> Programa de control.
b)
Programa httpd2-prefoerferk --> Programa servidor.
c) Directori /etc/apache2 --> Directori dels arxius de configuració.
d) Directori /srv/www/htdocs --> 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.
f) Fitxer /etc/apache2/httpd.conf --> Arxius de configuració principal.
g) Altres fitxers de configuració que farem servir a la pràctica: listen.conf.

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

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

5.1- 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
/srv/www/htdocs 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.2- Canviant la configuració del port per defecte amb el fitxer /etc/apache2/listen.conf

a) Obre el fitxer  /etc/apache2/httpd.conf i comprova que a la línia 119:

Include   /etc/apache2/listen.conf

no està comentada.

b) Fes una còpia de seguretat de listen.conf amb el nom listen.conf.old.

c) Obre el fitxer  /etc/apache2/listen.conf i canvia el paràmetre Listen (línia 19) per fer que el servidor escolti pel port desitjat.

Exemple  -->  Listen 45000

d) Desa el fitxer, 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, de /etc/vsftpd.conf amb el nom /etc/vsftpd.conf.old, de /etc/apache2/httpd.conf amb el nom /etc/apache2/httpd.conf.old, i de de /etc/apache2/listen.conf amb el nom /etc/apache2/listen.conf.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 /srv/www/htdocs
<HTML>
    <HEAD>
        <TITLE>Prova amb un FORM</TITLE>
    </HEAD>
    <BODY>
        <H1>Introdueix les dades</H1>
        <BR><HR>
        <FORM METHOD="POST" ACTION="http://172.16.150.242/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 sti2 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 sti2, i fes un llistat dels fitxers i directoris de /home/sti2 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.