Accedir a un servidor SSL requereix de l’ús de certificats per encriptar i validar la comunicació. Si som fidels debots de la “Virgen del Puño” i volem estalviar-nos uns eurus, podem instal·lar una entitat certificadora de Windows (o pels més debots encara de la “Virgen del Puño Ensangrentao”, fer servir el openssl de Linux), i crear el nostre propi certificat.
Amb això podem tenir un servidor que encripta les comunicacions, però en cap cas estem validant que el servidor amb el que alegrement estem intercanviant les dades sigui el nostre, ja que pot ser un atacant que fa ús d’una eina d’atac man-in-the-middle. Quan accedim al servidor, ens demanarà si creiem que el certificat que se’ns mostra és vàlid. Al dir que si, estem creient cegament que estem accedint al servidor que se’ns diu, però ningú pot assegurar que estem accedint a un atacant que està al mig de la comunicació.
Per si de cas encara algú es pensa que això dels atacs man-in-the-middle es cosa de paranoics retorçats, o que és ciencia ficció, adjunto un link perquè qualsevol persona pugui fer un atac d’aquests amb 3 o 4 clicks del mouse: http://ettercap.sourceforge.net/
Tornem al principi. Si volem posar un servidor SSL a Internet, cal que tinguem un certificat. Aquest certificat cal comprar-lo a una entitat certificadora, que no és més que una empresa amb un cert prestigi que avala la nostra identitat. D’aquesta manera, si algú veu que tenim un certificat d’aquesta empresa, doncs es creurà que no som un atacant, sinó que som un servidor segur per enviar les seves dades.
De empreses que facin d’entitat certificadora n’hi ha moltes. Les més interessants, però, són les que han aconseguit que el Internet Explorer o el Firefox les integrin en el seu interior. Així, a l’accedir al servidor, el navegador ja coneix la CA (entitat certificadora) que ha generat el certificat de servidor, i ja ens reconeix automàticament el servidor com a vàlid, sempre que el nom del certificat coincideixi amb el nom que hem escrit a la barra d’adreces del navegador.
Però hi ha una cosa que cal fer prèviament per posar en marxa el servidor, i mostraré aqui els 4 passos:
- Generar un CSR amb les dades bàsiques per obtenir el certificat: nom, empresa, país, nom dns complet del certificat, i alguna altra dada.
- Enviar el CSR a l’entitat, i aquesta després de validar-ho amb les dades del WHOIS o algun altre requeriment (i cobrar-nos, clar), ens envien el certificat ja generat.
- L’instal·lem en el servidor. Aquest servidor cal que tingui el port 443 (HTTPS) obert cap a Internet. Si és un altre port, pot ser que ens trobem problemes si el client està en una xarxa amb proxy, però sinó funcionarà igual. També es recomanable que no estigui a la xarxa interna, sinó que es trobi en una DMZ. Si algú no sap que és, hi ha un altre article en el bloc que ho comenta.
- En el servidor també cal que mirem si funciona la cadena de certificació. Si la màquina servidora ja reconeix la entitat root (de la llista que porta internament), cal que posem també la CA que ens ha generat el certificat com a Entitat intermèdia. Per això necessitem el certificat de la CA. En el cas de Windows només cal posar “mmc”, afegir el complement de certificats del My Computer, i afegir el certificat on posi entidades emisoras de certificados intermedias. També hem de validar que el certificat del servidor està posat a la part “personal”, i també validarem que la empresa que crea el certificat està posada a la part de Entidades emisoras de certificados raiz de terceros.
En aquest punt ja tenim el servidor operatiu. Ara ens deixarà connectar-nos sense problemes sempre i quan el navegador ja reconegui la entitat certificadora i l’empresa que l’ha generat (seguint la cadena de certificats). Pot passar, en el cas de les PDA sobretot, que el navegador que ens cal no reconegui aquesta entitat, perquè porten menys integrades de sèrie. Aleshores només hem de posar la entitat certificadora previament a la PDA, perquè la reconegui.
Cal recordar que els certificats no són eterns, i per tant caldrà renovar cada any, o cada dos anys el certificat, seguint aquest procés.


