Quiero proteger nuestro servidor WAPT, accesible en Internet, mediante autenticación de certificado de cliente.
Creo que seguí la documentación https://www.wapt.fr/fr/doc/wapt-securit...ation.htmlLo cual, por cierto, no es del todo coherente con los archivos nginx generados por la versión 1.8.2.7334. Tras añadir la línea "include /etc/nginx/certificate-auth.conf;" donde lo considere necesario, puedo ejecutar "wapt-get update", pero al iniciar e intentar la autenticación en la consola, se devuelve un error 401. En el servidor WAPT, en los registros de nginx, tengo:
xxxx - administrador [07/dic/2020:17:19:37 +0100] "POST /api/v3/login HTTP/1.0" 401 195 "-" "waptconsole/1.8.2.7334"
Mi archivo de configuración de nginx es el siguiente:
Código: Seleccionar todo
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name _;
ssl_certificate "/opt/wapt/waptserver/ssl/cert.pem";
ssl_certificate_key "/opt/wapt/waptserver/ssl/key.pem";
ssl_protocols TLSv1.2;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_stapling on;
ssl_stapling_verify on;
ssl_session_cache none;
ssl_session_tickets off;
ssl_client_certificate "/opt/wapt/conf/ca-wapt.public.geovar.net.crt";
ssl_verify_client optional;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_http_version 1.0;
gzip_disable "msie6";
gzip_types text/plain text/css application/json;
gzip_vary on;
index index.html;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# be sure these headers are not forwarded
proxy_set_header X-Ssl-Client-Dn "";
proxy_set_header X-Ssl-Authenticated "";
client_max_body_size 4096m;
client_body_timeout 1800;
location /static {
alias "/opt/wapt/waptserver/static";
}
location /ssl {
alias "/var/www/ssl";
}
location ~ ^/(wapt/waptsetup-tis.exe|wapt/waptagent.exe|wapt/waptdeploy.exe|sync.json|rules.json)$ {
add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
add_header Pragma "no-cache";
include /etc/nginx/certificate-auth.conf;
root "/var/www";
}
location ~ ^/(wapt/.*|waptwua/.*|wapt-diff-repos/.*)$ {
add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
add_header Pragma "no-cache";
include /etc/nginx/certificate-auth.conf;
root "/var/www";
}
location ~ ^/(wapt-host/.*)$ {
log_not_found off;
add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
add_header Pragma "no-cache";
include /etc/nginx/certificate-auth.conf;
root "/var/www";
}
location / {
add_header Cache-Control "store, no-cache, must-revalidate, post-check=0, pre-check=0";
add_header Pragma "no-cache";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 4096m;
client_body_timeout 1800;
location /add_host_kerberos {
return 403;
}
location /wapt-host/Packages {
return 403;
}
location / {
add_header X-Forwarded-List $http_x_forwarded_for;
add_header X-Remote-IP $remote_addr;
include /etc/nginx/certificate-auth.conf;
proxy_pass http://127.0.0.1:8080;
}
location /socket.io {
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
include /etc/nginx/certificate-auth.conf;
proxy_pass http://127.0.0.1:8080/socket.io;
}
}
}
}
Gracias por su invaluable ayuda.
