Update tuto2 for 2021

This commit is contained in:
nemunaire 2020-03-27 13:13:10 +01:00
parent eb4bef9753
commit 1650c7df13
8 changed files with 52 additions and 59 deletions

View File

@ -1,11 +1,9 @@
kernel:
image: linuxkit/kernel:4.9.165
# cmdline: "console=ttyS0 console=tty0"
# cmdline: "console=tty0 console=ttyS0 root=/dev/sda1 root=/dev/sr0 adlin.net=easy"
image: linuxkit/kernel:4.19.104
cmdline: "console=tty0 console=ttyS0 root=/dev/sda1 root=/dev/sr0 adlin.format=/dev/sda quiet"
init:
- nemunaire/adlin-tuto2:017a5c0b4eb825e9f7f979e7261fa17573ee3c58
- nemunaire/adlin-tuto2:41e341472a4a1b27dcf61c7d364f1f0a5f76fbe7
files:
- path: etc/hostname
@ -50,21 +48,20 @@ files:
[ "$value" != "" ] && echo "$value"
}
# Hide us!
/bin/rm -f /init /linuxrc
mount -n -t devtmpfs devtmpfs /dev
mount -n -t proc proc /proc
#mount -n -t tmpfs run /run
#mount -m -t sysfs sys /sys
INITDEBUG=$(cmdline adlin.debuginit)
[ -n "${INITDEBUG}" ] && /bin/busybox cttyhack ${INITDEBUG}
INITP=$(cmdline init)
[ -z "$INITP" ] && INITP=/lib/systemd/systemd
WGTOKEN=$(cmdline adlin.token)
ROOTFS=$(cmdline root)
echo "rootfs=$ROOTFS"
[ -z "$ROOTFS" ] && { echo "No root= provided, continuing on initramfs only."; exec "${INITP}"; }
[ "$ROOTFS" = "/dev/sr0" ] && { echo "No root= provided, continuing on initramfs only."; exec "${INITP}"; }
[ -b "$ROOTFS" -a -z "$(cmdline adlin.alwaysformat)" ] || {
@ -93,8 +90,6 @@ files:
mkdir -p ${ovr_rwdata}/work
/bin/mount -n -t overlay -o upperdir=${ovr_rwdata}/data,workdir=${ovr_rwdata}/work,lowerdir=${ovr_robase} overlay ${ovr_combined} || { echo "Unable to create overlayfs."; exit 3; }
/bin/umount -n /proc
/bin/mkdir -p ${ovr_combined}/overlay/rwdata
/bin/mount -n --move ${ovr_rwdata} ${ovr_combined}/overlay/rwdata
/bin/mkdir -p ${ovr_combined}/overlay/robase
@ -104,6 +99,7 @@ files:
cd ${ovr_combined}
mount --move /dev dev
mount --move /proc proc
mount --move . /
/bin/umount -n /overlay
@ -116,8 +112,8 @@ files:
echo -n "You didn't define your token to connect the network. Please copy it here now: "
read WGTOKEN
}
/sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
/bin/ip link set up dev eth0 || { /sbin/modprobe e1000; /bin/ip link set up dev eth0; }
/sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
/bin/busybox udhcpc -n -q
[ -f "etc/wireguard/adlin.conf" ] && WGPRVKEY=$(sed 's/^.*PrivateKey *= *//p;d' etc/wireguard/adlin.conf)
[ -z "${WGPRVKEY}" ] && WGPRVKEY=$(/usr/bin/wg genkey)
@ -192,31 +188,29 @@ files:
- path: etc/shadow
contents: |
root:$6$B0qzwsEh$vfWGpIFUrKGrkT0PVtGhhomBwc.60IBIxjMLyG8mz.NJLFRryjqLK9sA/mzxNSaQViiHsYYrsgmcWVHblfdHg1:17968:0:99999:7:::
daemon:*:17575:0:99999:7:::
bin:*:17575:0:99999:7:::
sys:*:17575:0:99999:7:::
sync:*:17575:0:99999:7:::
games:*:17575:0:99999:7:::
man:*:17575:0:99999:7:::
lp:*:17575:0:99999:7:::
mail:*:17575:0:99999:7:::
news:*:17575:0:99999:7:::
uucp:*:17575:0:99999:7:::
proxy:*:17575:0:99999:7:::
www-data:*:17575:0:99999:7:::
backup:*:17575:0:99999:7:::
list:*:17575:0:99999:7:::
irc:*:17575:0:99999:7:::
gnats:*:17575:0:99999:7:::
nobody:*:17575:0:99999:7:::
_apt:*:17575:0:99999:7:::
messagebus:*:17594:0:99999:7:::
sshd:*:17594:0:99999:7:::
systemd-timesync:*:17594:0:99999:7:::
systemd-network:*:17594:0:99999:7:::
systemd-resolve:*:17594:0:99999:7:::
systemd-bus-proxy:*:17594:0:99999:7:::
root:$6$QNuPvO59Xk4UO3le$3P0V2ef6dHlKgO1FHsKcPPgOvL.YeCOPFqfIVTtpYn5eEn3xkgGYeM1RMCQ9l/eTc6rRc.l.WeRe1iJVznVGj/:18336:0:99999:7:::
daemon:*:18316:0:99999:7:::
bin:*:18316:0:99999:7:::
sys:*:18316:0:99999:7:::
sync:*:18316:0:99999:7:::
games:*:18316:0:99999:7:::
man:*:18316:0:99999:7:::
lp:*:18316:0:99999:7:::
mail:*:18316:0:99999:7:::
news:*:18316:0:99999:7:::
uucp:*:18316:0:99999:7:::
proxy:*:18316:0:99999:7:::
www-data:*:18316:0:99999:7:::
backup:*:18316:0:99999:7:::
list:*:18316:0:99999:7:::
irc:*:18316:0:99999:7:::
gnats:*:18316:0:99999:7:::
nobody:*:18316:0:99999:7:::
_apt:*:18316:0:99999:7:::
systemd-timesync:*:18333:0:99999:7:::
systemd-network:*:18333:0:99999:7:::
systemd-resolve:*:18333:0:99999:7:::
sshd:*:18333:0:99999:7:::
mode: "0640"
trust:

