bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


apache_dnie

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
Ultima revisió Ambdós costats nova versio
apache_dnie [2024/03/06 12:19]
enric_mieza_sanchez [Resolució client amb Ubuntu 22.04]
apache_dnie [2024/03/07 08:56]
enric_mieza_sanchez [Configurar el servidor]
Línia 42: Línia 42:
  
 ==== Resolució client en Windows ==== ==== Resolució client en Windows ====
-Per a Windows l'executable descarregat a la web de la DGP realitza aquestes passes més o menys automàticament si no hi ha cap error.+Per a Windows l'executable descarregat a la web del DNIe realitza aquestes passes més o menys automàticament si no hi ha cap error. 
 + 
 +<WRAP download> 
 +[[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1100|Àrea de descàrregues a la pàgina oficial del DNIe]] per als diferents SO. 
 +</WRAP> 
  
 \\ \\
Línia 69: Línia 74:
  
  
-==== Navegador i certificats DNIe  ====+=== Navegador i certificats DNIe ===
 Caldrà que tinguem la màquina client i el navegador configurats adientment per poder utilitzar el DNIe: Caldrà que tinguem la màquina client i el navegador configurats adientment per poder utilitzar el DNIe:
  
Línia 86: Línia 91:
 </code> </code>
   - Comprova que tens instal·lat el certificat local del DNI anant als certificats del //browser// comprovant que teniu instal·lat el certificat de la "DIRECCION GENERAL DE LA POLICIA -> AC DNIE". Si no hi és, importa'l clicant "Importa" i carrega l'arxiu:<code>/usr/share/libpkcs11-dnie/AC RAIZ DNIE 2.crt</code>   - Comprova que tens instal·lat el certificat local del DNI anant als certificats del //browser// comprovant que teniu instal·lat el certificat de la "DIRECCION GENERAL DE LA POLICIA -> AC DNIE". Si no hi és, importa'l clicant "Importa" i carrega l'arxiu:<code>/usr/share/libpkcs11-dnie/AC RAIZ DNIE 2.crt</code>
- 
-Per a Windows l'executable realitza aquestes passes més o menys automàticament si no hi ha cap error. Als altres SO caldrà assegurar-se que les 3 passes estan fetes correctament. 
  
 <WRAP tip> <WRAP tip>
