2daw_m8_uf1_p003_duran_martí

Download 2DAW_M8_UF1_P003_Duran_Martí

If you can't read please download the document

Upload: eslaf-isin-dahaus

Post on 31-Dec-2015

37 views

Category:

Documents


9 download

TRANSCRIPT

Generalitat de CatalunyaDepartament dEnsenyamentInstitut Carles Vallbona

Mdul 8 Desplegament d'aplicacions web

2on CFGS Desenvolupament d'Aplicacions WebCurs:2013/2014

UF1. Pt3

La prctica consisteix en diferents exercicis relacionats amb servidors web, tant en entorn Linux com en entorn Windows.

Aquesta prctica requereix de part dels productes obtinguts amb la realitzaci de la prctica Pt2:

La mquina virtual amb el servidor Ubuntu 12.04, el servidor web apache2 instal.lat i configurat i el servei webmin installat per a administraci grfica remota

La mquina virtual amb el servidor Windows 2008 i el servidor web IIS installat i configurat

La mquina virtual amb el client Windows XP i la utilitat IIS manager instal.lada i configurada, amb accs a l'IIS de la mquina Windows 2008. I accs a administrar el servidor Ubuntu via navegador (via webmin)

Si no s'ha realitzat la Pt2 caldr, almenys, disposar de les mquines virtuals esmentades. La puntuaci de la prctica Pt3 pot baixar si el punt de partida no s l'adequat.

Productes a obtenir:

La mquina virtual amb el servidor Ubuntu 12.04 amb les modificacions realitzades a l'apartat A.

La mquina virtual amb el servidor Windows 2008 amb les modificacions realitzades a l'apartat B.

La mquina virtual amb el client Windows XP amb les modificacions realitzades a l'apartat B.

Documentaci realitzada dels processos indicats en els apartats A i B

Resposta a les preguntes formulades en els apartats A i B

Procs a realitzar:

Fes el que se't demana a continuaci i respon les preguntes que se't fan (apartats A i B)

A- Amb el servidor web en Ubuntu

Exercici previ de ssh

Canvi de permisos al directori /var/www

Installaci i comprovaci de: php5

Activaci del mdul userdir i comprovaci

Utilitzaci de php en userdirs

Configuraci de hosts virtuals

Desactivaci dels indexes

Installaci de certificats SSL

El detall de cada punt s a les pgines segents

Lliurament:

Cal lliurar un sol document per alumne amb les respostes a les preguntes formulades i la documentaci del procs que ha calgut realitzar (cpies de pantalla amb els comentaris adients).IMPORTANT: les pantalles han de mostrar l'escriptori sencer. SENSE RETALLAR!

Es valorar:que el contingut sigui complet

que les respostes siguin encertades i raonades

la claredat en l'exposici

la presentaci

aportacions addicionals si se'n fan i sn escaients

Procs a realitzar. Detalls:

A- Amb el servidor web en Ubuntu

Exercici previ de ssh

a) Connexi de ssh sense usuari i passwordCerca la informaci necessria per a connectar a la mquina Ubuntu server (des de la mquina real o des del client virtual Windows XP, amb un client ssh per a windows) sense utilitzar usuari i password (amb keys) i fes la connexi.

Copia les pantalles on es vegi com has realitzat la connexi i explica:

com generar les claus http://www.redeszone.net/gnu-linux/servidor-ssh-en-ubuntu/Primer de tot haurem d'estar segurs que tenim instalat el ssh a totes dues maquines, l'ubuntu server permet instalar l'openssh durant la instalacio del server aixi que ja podem aprofitar per a instalarlo

D'altra banda la maquina client que utilitzo es un Backbox d'ubuntu el qual porta ja molts serveis com el ssh instalats per defecte. De totes maneres es pot instalar mol facilment amb la comanda apt-get install ssh.Un cop tenim el ssh a totes dues maquines es moment de generar les claus.Primerament a la maquina servidor introduirem la seguent comanda:

ssh-keygen -b 4096 -t rsaAmb aquesta comanda estem generant la clau, ens demanara varies coses com la ruta on guardar-la, la passprhase, podem deixar-ho tot en blanc ja que ens va b la configuraci per defecte.

