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