Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:securite_sysadmin [2017/09/23 15:05] – [Module ssl] zatalyz | fr:securite_sysadmin [2023/06/21 08:30] (Version actuelle) – Transfert des infos sur une page dédiée zatalyz | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Cet article s' | Cet article s' | ||
- | <WRAP center round help 60%> | + | <WRAP center round info 60%> |
- | Ce serait pas mal de faire un vrai bon tour d' | + | Voir aussi |
- | + | * [[fr: | |
- | --- //[[wiki:user: | + | |
+ | * [[fr:consignes_securite_sysadmins]] | ||
</ | </ | ||
+ | |||
Ligne 107: | Ligne 109: | ||
==== HTTPS ==== | ==== HTTPS ==== | ||
- | Sauf cas très particulier, | + | Sauf cas très particulier, |
Donc on configure bien son https. Voir [[fr: | Donc on configure bien son https. Voir [[fr: | ||
==== Apache2 ==== | ==== Apache2 ==== | ||
- | [[wpfr> | + | Voir la page dédiée |
- | + | ||
- | Apache a un avantage dans le cas d'une architecture " | + | {{tag> Serveur |
- | + | ||
- | Pour Apache, il y a des modules à activer quoi qu'il arrive : | + | |
- | a2enmod headers ssl | + | |
- | Et dans le cas d' | + | |
- | a2enmod proxy proxy_http | + | |
- | + | ||
- | Pour connaître sa version d' | + | |
- | apache -v | + | |
- | openssl version | + | |
- | + | ||
- | À utiliser sur [[https:// | + | |
- | + | ||
- | Liens utiles : | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | + | ||
- | + | ||
- | === Cacher | + | |
- | En principe nos serveurs sont à jours, hein. Mais en cas d' | + | |
- | + | ||
- | nano / | + | |
- | + | ||
- | < | + | |
- | ServerTokens Prod | + | |
- | ServerSignature Off</ | + | |
- | + | ||
- | service apache2 restart | + | |
- | + | ||
- | À refaire sur chacun de ses serveurs ! | + | |
- | + | ||
- | === Module header === | + | |
- | + | ||
- | Activer les headers dans Apache si ce n'est pas déjà fait : | + | |
- | a2enmod headers | + | |
- | + | ||
- | Puis modifiez le fichier ''/ | + | |
- | + | ||
- | < | + | |
- | # Ce qui suit vient de | + | |
- | # https:// | + | |
- | # controler l' | + | |
- | Header set X-Robots-Tag " | + | |
- | # Evite que le contenu soit interprete differemment que definit dans le mime Type | + | |
- | Header set X-Content-Type-Options nosniff | + | |
- | # Protection contre le clickjacking | + | |
- | Header set X-Frame-Options " | + | |
- | # Protection contre les failles X-XSS | + | |
- | Header set X-XSS-Protection "1; mode=block" | + | |
- | # Faille specifique IE8 | + | |
- | Header set X-Download-Options noopen; | + | |
- | # Interdire l' | + | |
- | Header set X-Permitted-Cross-Domain-Policies none | + | |
- | # Enfin, les CSP permettent de vérifier l' | + | |
- | # CSP, pour eviter de charger des scripts d' | + | |
- | Header set Content-Security-Policy " | + | |
- | </ | + | |
- | + | ||
- | Les explications : | + | |
- | * Header set X-Robots-Tag : http:// | + | |
- | * CSP : https:// | + | |
- | + | ||
- | <WRAP center round info 90%> | + | |
- | Note à propos de CSP : | + | |
- | + | ||
- | Il est difficile de faire marcher les CMS tout en ayant une politique sécurisée sur les CSP. | + | |
- | + | ||
- | L' | + | |
- | Header set Content-Security-Policy " | + | |
- | + | ||
- | En effet, le paramètre '' | + | |
- | </ | + | |
- | <WRAP center round todo 60%> | + | |
- | Travail en cours, on va trouver l' | + | |
- | + | ||
- | Pour le moment, cependant, etherpad bloque un csp de qualité. Même l' | + | |
- | + | ||
- | + | ||
- | === Module ssl === | + | |
- | Activer le module ssl dans Apache si ce n'est pas déjà fait : | + | |
- | a2enmod ssl | + | |
- | + | ||
- | Puis modifiez le fichier ''/ | + | |
- | * Enlever le protocole SSL3 et SSLv2 qui ne sont plus considérés comme sûrs (notez le " | + | |
- | * Interdire la compression d' | + | |
- | * Lister la liste des algorithmes de chiffrement autorisés et interdits | + | |
- | * Imposer de négocier ces protocoles dans l' | + | |
- | * Le dernier morceau concerne OCSP qui accélère un peu les échanges en https, voir aussi [[https:// | + | |
- | < | + | |
- | SSLProtocol all -SSLv2 -SSLv3 | + | |
- | SSLCompression off | + | |
- | SSLCipherSuite ALL:!aNULL: | + | |
- | SSLHonorCipherOrder On | + | |
- | + | ||
- | # OCSP Stapling, only in httpd 2.3.3 and later | + | |
- | SSLUseStapling | + | |
- | SSLStaplingResponderTimeout 5 | + | |
- | SSLStaplingReturnResponderErrors off | + | |
- | SSLStaplingCache | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | Pour la liste '' | + | |
- | + | ||
- | + | ||
- | À partir de la version 2.4.11 d'apache, vous pouvez ajouter dans le fichier ''/ | + | |
- | + | ||
- | < | + | |
- | SSLSessionTickets Off | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | == Explications == | + | |
- | <WRAP center round info 60%> | + | |
- | Ce qui suit est extrait d'une conversation avec TychoBrahe ; j'ai conservé son style fleuri si savoureux. | + | |
- | + | ||
- | --- // | + | |
- | </ | + | |
- | + | ||
- | Une ciphersuite est un ensemble de 4 algorithmes différents, | + | |
- | * 1 pour faire un échange de clés | + | |
- | * 1 pour faire du chiffrement asymétrique | + | |
- | * 1 pour faire du chiffrement symétrique | + | |
- | * 1 pour le contrôle | + | |
- | + | ||
- | Un exemple : DHE-RSA-AES256-SHA256 | + | |
- | * DHE : diffie hellman, c'est l' | + | |
- | * RSA pour l' | + | |
- | * AES avec une clé de 256 bits pour le chiffrement symétrique | + | |
- | * et enfin sha256 pour calculer les empreintes des sommes de contrôle | + | |
- | On pourrait croire qu'il y a 5 algorithmes, | + | |
- | + | ||
- | SSL et TLS permettent d' | + | |
- | + | ||
- | Afin d' | + | |
- | + | ||
- | Le site de Mozilla cite toutes les ciphersuites, | + | |
- | * ALL <- on autorise tout | + | |
- | * !aNULL: | + | |
- | * !LOW: | + | |
- | * !EXP <- ce sont les variantes d' | + | |
- | * !RC4 <- RC4 est un algo de chiffrement symétrique qui a été démoli mais un truc bien grave alors qu'il était très populaire | + | |
- | * !3DES <- pareil, on interdit cette merde | + | |
- | * !MD5 <- celui qui utilise encore md5 pour du checksum crypto est un grand malade | + | |
- | * !PSK <- pareil, une merde de plus de virée | + | |
- | * +HIGH <- et enfin on autorise la famille des cipher suites reconnues comme fortes | + | |
- | Du coup on fait confiance dans les familles définies dans les lib crypto, mais en imposant des restrictions sur certains trucs trop limites pour y être inclus mais qui ont des chances de tout de même s'y retrouver. | + | |
- | + | ||
- | Les librairies ont un outil pour lister les familles, qui liste soit toutes les cipher suites supportées, | + | |
- | openssl ciphers | + | |
- | openssl ciphers HIGH | + | |
- | openssl ciphers ' | + | |
- | + | ||
- | Voir aussi | + | |
- | man 1 ciphers | + | |
- | + | ||
- | === Les fichiers de site-enabled (vhost) === | + | |
- | + | ||
- | Une fois https configuré (let's encrypt lancé, les fichiers ''/ | + | |
- | + | ||
- | Dans le cas d'un pare-feu sur un autre serveur que les serveurs de base, chaque vhost sur le serveur du pare-feu doit contenir ceci : | + | |
- | + | ||
- | < | + | |
- | ServerName sousdomaine.monserveur.net | + | |
- | + | ||
- | # Proxy : permet de renvoyer vers l' | + | |
- | # dans le cas de VM Xen, c'est donc une adresse locale. | + | |
- | ProxyPass / http:// | + | |
- | ProxyPassReverse / http:// | + | |
- | + | ||
- | ProxyRequests off | + | |
- | ProxyPreserveHost on | + | |
- | <Proxy *> | + | |
- | Options FollowSymLinks MultiViews | + | |
- | AllowOverride All | + | |
- | Order allow, | + | |
- | allow from all | + | |
- | </ | + | |
- | + | ||
- | # SSL | + | |
- | SSLEngine on | + | |
- | SSLCertificateFile / | + | |
- | SSLCertificateChainFile / | + | |
- | SSLCertificateKeyFile / | + | |
- | Include / | + | |
- | + | ||
- | # HSTS (mod_headers requis) (15768000 seconds = 6 months)(63072000 = 24 mois) | + | |
- | Header set Strict-Transport-Security " | + | |
- | </ | + | |
- | + | ||
- | HSTS (module Header) permet de déclarer au client directement dans la réponse HTTP qu'il faut communiquer en HTTPS. Cet en-tête permet d' | + | |
- | + | ||
- | + | ||
- | <WRAP center round todo 60%> | + | |
- | < | + | |
- | SSLDHParametersFile / | + | |
- | + | ||
- | Je n'ai sans doute pas tout compris, ou alors ce n'est pas compatible avec ma version d' | + | |
- | + | ||
- | --- // | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | {{tag> Serveur | + |