Tamb podiem haver generat la clau desde el client i enviar-la al servidor pero he decidit que sigui el servidor qui la creii i la envii, per a fer-ho desde el client la comanda seria : sshkeygen i per a enviarla seria: $scp id_rsa.pub [email protected]

on posar-les i com

Un cop hem generat la nostra clau que es troba a marti/.ssh caldr enviarla al client, per aixo usarem la comanda ssh-copy-id [email protected] (Ip client)

Ara haurem de colocar la clau a les carpeta de claus autoritzades que generarem manualment amb mkdir /home/what/.ssh/authorized_keys

Finalment nomes caldra colocar ssh nomdelamaquina@ip i ja podrem entrar sense password ni user.

en qu consisteix l'atac man-in-the-middle http://es.wikipedia.org/wiki/Ataque_Man-in-the-middle

L'atac MITM consisteix en situarse al mig de la xarxa entre dos o mes equips, de tal manera que l'ordinador atacant rep tot el trafic de la xraxa i el redirigeix alla on toca no sense abans haver pogut veure el seu contingut o modificarlo.

com s'evita aquest atac en ssh

Per evitar aquest atac podem realitzar varies accions:No permetre el login remot del root.Limitar els intents de conexio.Limitar les concexions simultanees,Cambiar els portsEngaviar a l'usuari...Bloquejar ip's amb varis intents fallits de login...

b) Execuci remotatroba com executar instruccions remotament sense entrar en mode interactiu: has de poder entrar al servidor, executar-hi una instrucci i sortir-ne i ho has de fer escrivint noms una sola instrucci en el client

Per a fer-ho noms ens cal fer le mateix que hem fet per a conectar, ssh what@192,168,1,47 'comanda a utilitzar 'en el meu cas e fet servir el PWD

troba com executar instruccions de root (que requereixin fer sudo) remotament sense entrar password

A centos ja es fa el login com a root y amb el backbox tamb.

c) Configuraci del servidorCanvia el port que utilitzar el servei (per exemple: per evitar atacs, o per qu hi hagi dos serveis ssh en el mateix servidor). Canvia el port 22 per un altre de lliure (1022, 2222, 22222, )

Per a cambiar el port noms hem d'editar amb el nano mateix el seguent arxiu: sudo nano /etc/ssh/sshd_config , la tercera linia veurem que te el port 22, nomes haurem d substituir alla el port que volguem.

RESPON:a) Quina instrucci haurs d'usar ara per connectar-te?b) Com haurs de fer ara un scp?Per a podermi conectar ara haure d'afegir el port a la comanda de la seguent manera:

scp -P 2222 [email protected] que s'hi pugui connectar l'usuari root

Per a evitar que si coennecti l'usuari root per ejemple, haurem se seguir editant els arxius de configuraci, en aquest cas: sudo nano /etc/ssh/sshd_config i al final del document posar no al login del root

Evita que s'hi pugui connectar un rang d'adreces IP

Per evitar que es pugui conectar un determinat rang d'adreces ip haurem de editar l'arxiu /etc/hosts.deny ,editem la primera linea i posem el seguent sshd:192.168.0.0/192.168.255.255, d'aquesta manera estarem bloquejant tot el rang.Canvi de permisos al directori /var/www

El site default en apache est ubicat a /var/wwwLa pgina d'inici default s index.htmlSi mires els permisos veurs que el directori i els fitxers sn propietat de root i que els usuaris que no sn root ni pertanyen al grup root poden llegir-ne el contingut, per no modificar-lo.

