Add: oldiers articles SSL; Fix: delete web tag

master
HUC Stéphane 2020-04-19 17:34:14 +02:00
parent 259adc33d3
commit 5c2db07047
36 changed files with 235 additions and 34 deletions

View File

@ -419,13 +419,13 @@ title = "Stéphane HUC :: IT Log"
pre = ""
url = "/web/sql"
weight = 67
#[[languages.fr.menu.main]]
# identifier = "ssl"
# name = "SSL"
# parent = "web"
# pre = ""
# url = "/web/SSL"
# weight = 68
[[languages.fr.menu.main]]
identifier = "ssl"
name = "SSL"
parent = "web"
pre = ""
url = "/web/SSL"
weight = 68
[[languages.fr.menu.main]]
identifier = "tags"
name = "Tags"

View File

@ -5,7 +5,7 @@ description: "Section relative au protocole HTTP"
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['Web', 'HTTP']
tags: ['HTTP']
---
Informations autour du protocole {{% abbr HTTP "HyperText Transfert Protocol" %}}.

View File

@ -4,7 +4,7 @@ date: 2017-08-16T13:35:25+01:00
description: "Explications sur l'entête HTTP nommée Referrer"
draft: false
lastmod: 2018-10-12T02:46:25+01:00
tags: ["HTTP", "Header", "Referrer"]
tags: ["HTTP", "header", "Referrer"]
---
## Définition

View File

@ -4,7 +4,7 @@ date: 2017-08-16T13:36:25+01:00
description: "Explication sur l'entête HTTP nommée SRI : Subresource Integrity"
draft: false
lastmod: 2018-10-12T02:47:25+01:00
tags: ["HTTP", "Header", "SRI"]
tags: ["HTTP", "header", "SRI"]
---
## Définition

View File

@ -4,7 +4,7 @@ date: 2017-08-16T16:13:25+01:00
description: "Explications sur l'entête HTTP nommée X-Content-Type-Options"
draft: false
lastmod: 2018-10-12T02:48:25+01:00
tags: ["HTTP", "Header", "X Options"]
tags: ["HTTP", "header", "X Options"]
---
## Définition

View File

@ -4,7 +4,7 @@ date: 2017-08-16T13:39:25+01:00
description: "Explications sur l'entête HTTP nommée X-Frame-Options"
draft: false
lastmod: 2018-10-12T02:49:25+01:00
tags: ["HTTP", "Header", "X Options"]
tags: ["HTTP", "header", "X Options"]
---
## Définition

View File

@ -4,7 +4,7 @@ date: 2017-08-16T13:39:25+01:00
description: "Explications sur l'entête HTTP nommée X-XSS-Protection"
draft: false
lastmod: 2018-10-12T02:50:25+01:00
tags: ["HTTP", "Header", "X Options"]
tags: ["HTTP", "header", "X Options"]
---
## Définition

View File