View File

@ -41,14 +41,14 @@ Résultat attendu
nouvelle machine, identique à celle que vous venez de configurer, à partir
d'une ISO et d'un nouveau disque.
Le fichier à rendre est un playbook `login_x-TP2/basis.yml`, accompagné de
Le fichier à rendre est un playbook `login-x-TP2/basis.yml`, accompagné de
toutes ses dépendances : celui-ci doit faire les configurations basiques du
système et des utilisateurs.
Un deuxième playbook est à rendre : `login_x-TP2/vitrine.yml`, celui-ci doit
Un deuxième playbook est à rendre : `login-x-TP2/vitrine.yml`, celui-ci doit
permettre de déployer (en parallèle de tous les autres), une page vitrine
typique d'une entreprise (cf. la 4e question de cours ;)). Cette page doit être
accessible depuis votre domaine <https://login_x.adlin2020.p0m.fr/>.
accessible depuis votre domaine <https://login-x.adlin2021.p0m.fr/>.
Mon première commande
@ -139,7 +139,7 @@ exister. À l'application de cette nouvelle recette, si un tel utilisateur est
trouvé, il sera donc supprimé.
### Collecte du mercredi
### Collecte du lundi
Parmi les modules de base, le module `setup` permet de récupérer un grand
nombre de caractéristiques de la machine distance, voyez plutôt :
@ -183,8 +183,8 @@ Par exemple, voici à quoi pourrait ressembler un tel recueil :
tasks:
- name: ensure postgresql is at the latest version
yum: name=postgresql state=latest
- name: ensure that postgresql is started
service: name=postgresql state=started
- name: ensure that mysql is started
service: name=mysqld state=started
```
</div>

View File

@ -24,10 +24,9 @@ une solution de messagerie décentralisée et permet de réaliser du chiffrement
de bout-en-bout.
Vous trouverez la documentation d'installation précise et détaillée à :
<https://github.com/matrix-org/synapse/blob/master/README.rst> (attention, une
release 1.0 est prévue pour dans peu de temps, pensez à vous fixer une version,
n'utilisez pas la branche master qui risque de ne plus fonctionner au moment du
moulinétage de votre rendu).
<https://github.com/matrix-org/synapse/blob/master/README.rst> (attention,
pensez à vous fixer une version, n'utilisez pas la branche master qui risque de
ne plus fonctionner au moment du moulinétage de votre rendu).
Vous devrez attacher une importance tout particulière à la sécurité de
la solution que vous déployez : configurations durcies, utilisateur
@ -61,7 +60,7 @@ de données. Le *dump* obtenu est à placer dans `/var/backups/`.
Vous n'êtes pas tenu d'installer un client. Pour vos tests, vous pouvez
utiliser <https://riot.im/app/>, en changeant l'adresse du serveur Matrix pour
votre sous-domaine dédié à Matrix (normalement
<https://matrix.login_x.srs.p0m.fr/>). (Conservez le serveur d'identité à
<https://matrix.login-x.srs.p0m.fr/>). (Conservez le serveur d'identité à
<https://vector.im>).

View File

@ -62,8 +62,8 @@ Domaine de test
En plus de vous fournir une IPv6, vous disposerez d'un nom de domaine ainsi
qu'une délégation sur un sous-domaine.
Commencez par demander un nom de domaine *Association simple*, sans un premier
temps. Ceci créera un domaine qui vous permettra d'accéder à votre machine dans
Commencez par demander un nom de domaine *Association simple*, dans un premier
temps. Ceci créera un domaine qui vous permettra d'accéder à votre machine sans
avoir à connaître son IP.
Dans un deuxième temps, nous verrons comment tirer parti de la délégation. Vous

View File

@ -13,9 +13,9 @@ Voici les grandes étapes :
* choisir un serveur DNS autoritaire (BIND, NSD, Knot, PowerDNS, djbDNS, ...) ;
* éditer la zone de votre domaine ;
* configurer ce serveur pour qu'il réponde effectivement aux requêtes de votre zone ;
* tester avec `dig @votreIPv4locale ANY login_x.srs.p0m.fr` que votre serveur réagit bien correctement ;
* publier sur Maatma le nom de domaine où votre serveur de nom est joignable (généralement `ns.login_x.srs.p0m.fr`), il s'agit d'un enregistrement `NS` ;
* tester avec `dig @votreIPv4locale ANY login-x.srs.p0m.fr` que votre serveur réagit bien correctement ;
* publier sur Maatma le nom de domaine où votre serveur de nom est joignable (généralement `ns.login-x.srs.p0m.fr`), il s'agit d'un enregistrement `NS` ;
* publier également sa *GLUE*, afin de résoudre le problème de poule et d'œuf (le domaine de votre serveur de noms étant dans la zone qu'il est sensé servir, le bureau d'enregistrement enverra également l'IP correspondant au domaine) ;
* tester avec `dig @9.9.9.9 ANY login_x.srs.p0m.fr` que votre serveur est bien joignable.
* tester avec `dig @9.9.9.9 ANY login-x.srs.p0m.fr` que votre serveur est bien joignable.
Un ouvrage de référence, qui répondra à l'intégralité de vos questions et manières d'utiliser votre serveur DNS se trouve à <http://www.zytrax.com/books/dns/>.

View File

@ -1,9 +1,9 @@
---
title: Administration Linux avancée -- TP n^o^ 2
subtitle: Maatma : l'hébergeur DIY
subtitle: "Maatma : l'hébergeur DIY"
author: Pierre-Olivier *nemunaire* [Mercier]{.smallcaps}
institute: EPITA
date: Jeudi 14 mars 2019
date: Lundi 16 mars 2020
abstract: |
Durant ce deuxième TP, nous allons apprendre à déployer des services sur un
serveur, de manière industrielle !
@ -11,14 +11,14 @@ abstract: |
\vspace{1em}
La partie 4 de ce TP est un projet à rendre à <adlin@nemunai.re> au plus tard
le **vendredi 29 mars 2019 à 00 h 42 du matin**. Consultez la dernière
le **dimanche 29 mars 2020 à 00 h 42 du matin**. Consultez la dernière
section de chaque partie pour plus d'information sur les éléments à
rendre. Et n'oubliez pas de répondre aux [questions de
cours](https://www.epitaf.fr/moodle/mod/quiz/view.php?id=268).
cours](https://adlin.nemunai.re/quiz/2).
En tant que personnes sensibilisées à la sécurité des échanges électroniques,
vous devrez m'envoyer vos rendus signés avec votre clef PGP. Pensez à
[me](https://pgp.mit.edu/pks/lookup?op=vindex&search=0x842807A84573CC96)
[me](https://keys.openpgp.org/search?q=nemunaire%40nemunai.re)
faire signer votre clef et n'hésitez pas à [faire signer votre
clef](https://www.meetup.com/fr/Paris-certification-de-cles-PGP-et-CAcert/).
...

View File

@ -20,7 +20,7 @@ reporter dans un fichiers au chapitre suivant !
Ma première vitrine
-------------------
Sur le domaine `login_x.adlin2020.p0m.fr`, déployez une vitrine d'entreprise
Sur le domaine `login_x.adlin2021.p0m.fr`, déployez une vitrine d'entreprise
basique (pas besoin d'un Wordpress, un simple lot de pages HTML fera l'affaire).
Vous aurez pour cela besoin d'un serveur web, dont le choix est laissé à votre

View File

@ -7,7 +7,7 @@ Accéder à la machine virtuelle
------------------------------
Une fois la machine virtuelle démarrée, vous pouvez vous y connecter en `root`
avec le mot de passe `adlin2020`.
avec le mot de passe `adlin2021`.
Vous pouvez également démarrer en mode *single user*, mais comme votre disque
n'est sans doute pas encore utilisable à ce stade, vous ne pourrez pas changer