Com que ens pot interessar no treballar com a root, troba la manera de modificar la pgina d'inici i afegir fitxers al directori sense treballar com a root sin amb el teu usuari inicial d'Ubuntu (per entendre'ns li direm usu1, per cadasc el tindr diferent).

Haurs de crear un grup web, fer que l'usuari usu1 hi pertanyi i canviar l'usuari i el grup propietari del directori i, si cal, canviar tamb els seus permisos adequadament (evita posar permisos 777: comprometria greument la seguretat de la web!!)

[Pista: Pots usar les intruccions adduser, addgrup, usermod, chown, chgrp i chmod]

Quan hagis fet els canvis, entra amb el nou usuari, fes modificacions a la web i visualitza el resultat amb el navegador.

Explica detalladament tot el procs (instruccions detallades que has usat) i mostra'n el resultat (com han quedat els permisos: ls -ld /var/www) i inclou cpia de pantalla del navegador.

Per a fer aixo el primer que hem fet a sigut crear l'usuari , afegir, l'usuari al grup web ,i despres anar donant els permisos necesaris, cal destacar que sense donar permisos 755 no funcionaria.

Installaci i comprovaci de: php5

Per a installar la versi 5 del PHP podem usar:sudo apt-get install php5

Quan acabi, haurem de reiniciar l'apache:sudo service apache2 restart

Per a comprovar que est funcionant b, crears un fitxer php1.php dins el site default amb el segent contingut:

Visualitza la pgina al navegador i inclou-ne una cpia de pantalla.

Activaci del mdul userdir i comprovaci

L'apache utilitza mduls que afegeixen funcionalitats al servidor web. Els mduls disponibles sn a /etc/apache2/mods-available. A /etc/apache2/mods-enabled hi ha els mduls activats (sn links simblics al directori anterior). Es poden activar o desactivar amb les instruccions a2enmod i a2dismod respectivament.

[Nota: com es crea un link simblic? Amb la instrucci ln -s fitxer_origen fitxer_dest]

Si utilitzem webmin per a administrar el servidor web, hem d'anar a Servers, Apache Web Server, Global Configuration, Configure Apache Modules i marcar o desmarcar el mdul corresponent.

Concretament, el mdul userdir el que fa s posar a disposici de cada usuari, per exemple usu1, un directori de la forma http://site/~usu1 sempre que existeixi el directori /home/usu1/public_html

Comprova-ho activant el mdul userdir, creant el directori corresponent i accedint via navegador a una pgina dins d'aquest directori.

Recorda documentar-ho detalladament amb cpies de pantalla i les explicacions pertinents.

Primer de tot haurem de crear l'enlla simbolic:

sudo ln -s /etc/apache2/mods-available/userdir* . Sudo a2enmod UserdirSeguidament reiniciem l'apache, i creem el directori public amb mkdir /public_html i li donem els permisos amb chmod 0755El seguent pas sera editar la configuracio del apache amb algun editor, nano vi...I aqu afegim el seguent:#
#
#php_admin_value engine Off
#
#

Finalment tornem a reinciar el apache i editem l'arxiu de prova amb un phpinfo();

Utilitzaci de php en userdirs

Qu passa si volem utilitzar php en els directoris d'usuari (userdirs) vistors al punt anterior?

No podrem ja que no tenen el PHP activat, haurem d'activarlo per a poder-lo usar

Comprova-ho copiant el fitxer php1.php creat abans al directori /home/usu1/public_html i accedint-hi pel navegador. Mostra a la documentaci que has fet la comprovaci.

Per evitar aquest problema cal activar l's de php dins dels userdirs.Caldr que modifiquis el fitxer de configuraci del mdul php5 (dins s'explica qu cal fer). Si no te'n surts, cerca documentaci.

Un cop canviada la configuraci, reinicia el servei i documenta el canvi efectuat i el resultat obtingut. Indica tamb si t'ha calgut cercar informaci i la que has trobat.

No a calgut buscar informaci ja que explica a dins com es fa, cal editar l'arxiu de la configuraci php i comentar o descomentar les linnies que en marca en aquest cas.

Configuraci de hosts virtuals

La manera ms senzilla de crear un host virtual en apache s a travs del webmin.

Per una banda hem de crear el directori arrel del nou site i donar-li els permisos adequats (per entendre'ns: un altre /var/www, amb un fitxer index.html que ser la pgina d'inici del nou site)

Per altra banda, hem de triar un nom de domini per al nou host (per exemple: www.miquel.local). Per tal que s'hi pugui accedir, haurem de tenir un DNS local o, ms fcilment, una entrada al /etc/hosts del client que mapegi aquest nom de domini a la IP del servidor (Si el client s Windows, el fitxer el trobars a %systemdir%\drivers\etc\hosts)Quan a l'apache li arribi una petici per a aquest domini virtual, l'adrear al nou site. Quan, en canvi, la petici arribi directament a l'adrea IP del host o a un altre domini mapejat a la mateixa adrea (www.miquel-default.local, per exemple), l'adrear al site default.

