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édenteDernière révisionLes deux révisions suivantes | ||
fr:securite_sysadmin [2018/04/30 16:11] – [Cacher la version d'apache] Rho, c'était pas beau. zatalyz | fr:securite_sysadmin [2021/12/03 19:19] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 173: | Ligne 173: | ||
# Interdire l' | # Interdire l' | ||
Header set X-Permitted-Cross-Domain-Policies none | Header set X-Permitted-Cross-Domain-Policies none | ||
+ | # X-Clacks, ça sert à rien, c'est donc vital. | ||
+ | header set X-Clacks-Overhead "GNU Terry Pratchett" | ||
# Enfin, les CSP permettent de vérifier l' | # Enfin, les CSP permettent de vérifier l' | ||
- | # CSP, pour eviter de charger des scripts d' | + | # CSP, pour eviter de charger des scripts d' |
- | Header set Content-Security-Policy " | + | Header set Content-Security-Policy " |
</ | </ | ||
Les explications : | Les explications : | ||
* Header set X-Robots-Tag : http:// | * Header set X-Robots-Tag : http:// | ||
- | * CSP : https:// | + | * CSP : https:// |
- | <WRAP center round info 90%> | + | == Content Security Policy (CSP) == |
- | Note à propos | + | Les CSP améliorent grandement la sécurité d'une installation, |
- | Il est difficile de faire marcher les CMS tout en ayant une politique sécurisée sur les CSP. | + | Mais il est difficile de faire marcher les CMS tout en ayant une politique sécurisée sur les CSP. |
- | L' | + | Le site de référence est [[https:// |
+ | |||
+ | * Premier cas : pas de politique CSP. Certains CMS permettent aux utilisateurs d' | ||
+ | * Second cas : une politique CSP stricte (paramétrée uniquement sur '' | ||
+ | * Troisième cas : ajouter des règles comme '' | ||
+ | * Quatrième cas : exécuter localement uniquement les scripts validés explicitement. Cela demande de rajouter la variable '' | ||
+ | |||
+ | == Quelques exemples == | ||
+ | |||
+ | L' | ||
Header set Content-Security-Policy " | Header set Content-Security-Policy " | ||
| | ||
- | En effet, le paramètre '' | + | '' |
- | </WRAP> | + | |
- | <WRAP center round todo 60%> | + | Pour onlyoffice, après de nombreuses galères : la solution a été la CSP frame-ancestors pour permettre l' |
- | Travail en cours, on va trouver l' | + | more_set_headers " |
+ | |||
+ | La règle suivante, assez générique, va " | ||
+ | add_header Content-Security-Policy " | ||
- | Pour le moment, cependant, etherpad bloque un csp de qualité. Même l' | ||
Ligne 209: | Ligne 222: | ||
* Le dernier morceau concerne OCSP qui accélère un peu les échanges en https, voir aussi [[https:// | * Le dernier morceau concerne OCSP qui accélère un peu les échanges en https, voir aussi [[https:// | ||
< | < | ||
- | SSLProtocol TLSv1.2 | + | SSLProtocol |
SSLCompression off | SSLCompression off | ||
SSLCipherSuite HIGH: | SSLCipherSuite HIGH: | ||
Ligne 236: | Ligne 249: | ||
Ce qui suit est extrait d'une conversation avec TychoBrahe ; j'ai conservé son style fleuri si savoureux. | Ce qui suit est extrait d'une conversation avec TychoBrahe ; j'ai conservé son style fleuri si savoureux. | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
Ligne 252: | Ligne 265: | ||
On pourrait croire qu'il y a 5 algorithmes, | On pourrait croire qu'il y a 5 algorithmes, | ||
- | SSL et TLS permettent d' | + | SSL et TLS permettent d' |
Afin d' | Afin d' | ||
Ligne 266: | Ligne 279: | ||
* !PSK <- pareil, une merde de plus de virée | * !PSK <- pareil, une merde de plus de virée | ||
* +HIGH <- et enfin on autorise la famille des cipher suites reconnues comme fortes | * +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 | + | |
+ | Du coup on fait confiance dans les familles définies dans les lib crypto, mais en imposant des restrictions sur certains trucs trop limite | ||
Les librairies ont un outil pour lister les familles, qui liste soit toutes les cipher suites supportées, | Les librairies ont un outil pour lister les familles, qui liste soit toutes les cipher suites supportées, | ||
Ligne 276: | Ligne 290: | ||
man 1 ciphers | man 1 ciphers | ||
- | === Les fichiers de site-enabled (vhost) === | + | == L' |
+ | |||
+ | C'est un mécanisme permettant l' | ||
+ | |||
+ | == Le chiffrement a/ | ||
+ | |||
+ | La différence entre le chiffrement symétrique et le chiffrement asymétrique est que dans le premier cas, il n'y a besoin que d'une seule clef, qui permet aussi bien de chiffrer un message que de le déchiffrer. Pour le chiffrement asymétrique, | ||
+ | |||
+ | == Le contrôle == | ||
+ | |||
+ | Afin de vérifier l' | ||
+ | === Les fichiers de sites-enabled (vhost) === | ||
Une fois https configuré (let's encrypt lancé, les fichiers ''/ | Une fois https configuré (let's encrypt lancé, les fichiers ''/ | ||
Ligne 319: | Ligne 344: | ||
Je n'ai sans doute pas tout compris, ou alors ce n'est pas compatible avec ma version d' | Je n'ai sans doute pas tout compris, ou alors ce n'est pas compatible avec ma version d' | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
Ligne 325: | Ligne 350: | ||
Si vous avez une VM (A) qui sert de pare-feu avant de redistribuer le trafic aux autres VM (B) de votre serveur, il y a un petit souci : les VM B croient que tout le trafic vient de l'ip de la VM A. Ce qui pose un gros souci dans le cas où vous avez du spam et que votre CMS favori permet de bannir par IP... si vous bannissez la VM A, plus rien ne passera, même les utilisateurs légitimes. | Si vous avez une VM (A) qui sert de pare-feu avant de redistribuer le trafic aux autres VM (B) de votre serveur, il y a un petit souci : les VM B croient que tout le trafic vient de l'ip de la VM A. Ce qui pose un gros souci dans le cas où vous avez du spam et que votre CMS favori permet de bannir par IP... si vous bannissez la VM A, plus rien ne passera, même les utilisateurs légitimes. | ||
- | Il faut donc activer le transfert des IP sur les VMs destinataires (pas toucher au pare-feu, ce n'est pas là que ça se joue. | + | Il faut donc activer le transfert des IP sur les VMs destinataires (pas toucher au pare-feu, ce n'est pas là que ça se joue). |
Créer ''/ | Créer ''/ | ||
Ligne 331: | Ligne 356: | ||
RemoteIPHeader X-Forwarded-For | RemoteIPHeader X-Forwarded-For | ||
RemoteIPInternalProxy 192.168.20.35 | RemoteIPInternalProxy 192.168.20.35 | ||
- | |||
</ | </ | ||
+ | |||
Remplacer '' | Remplacer '' | ||
Ligne 338: | Ligne 363: | ||
a2enmod remoteip | a2enmod remoteip | ||
a2enconf remoteip | a2enconf remoteip | ||
- | service apache2 restart | + | |
Cela devrait marcher. À répeter sur chaque VM du réseau. | Cela devrait marcher. À répeter sur chaque VM du réseau. | ||
- | {{tag> Serveur | + | === Virer les traqueurs de Facebook === |
+ | Si vos liens se baladent sur Facebook, vos visiteurs vont visiter vos pages avec un tracker collé à l'url, du type '' | ||
+ | |||
+ | On se fait un petit fichier appelé " | ||
+ | < | ||
+ | # Des bidouilles à inclure partout. | ||
+ | |||
+ | # Pour virer le tracker de Facebook | ||
+ | < | ||
+ | RewriteEngine On | ||
+ | RewriteCond %{QUERY_STRING} ^(.*)(?: | ||
+ | RewriteCond %1%2 (^|& | ||
+ | RewriteRule ^(.*) $1?%2 [R=301,L] | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Ensuite on appelle ce fichier dans nos vhost actifs : | ||
+ | < | ||
+ | < | ||
+ | ServerName monsite.fr | ||
+ | |||
+ | # toute configuration utile en rab... | ||
+ | |||
+ | # bidouilles perso | ||
+ | Include / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Relancer apache et voilà, ça marche. | ||
+ | |||
+ | Astuce tirée de [[https:// | ||
+ | {{tag> Serveur |