|
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ò 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.