Table des matières

Nginx

Activer HSTS

Insérer dans /etc/nginx/nginx.conf :

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Configuration HTTPS

Ciphers utilisés par défauts par Nginx :

Utilisation uniquement des ciphers de haut niveau (avec clés supérieures à 128bits) avec exclusion du MD5 et des ciphers n'apportant pas d'authentification.
ssl_ciphers HIGH:!aNULL:!MD5;

Détail des ciphers OpenSSL : https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html

HTTP Basic Authentication

Doc pour mettre en place la basic authentication : https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/

Ne pas mettre directement le fichier .htpasswd à la racine du /home/user mais dans un sous-dossier (ex : /home/user/etc/.htpasswd)

Penser à faire un systemctl reload nginx après ajout ou modification du fichier .htpasswd

Configuration reverse proxy docker

server {
    listen 80;
    server_name example.org;
    return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  server_name example.org;
  ssl_certificate /etc/ssl/example.org.pem;
  ssl_certificate_key /etc/ssl/example.org.pem;

  location / {
    proxy_pass  http://127.0.0.1:8080;
  }
}