Table des matières

config :

wifi ssh

Install NGINX et autres

 sudo apt install mariadb-server mariadb-client

sudo mysql_secure_installation

 sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd

Point d'accès

Certificat SSL auto-signé : Openssl

 sudo apt-get install openssl

Après openssl est installé, vous pouvez générer le certificat avec la commande suivante:

 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx.key -out /etc/ssl/certs/nginx.crt

Diffie-Hellman

Parfaite confidentialité secrète, qui génère des clés de session éphémères. Ce n'est pas entièrement nécessaire pour les communications internes.

 sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

Configurer Nginx pour utiliser votre clé privée et votre certificat SSL

 sudo nano /etc/nginx/snippets/self-signed.conf
 ssl_certificate /etc/ssl/certs/nginx.crt;
 ssl_certificate_key /etc/ssl/private/nginx.key;
 
 ssl_protocols TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
 
 ssl_session_timeout 10m;
 ssl_session_cache shared:SSL:10m;

HTTP Strict Transport Security =⇒ nécessiterait une redirection permanente de HTTP vers HTTPS, vous devez donc vérifier que SSL fonctionne avant de l'activer.

Maintenant, modifiez votre configuration principale de nginx (généralement située à /etc/nginx/nginx.conf pour des sites uniques ou sous votre nom de domaine /etc/nginx/sites-available pour les serveurs multisites) et source l'extrait de code:

 server {
  listen 443 ssl;
  listen (::):443 ssl;
  include snippets/self-signed.conf;
  server_name example.com www.example.com;
  . . .
 }
 ssl_session_tickets off;
 ssl_stapling on;
 ssl_stapling_verify on;
 resolver 8.8.8.8 8.8.4.4 valid=300s;
 resolver_timeout 5s;
 add_header X-Frame-Options DENY;
 add_header X-Content-Type-Options nosniff;
 add_header X-XSS-Protection "1; mode=block";
 ssl_dhparam /etc/nginx/dhparam.pem;
 ssl_ecdh_curve secp384r1;

redirection de HTTP vers HTTPS

 server {
  listen 80;
  listen (::):80;
  server_name example.com www.example.com;
  return 302 https://$server_name$request_uri;
 }
 sudo service nginx restart