@ -4,7 +4,7 @@ date: 2019-11-09T11:30:10+01:00
description: "Section relative au serveur web httpd d'OpenBSD"
draft: false
noindex: true
tags: ['Web','httpd']
tags: ['httpd']
---
Retrouvez différentes configurations autour du serveur web natif [`httpd(1)`](https://man.openbsd.org/httpd "httpd daemon") sous OpenBSD !

View File

@ -6,7 +6,7 @@ draft: false
include_toc: true
lastmod:
show_comments: false
tags: ["web", "httpd", "openbsd"]
tags: ["httpd", "OpenBSD"]
---
## Description

View File

@ -4,7 +4,7 @@ date: 2019-11-28T23:40:14+01:00
description: "Section relative au Générateur de Site Statique Hugo"
draft: false
noindex: true
tags: ['Web', 'Hugo']
tags: ['Hugo']
---
Articles, astuces autour du générateur de site statique nommé **Hugo**

View File

@ -5,7 +5,7 @@ description: "Section relative à l'installation, la configuration et l'usage de
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['Web', 'Nextcloud']
tags: ['Nextcloud']
---
Informations autour de Nextcloud

View File

@ -3,7 +3,7 @@ title: "Nextcloud : manpage occ"
date: 2019-11-23T21:59:23+01:00
description: "Manpage of occ commander into Nextcloud"
draft: false
tags: ["nextcloud", "occ"]
tags: ["Nextcloud", "occ"]
---
## occ

View File

@ -5,7 +5,7 @@ description: "Section relative à l'installation, la configuration et l'usage de
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['Web', 'nginx']
tags: ['nginx']
---
Informations autour de nginx

View File

@ -3,7 +3,7 @@ title: "Nginx Autoindex (astuce)"
date: 2017-07-27T14:00:35+02:00
description: "Nginx: lister automatiquement l'index d'un répertoire"
draft: false
tags: ["Web", "nginx", "autoindex", "astuce"]
tags: ["nginx", "autoindex", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : bloquer certaines attaques ! (astuce)"
date: 2017-07-27T17:50:20+02:00
description: "Comment bloquer certaines attaques web avec le serveur Nginx"
draft: false
tags: ["Web", "nginx", "block", "astuce"]
tags: ["nginx", "block", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : Bloquer l'exécution de scripts (astuce)"
date: 2017-07-27T14:53:46+02:00
description: "Comment bloquer l'exécution de scripts avec le serveur web nginx"
draft: false
tags: ["Web", "nginx", "block", "astuce"]
tags: ["nginx", "block", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : Bloquer ShellShock (astuce)"
date: 2017-07-27T14:34:16+02:00
description: "Bloquer la faille ShellShock avec le serveur web nginx"
draft: false
tags: ["Web", "nginx", "Shellshock", "Bash", "block", "astuce"]
tags: ["nginx", "Shellshock", "Bash", "block", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : Bloquer 'User Agent' (astuce)"
date: 2017-07-27T14:42:43+02:00
description: "Comment bloquer un agent utilisateur web - (user agent) - avec le serveur web nginx"
draft: false
tags: ["Web", "nginx", "block", "UA", "astuce"]
tags: ["nginx", "block", "UA", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : Erreur 404 ; failed (13: Permission denied)"
date: 2017-07-27T07:11:48+02:00
description: "Comment résoudre l'erreur 404 - error404 - liée à des problèmes de droits sur répertoires et fichiers pour nginx"
draft: false
tags: ["Web", "nginx", "Erreur", "404", "astuce"]
tags: ["nginx", "Erreur", "404", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "Nginx : Erreur 502 Gateway"
date: 2017-07-23T22:39:58+02:00
description: "Comment résoudre cette erreur - error502 - de passerelle sous nginx"
draft: false
tags: ["Web", "nginx", "Erreur", "502", "astuce"]
tags: ["nginx", "Erreur", "502", "astuce"]
---
## Description

View File

@ -5,7 +5,7 @@ description: "Section relative à l'usage de PHP"
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['Web', 'PHP']
tags: ['PHP']
---
Articles autour de PHP

View File

@ -3,7 +3,7 @@ title: "PHP : Composer (sous OpenBSD)"
date: 2019-05-27T17:24:38+02:00
description: "Comment installer configurer PHP Composer sous OpenBSD"
draft: false
tags: ["Web", "PHP", "Composer", "OpenBSD"]
tags: ["PHP", "Composer", "OpenBSD"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "PHP SNMP Cannot adopt OID in *-SNMP-*"
date: 2017-07-23T18:53:13+02:00
description: "Un petit mémo - astuce - pour résoudre l'erreur SNMP 'Cannot adopt OID in' avec PHP"
draft: false
tags: ["Web", "PHP", "SNMP", "Erreur", "astuce"]
tags: ["PHP", "SNMP", "Erreur", "astuce"]
---
## Description

View File

@ -3,7 +3,7 @@ title: "PHP Warning: open_basedir restriction in effect"
date: 2017-07-29T21:42:59+02:00
description: "Résoudre les différentes raisons possibles dont le résultat est l'erreur 'PHP Warning: open_basedir restriction in effect' !"
draft: false
tags: ["Web", "PHP", "Erreur", "open_basedir"]
tags: ["PHP", "Erreur", "open_basedir"]
---
## Description

View File

@ -4,7 +4,7 @@ date: 2017-07-29T21:42:59+02:00
description: "Résoudre l'ensemble d'erreurs liée à 'PHP Warning: Unknown: Unable to create temporary file' !"
draft: false
lastmod: 2017-08-14T14:22:43+02:00
tags: ["Web", "PHP", "Erreur", "Unknown"]
tags: ["PHP", "Erreur", "Unknown"]
---
## Description

View File

@ -5,7 +5,7 @@ description: "Section relative à l'usage de SQL"
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['Web', 'SQL']
tags: ['SQL']
---
Articles autour de SQL

View File

@ -3,7 +3,7 @@ title: "MySQL/MariaDB : 'InnoDB: Cannot open table'"
date: 2017-07-23T18:49:10+02:00
description: "Résoudre l'erreur 'InnoDB: Cannot open table' pour MySQL/MariaDB"
draft: false
tags: ["Web", "SQL", "InnoDB", "Erreur", "astuce"]
tags: ["SQL", "InnoDB", "erreur", "astuce"]
timestamp: 1500835750
---

View File

@ -3,7 +3,7 @@ title: "MySQL/MariaDB : 'InnoDB: Error: log sequence number is in the future'"
date: 2017-07-23T18:50:15+02:00
description: "Résoudre l'erreur 'InnoDB: Error: log sequence number is in the future' dans MySQL/MariaDB"
draft: false
tags: ["Web", "SQL", "Erreur", "astuce"]
tags: ["SQL", "erreur", "astuce"]
timestamp: 1500835815
---

View File

@ -0,0 +1,11 @@
---
title: "Section SSL"
date: 2017-07-23T18:41:14+01:00
description: "Section relative à l'usage de SSL/TLS"
draft: false
lastmod: 2017-08-16T11:30:10+01:00
noindex: true
tags: ['SSL']
---
Articles autour de SSL/TLS

View File

@ -0,0 +1,40 @@
---
title: "HPKP : HTTP Public Key Pinning (header) [dépréciée]"
date: 2017-08-14T01:56:28+02:00
description: "Explications sur la technologie SSL nommée HPKP, liée à la RFC 7469"
draft: false
lastmod: 2017-08-16T12:05:15+02:00
tags: ["SSL", "HPKP", "HTTPS", "header", "obsolète", "RFC", "RFC7469"]
timestamp: 1502680189
---
## Description
{{< note warning >}}
Cette fonctionnalité est dépréciée, car difficile à mettre en place,
sans parler des dangereux effets de bords si mal maîtrisée…
au profit de l'entête `Expect-CT` !
{{</note>}}
Sous ce nom très barbare, **HPKP** se cache une fonctionnalité de sécurité
qui est censée protéger les sites internet contre le vol de leur identité.
Cette technique protège les certificats SSL par l'ajout de clés publiques
d'authentification adressées au client web. Si les clés ne correspondent pas,
le client web doit interdire purement et simplement l'accès au site internet
en question.
C'est une technique très complexe à implémenter car il faut gérer correctement
ces clés, les latences entre les différentes clés, celles utilisées, celles
de sauvegarde. Elle est recommandée uniquement pour les sites dits à haut risque.
## Documentations
* En savoir plus : https://developer.mozilla.org/fr/docs/Web/Security/Public_Key_Pinning
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Public-Key-Pins-Report-Only
* Basée sur la [RFC 7469](https://tools.ietf.org/html/rfc7469) !
* Outils : https://scotthelme.co.uk/hpkp-toolset/
* Support actuel : http://caniuse.com/#search=hpkp
---

View File

@ -0,0 +1,86 @@
---
title: "HSTS : HTTP Strict Transport Security (header)"
date: 2017-08-14T03:09:49+02:00
description: "Comprendre l'entête de sécurité HSTS"
draft: false
tags: ["SSL", "HSTS", "HTTPS", "header", "RFC", "RFC6797"]
timestamp: 1502680189
---
## Description
Sous ce nom barbare qu'est **HSTS** se cache une technique assez simple
à mettre-en-œuvre et au bénéfice intéressant.
Cette technologie demande au client web de se connecter uniquement au
protocole HTTPS, même si le serveur web permet la connexion sur le port
associé au protocole HTTP. <br>
Cette technique transparente pour le client impose que toutes les connexions
se font obligatoirement sur le port associé au protocole HTTPS,
généralement le port 443.
Par contre, cette technique est très restrictive car elle empêche que le
client web puisse contourner le protocole, en gérant finement les erreurs
liées ; la finalité étant d'avertir le client des dysfonctionnements possibles.
*Techniquement, c'est une entête HTTP !*
C'est la première entête HTTPS à mettre en place, facile à gérer et nativement
gérée par beaucoup de serveurs web !
### Options
Il y a trois options, dont une absolument nécessaire !
* `max-age` définit la durée dans le temps pendant laquelle le client
web est obligé à être redirigée. Cette durée, en nombre de secondes,
doit être minimale de six mois, et maximale de deux ans. **C'est l'option
par défaut à implémenter !**
* `includeSubDomains` : cette directive oblige le client à traiter tous
les sous-domaines relatifs à un nom de domaine à être eux aussi résolu en HTTPS !
* `preload` : cette directive permet à votre domaine d'être géré par
la [liste de préchargement HSTS](https://hstspreload.org), après soumission.
Elle a pour propos d'empêcher certaines attaques mais n'est vraiment
recommandé que pour les sites dits sensibles. Si vous vous êtes soumis
à ladite liste, il est impératif que l'option ''includeSubDomains'' soit gérée !
{{< note warning >}}
L'usage de l'option `includeSubDomains` semble vraiment importante à
paramétrer sur votre nom de domaine principal. Celle-ci empêcherait une
[attaque par détournement de DNS](https://scotthelme.co.uk/hsts-polish-dns-hijacking-attack/),
qui consiste à faire croire en l'usage d'un sous-domaine pour capturer
le trafic d'un client web et en prendre le contrôle. Du fait du rôle de
cette option, tout sous-domaine "déclaré" se voit obliger de communiquer
en HTTPS, en vérifiant les certificats, la relation avec le nom de domaine
principal et de sous-domaines et en interrogeant l'autorité de contrôle.
{{</note>}}
## Exemples
`Strict-Transport-Security: max-age=63072000` :
Ce qui correspond à une période de deux années.
### httpd
Pour le serveur web d'OpenBSD :
{{< code "web-ssl-hsts-example-httpd" httpd >}}
### nginx
Pour le serveur nginx :
`add_header Strict-Transport-Security "max-age=31536000;" always;`
## Documentations
* Régie par la [[https://tools.ietf.org/html/rfc6797|RFC 6797]] !
* Wikipédia : https://fr.wikipedia.org/wiki/HTTP_Strict_Transport_Security
* Support actuel : http://caniuse.com/#search=hsts
---

View File

@ -0,0 +1,45 @@
---
title: "Redirection HTTP vers HTTPS"
date: 2017-08-14T02:20:51+02:00
description: "Comment effectuer une redirection du protocole HTTP vers le protocole sécurisé HTTPS"
draft: false
tags: ["SSL", "HTTP", "HTTPS"]
timestamp: 1502677251
---
## Description
La technique de redirection du trafic {{< abbr HTTP "HyperText Transfer Protocol" >}}
vers {{< abbr HTTPS "HyperText Transfer Protocol Secure" >}} est généralement
simple à comprendre et à mettre en place : <br>
Quand un client web interroge un site internet sur le port 80, il doit
être redirigé automatiquement vers le port 443 qui distribue le même site,
les mêmes ressources mais de manière chiffrée, par l'usage de certificats
SSL au niveau du serveur.
**La redirection doit être de type permanente.**
Le bénéfice de sécurité est maximale pour un coût de mise-en-place simple et aisé.
*Cette technique dev(r?)ait être complétée de la technologie {{< inside2 l="web:ssl:hsts" t="HSTS" >}}*
afin de s'assurer que toute nouvelle connexion, au site web, soit directement
transmise sur le port HTTPS.
## Exemples
### Apache
{{< code "web-ssl-redirect-http-https-example-apache" Apache >}}
### httpd
Pour le serveur web d'OpenBSD :
{{< code "web-ssl-redirect-http-https-example-httpd" httpd >}}
### nginx
{{< code "web-ssl-redirect-http-https-example-nginx" nginx >}}
---

View File

@ -0,0 +1,6 @@
server mon.domaine.net {
listen on * tls port 443
# Enable HTTP Strict Transport Security (defaults to 1 year).
hsts
(...)
}

View File

@ -0,0 +1,4 @@
<VirtualHost *:80>
ServerName mon.domaine.net
Redirect permanent / https://mon.domaine.net/
</VirtualHost>

View File

@ -0,0 +1,4 @@
server mon.domaine.net {
listen on * port 80
block return 301 "https://$SERVER_NAME$REQUEST_URI"
}

View File

@ -0,0 +1,5 @@
server {
listen 80;
server_name mon.domaine.net
return 301 https://$server_name$request_uri;
}