Crea un site virtual que inclogui el teu nom i accedeix-hi des del client pel nom de domini. Associa un altre nom de domini al site default i comprova que pots accedir des d'un client a un site i a l'altre (per veure-ho b les pgines d'inici de cada site hauran de ser diferents).

Comprova que se'ns ha afegit un fitxer a /etc/apache/sites-available i a /etc/apache/sites-enabled.

RESPON: Quin tipus de fitxer s el de sites-enabled?http://www.daboweb.com/foros/index.php?topic=38922.0http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/wiki/Base+de+Conocimiento/Servidor+Web+Apache+en+Ubuntu

Primer de tot haurem de crear el nou directori:sudo mkdir -p/var/www/marti.local/public_htmlEl seguent pas sera donar permisos:Chown -R $marti /var/www/marti.local/public_htmlchmod -R 755/var/wwwEl seguent pas es copiar la carpeta index antiga a la nova direcci, cp /var/www/index.php /var/www/marti.local/public.htmlCreem el nou host:cp /etc/apache2/sites-avaliable/default /etc/apache2/sites-avaliable/marti.publicEditem el nou host i li posem Servername Marti.publicActivem el nou host sudo a2ensite marti.publici reinciem l'apache

Desactivaci dels indexes

L'apache permet visualitzar els fitxers de la web si falta el fitxer index.htmlComprova-ho: canvia el nom de index.html (a index.seg.html, per exemple) i mira qu passa quan accedeixes al site.

Com que aix pot ser un problema important de seguretat, s convenient canviar-ho. Es pot canviar per a tot el site o per a directoris concrets.

En el primer cas, cal modificar el fitxer /etc/apache2/sites-available/nom_del_sit.confSi en canvi, noms volem impedir la visualitzaci dels fitxers d'un determinat directori, cal posar-hi un fitxer .htaccess

Cerca informaci per a fer cadascuna de les modificacions, comprova-ho i documenta-ho adequadament.

Un cop feta la modificaci pertinent, per a fer efectiu el canvi haurs d'executar service apache2 reloadhttp://wildlifedamage.unl.edu/manual/howto/htaccess.htmlhttp://es.wikipedia.org/wiki/Htaccesshttps://support.cdmon.com/entries/24118027-Informaci%C3%B3n-y-usos-del-fichero-htaccessPer a fer-ho amb htAcces, cal creear un fitxer htacces a dins de la carpeta on volguem treballar, si volguesim fer.ho amb tota la web seria evidenment desde l'arrel.Dins del fitxer acces inclourem Options -IndexesInstallaci de certificats SSL

En la pgina segent:

http://www.cacauet.org/alumnes/index.php/Certificats_Autofirmats_amb_Apache2_i_openSSL

hi trobars la informaci necessria sobre els certificats SSL (qu sn, qui els emet, com en podem crear un de propi, )

Utilitza aquesta informaci i tamb, si et cal, la d'aquestes altres pgines:

http://www.akadia.com/services/ssh_test_certificate.htmlhttp://en.wikipedia.org/wiki/Key_size

per a crear un certificat propi i comprova que en accedir via https al servidor et mostra el certificat per a acceptar.

Documenta adequadament tot el procs.

Atenci:Si utilitzes webmin se't pot simplificar el procs d'instal.laci del mdul.

Per a crear un link simblic: ln -s fitxer_origen fitxer_desti

Si tens problemes amb el servei apache2 (quan intenta arrencar es queixa que no reconeix el servidor): haurs de mapejar a /etc/hosts del servidor l'adrea amb un nom de domini i posar-li el mateix nom com a nom de host (instrucci hostname) [Exemple: www.miquel.local]

RESPON:Fins quan es recomana usar (es considera prou segur usar) una clau RSA de 1024 bits? I de 2048 bits?

I de 3072 bits?

http://es.wikipedia.org/wiki/RSAhttp://unaaldia.hispasec.com/2002/05/basta-con-1024-bits.html

Longitud recomendada de la clave pblica RSAAo Ind. Corp. Gob.