Línia 94: Línia 97:
   * [[https://dnie.ieti.cat|Site dnie.ieti.cat]] on hem implementat exactament la pràctica que es proposa aquí.   * [[https://dnie.ieti.cat|Site dnie.ieti.cat]] on hem implementat exactament la pràctica que es proposa aquí.
 </WRAP> </WRAP>
- 
  
 \\ \\
Línia 132: Línia 134:
   - Assignar-li una IP convenient (potser la que té ja us serveix).   - Assignar-li una IP convenient (potser la que té ja us serveix).
   - Instal·lar Apache2 i PHP.   - Instal·lar Apache2 i PHP.
-  - Activar mod_ssl d'Apache.+  - Activar //mod_ssl// d'Apache. 
 +  - Activar la //site// ''default-ssl.conf''
  
 <tabbox Versió Cloud> <tabbox Versió Cloud>
Línia 160: Línia 163:
 \\ \\
  
-===== Configurant Apache =====+==== Documentació oficial (obsoleta!) per a Apache ====
  
-Aquí s'explica força bé la [[https://www.openlogic.com/blog/mutual-authentication-using-apache-and-web-client|doble autenticació mútua entre servidor i client]].+Aquí s'explica la [[https://www.openlogic.com/blog/mutual-authentication-using-apache-and-web-client|doble autenticació mútua entre servidor i client]].
  
-<WRAP download> +En aquesta documentació de INTECO disposem d'una guia per configurar Apache amb els certificats necessaris per al DNIe, tot i que caldran algunes modificacions i actualitzacions:
-Necessitem [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_077|descarregar els certificats arrel de l'Autoritat de Certificació (AC) del DNIe]] i configurar l'accés amb la directiva ''SSLCACertificateFile''+
-</WRAP> +
- +
-En aquesta documentació de INTECO disposem d'una guia per configurar Apache amb els certificats necessaris per al DNIe, tot i que caldran algunes modificacions i actualitzacions:+
   - [[https://docplayer.es/3217884-Dia-2-taller-autenticacion-web-con-dnie.html|Taller INTECO PDF online]].   - [[https://docplayer.es/3217884-Dia-2-taller-autenticacion-web-con-dnie.html|Taller INTECO PDF online]].
   - {{dia_2_taller_autenticación_web_con_dnie.pdf}} descarrega't el PDF de bytes.cat.   - {{dia_2_taller_autenticación_web_con_dnie.pdf}} descarrega't el PDF de bytes.cat.
  
 <WRAP important> <WRAP important>
-ULL: aquesta configuració és obsoleta. Veure més avall l'actualitzada. Ho deixem com a documentació de les fonts.+**ULL: aquesta configuració és obsoleta. Veure més avall l'actualitzada**. Ho deixem com a documentació de les fonts. 
 +</WRAP>
  
 El què es proposa a la documentació del DNIe és el què segueix. El què es proposa a la documentació del DNIe és el què segueix.
Línia 195: Línia 195:
 </Directory> </Directory>
 </file> </file>
-</WRAP> 
  
  
Línia 207: Línia 206:
 Canvis que cal fer: Canvis que cal fer:
   - Treure la ''SSLCACertificateFile'' del nivell de ''Directory'' i posar-ho al nivell de ''VirtualHost''. Apache ara no admet diferents certificats per directori (només un per VirtualHost).   - Treure la ''SSLCACertificateFile'' del nivell de ''Directory'' i posar-ho al nivell de ''VirtualHost''. Apache ara no admet diferents certificats per directori (només un per VirtualHost).
-  - Canviar el ''SSLCACertificateFile'' per ''SSLCACertificatePath'' ja que ens és més còmode per incloure tots els certificats de la carpeta, incloent els certificats de FNMT, idCat i d'altres. 
   - Canviar el ''Directory'' per ''Location'' , tal i com recomana fer-ho Apache2. Per exemple, creeu una zona reservada a ''Location /zona-privada''.   - Canviar el ''Directory'' per ''Location'' , tal i com recomana fer-ho Apache2. Per exemple, creeu una zona reservada a ''Location /zona-privada''.
   - Pujar ''SSLOptions'' i ''Options'' també a nivell de VirtualHost (tot i que això no és imprescindible).   - Pujar ''SSLOptions'' i ''Options'' també a nivell de VirtualHost (tot i que això no és imprescindible).
 +
 +\\
  
 ==== Troubleshooting ==== ==== Troubleshooting ====
Línia 224: Línia 224:
 Recorda que per configurar [[Apache2 en Debian Ubuntu]] hem de situar l'arxiu .conf a la carpeta ''sites-available'' i habilitar la //site// amb ''a2ensite''. Recorda que per configurar [[Apache2 en Debian Ubuntu]] hem de situar l'arxiu .conf a la carpeta ''sites-available'' i habilitar la //site// amb ''a2ensite''.
  
-Els certificats vàlids estaran a la carpeta ''/etc/ssl/certs''El certificat de CA de la FNMT ja hi és per defecte, però no el del DNIePer tantel copiem per tal d'habilitar-ho:+Els certificats vàlids estan a la carpeta ''/etc/ssl/certs'', en //symbolic links//És interessant destacar que afegir l'arxiu a la carpeta i emprar la directiva ''[[https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcacertificatepath|SSLCACertificatePath]]'' no funcionaràa la documentació s'explica que cal seguir un //symbolic link// amb un format de hash concret.
  
-  $ wget https://www.dnielectronico.es/ZIP/ACRAIZ-DNIE2.zip +<WRAP download> 
-  $ unzip ACRAIZ-DNIE2.zip +Necessitem [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_077|descarregar els certificats arrel de l'Autoritat de Certificació (AC) del DNIe]] i configurar l'accés amb la directiva ''SSLCACertificateFile''
-  $ sudo cp "AC RAIZ DNIE 2.crt" /etc/ssl/certs+</WRAP>
  
-Finalment, la configuració d'Apache ens quedarà com segueix.+La configuració que emprarem serà mitjançant l'arxiu ''/etc/ssl/certs/ca-certificates.crt'', on estan tots els certificats concatenats seguidament, i amb la directiva ''[[https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcacertificatefile|SSLCACertificateFile]]''. El certificat de CA de la FNMT ja hi és per defecte, però no el del DNIe. Per tant, el descarreguem, descomprimim i annexem a ''ca-certificates.crt'' per tal d'habilitar-ho: 
 + 
 +  # cd /etc/ssl/certs 
 +  # wget https://www.dnielectronico.es/ZIP/ACRAIZ-DNIE2.zip 
 +  # unzip ACRAIZ-DNIE2.zip 
 +  # cat "AC RAIZ DNIE 2.crt" >> /etc/ssl/certs/ca-certificates.crt 
 + 
 +Fixeu-vos que l'arxiu de certificats el configurem amb la directiva: 
 +  SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt 
 + 
 +<WRAP tip> 
 +Finalment, la configuració d'Apache per a validació del DNIe ens quedarà com segueix.
  
 <file apache dnie.conf> <file apache dnie.conf>
Línia 252: Línia 263:
         SSLProtocol -all +TLSv1.2         SSLProtocol -all +TLSv1.2
  
-        # Carpeta amb tots els certificats (cal copiar-hi el "AC RAIZ DNIE 2.crt"+        # Arxiu amb tots els certificats (cal afegir-hi el "AC RAIZ DNIE 2.crt"
-        SSLCACertificatePath /etc/ssl/certs/+        SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
  
         # Exportar contenido de certificados (para poder usarlos con PHP)         # Exportar contenido de certificados (para poder usarlos con PHP)
Línia 279: Línia 290:
 </IfModule> </IfModule>
 </file> </file>
 +</WRAP>
  
 \\ \\
  
-===== Accedint a les dades del certificat amb PHP ====+==== Accedint a les dades del certificat amb PHP ====
 Abans de fer el codi, recordeu que cal instal·lar PHP al servidor: Abans de fer el codi, recordeu que cal instal·lar PHP al servidor:
   $ sudo apt install libapache2-mod-php   $ sudo apt install libapache2-mod-php
Línia 319: Línia 331:
 \\ \\
  
-===== Comprovació de revocació OCSP =====+==== Comprovació de revocació OCSP ====
 Amb la comprovació OCSP el què fem és consultar la base de dades de la pròpia CA (autoritat certificadora, la seu del DNIe) per comprovar que el certificat que ens arriba no hagi estat revocat. És una important passa de seguretat. Amb la comprovació OCSP el què fem és consultar la base de dades de la pròpia CA (autoritat certificadora, la seu del DNIe) per comprovar que el certificat que ens arriba no hagi estat revocat. És una important passa de seguretat.
  
Línia 334: Línia 346:
  
  
-===== Altres certificats =====+==== Altres certificats ====
 Perquè ens funcioni amb diversos tipus de certificats com idCAT, hisenda, etc. podem fer servir l'arxiu amb tots els certificats agrupats que porta Apache, al qual afegirem el del DNIe, que per defecte no ve inclòs. Perquè ens funcioni amb diversos tipus de certificats com idCAT, hisenda, etc. podem fer servir l'arxiu amb tots els certificats agrupats que porta Apache, al qual afegirem el del DNIe, que per defecte no ve inclòs.
  
apache_dnie.txt · Darrera modificació: 2024/03/13 08:17 per enric_mieza_sanchez