Add: oldiers articles SSL; Fix: delete web tag
parent
259adc33d3
commit
5c2db07047
14
config.toml
14
config.toml
|
@ -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"
|
||||
|
|
|
@ -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" %}}.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 !
|
||||
|
|
|
@ -6,7 +6,7 @@ draft: false
|
|||
include_toc: true
|
||||
lastmod:
|
||||
show_comments: false
|
||||
tags: ["web", "httpd", "openbsd"]
|
||||
tags: ["httpd", "OpenBSD"]
|
||||
---
|
||||
|
||||
## Description
|
||||
|
|
|
@ -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**
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
||||
---
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---
|
|
@ -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 >}}
|
||||
|
||||
|
||||
---
|
|
@ -0,0 +1,6 @@
|
|||
server mon.domaine.net {
|
||||
listen on * tls port 443
|
||||
# Enable HTTP Strict Transport Security (defaults to 1 year).
|
||||
hsts
|
||||
(...)
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<VirtualHost *:80>
|
||||
ServerName mon.domaine.net
|
||||
Redirect permanent / https://mon.domaine.net/
|
||||
</VirtualHost>
|
|
@ -0,0 +1,4 @@
|
|||
server mon.domaine.net {
|
||||
listen on * port 80
|
||||
block return 301 "https://$SERVER_NAME$REQUEST_URI"
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name mon.domaine.net
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
Loading…
Reference in New Issue