tuto2: Add new parts
This commit is contained in:
parent
bd1e8725b6
commit
90c9c5beca
9 changed files with 367 additions and 46 deletions
|
|
@ -1,47 +1,59 @@
|
|||
\newpage
|
||||
|
||||
Vitrine
|
||||
=======
|
||||
|
||||
Vitrine sécurisée ?
|
||||
-------------------
|
||||
|
||||
Avant de commencer votre travail, il est important de mettre en place
|
||||
toutes les sécurités nécessaires au bon déroulement de votre mise en
|
||||
production. Vérifiez qu'aucun service n'écoute inutilement sur
|
||||
Internet, et renforcez cela au moyen d'un pare-feu (`iptables` ou
|
||||
`nftables` par exemple).
|
||||
|
||||
Faites le tour des configurations afin de vous assurer qu'elles sont
|
||||
suffisamment durcies. Pensez à noter vos changements, vous devrez les
|
||||
reporter dans un fichier au prochain TP !
|
||||
|
||||
À ce stade, vous devez suivre les recommandations de l'ANSSI que vous
|
||||
jugez adaptées à votre déploiement :
|
||||
<https://www.ssi.gouv.fr/guide/recommandations-de-securite-relatives-a-un-systeme-gnulinux/>
|
||||
|
||||
|
||||
Ma première vitrine
|
||||
-------------------
|
||||
|
||||
Sur le domaine `login-x.adlin2024.example.tld`, déployez une vitrine
|
||||
d'entreprise basique. Vous n'allez pas déployer tout un Wordpress, mais un
|
||||
simple lot de pages HTML ... générées avec Hugo.
|
||||
Sur Maatma, [vous avez pu demander un
|
||||
sous-domaine](https://adlin.nemunai.re/maatma/domains)/*Association simple*,
|
||||
qui vous a attribué un nom de domaine (ou vous avez pu choisir d'utiliser un
|
||||
sous-domaine de votre propre nom de domaine).
|
||||
|
||||
::::: {.exercice}
|
||||
|
||||
L'idée maintenant, ce sera de déployer sur le domaine
|
||||
`login-x.adlin2024.example.tld`, une vitrine d'entreprise basique. Vous n'avez
|
||||
pas nécessairement besoin de déployer tout un Wordpress : un simple lot de
|
||||
pages HTML ... générées avec Hugo, fera l'affaire.
|
||||
|
||||
:::::
|
||||
|
||||
Vous aurez pour cela besoin d'un serveur web, dont le choix est laissé à votre
|
||||
discrétion.
|
||||
|
||||
:::::
|
||||
Une fois votre serveur web configuré et votre vitrine déployée, accédez à votre
|
||||
domaine depuis votre poste pour constater la bonne marche de l'installation
|
||||
(vous aurez sans doute à adapter les règles de votre pare-feu).
|
||||
|
||||
|
||||
Vitrine sécurisée
|
||||
-----------------
|
||||
|
||||
Dès que l'on déploie un nouveau service, qui plus est à destination de tout
|
||||
Internet, comme c'est le cas ici pour notre vitrine, il convient de faire
|
||||
particulièrement attention à la sécurité du service. Même dans le cas d'une
|
||||
simple vitrine, de nombreux éléments de configuration peuvent rendre
|
||||
l'installation sujète à des attaques.
|
||||
|
||||
Dans le cas d'un site web, nous retrouvons un guide de l'ANSSI dédié :\
|
||||
<https://www.ssi.gouv.fr/uploads/2013/05/anssi-guide-recommandations_mise_en_oeuvre_site_web_maitriser_standards_securite_cote_navigateur-v2.0.pdf>
|
||||
|
||||
{width=22%}
|
||||
|
||||
::::: {.exercice}
|
||||
|
||||
Vous pouvez utiliser les services de [Let's Encrypt](https://letsencrypt.org/)
|
||||
pour obtenir un certificat TLS.
|
||||
Le guide est une nouvelle fois fort passionant, mais nous nous concentrerons
|
||||
aujourd'hui exclusivement sur la recommandation R1 : *Mettre en œuvre TLS à
|
||||
l'état de l'art*.
|
||||
|
||||
Entre autres, il s'agit déjà de disposer d'un certificat valide pour votre
|
||||
vitrine.
|
||||
|
||||
:::::
|
||||
|
||||
Vous pouvez utiliser les services de [Let's Encrypt](https://letsencrypt.org/)
|
||||
pour obtenir un certificat TLS.\
|
||||
|
||||
::::: {.warning}
|
||||
|
||||
Compte tenu [des limitations
|
||||
|
|
@ -57,7 +69,26 @@ l'interface de Maatma pour pouvoir l'utiliser.
|
|||
|
||||
:::::
|
||||
|
||||
Let's Encrypt est une entitée qui génère de manière automatisée et gratuitement
|
||||
des certificats TLS, dans le but de sécuriser l'accès aux services d'un domaine
|
||||
(que ce soit pour utiliser HTTPS, SMTPS, FTPS, ...).
|
||||
|
||||
Une fois votre serveur web configuré et votre vitrine déployée, accédez à
|
||||
votre domaine depuis votre poste pour constater la bonne marche de
|
||||
l'installation.
|
||||
Leur service repose sur un test de propriété du domain, qui peut être réalisé
|
||||
de différentes manière (`http-01`, `dns-01`, ...). Une fois le test de
|
||||
propriété validé, il est possible de faire émettre un certificat pour une durée
|
||||
de 90 jours, pour le domaine validé.
|
||||
|
||||
Ce court délais permet d'éviter d'avoir trop de révocations, mais cela implique
|
||||
aux administrateurs d'automatiser la gestion des certificats (par exemple via
|
||||
une tâche *cron* qui va régulièrement venir renouveler les certificats et
|
||||
relancer les services qui les utilisent).
|
||||
|
||||
De nombreux programmes sont disponibles pour exploiter le [protocole
|
||||
ACME](https://www.rfc-editor.org/rfc/rfc8555) : citons notamment
|
||||
[`certbot`](https://eff-certbot.readthedocs.io/en/stable/index.html)
|
||||
(implémentation officielle, mais dont l'installation et l'usage tendent à se
|
||||
complexifier même dans le cas des installations les plus simples), ou
|
||||
[`dehydrated`](https://github.com/dehydrated-io/dehydrated) (qui fourni un
|
||||
script dont le seul but est de générer un certificat sur une installation
|
||||
existante, avec moins de dépendances à l'installation). Mais de nombreux autres
|
||||
projets sont tout aussi viables pour utiliser le protocole ACME.
|
||||
|
|
|
|||
Reference in a new issue