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
apache_dnie [2024/03/06 12:21]
enric_mieza_sanchez [Navegador i certificats DNIe]
apache_dnie [2024/03/13 08:17] (actual)
enric_mieza_sanchez [Apache amb DNIe]
Línia 7: Línia 7:
 {{ dnie.png?400 }} {{ dnie.png?400 }}
  
 +Referències i ampliacions:
 +  * [[https://smallstep.com/hello-mtls/doc/server/nginx|Autenticació mútua amb Nginx]]. 
 +
 +<WRAP download>
 Descàrregues: Descàrregues:
   - [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1100|Software client DNIe]].   - [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1100|Software client DNIe]].
   - [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_077|Certificats arrel de la l'autoritat de certificació del DNIe]].   - [[https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_077|Certificats arrel de la l'autoritat de certificació del DNIe]].
 +</WRAP>
  
 {{tag> ciberseguretat apache webserver servidorweb www web http https serveis #FpInfor #Daw #DawMp08 #DawMp08Uf01 #Asix #AsixMp08 #AsixMp08Uf02 #Ciber #CiberMp03 #Ceti #CetiMp03 }} {{tag> ciberseguretat apache webserver servidorweb www web http https serveis #FpInfor #Daw #DawMp08 #DawMp08Uf01 #Asix #AsixMp08 #AsixMp08Uf02 #Ciber #CiberMp03 #Ceti #CetiMp03 }}
Línia 42: Línia 47:
  
 ==== 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 129: Línia 139:
   - 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 157: Línia 168:
 \\ \\
  
-===== 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 192: Línia 200:
 </Directory> </Directory>
 </file> </file>
-</WRAP> 
  
  
Línia 204: Línia 211:
 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 221: Línia 229:
 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 249: Línia 268:
         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 276: Línia 295:
 </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 316: Línia 336:
 \\ \\
  
-===== 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 331: Línia 351:
  
  
-===== 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.1709727670.txt.gz · Darrera modificació: 2024/03/06 12:21 per enric_mieza_sanchez