Last fixes 2022 tuto3
This commit is contained in:
parent
72b8c1d32c
commit
ad11e9ce7f
22
tuto3.yml
22
tuto3.yml
@ -145,6 +145,7 @@ services:
|
|||||||
options: ["rw","nosuid","noexec","nodev","relatime"]
|
options: ["rw","nosuid","noexec","nodev","relatime"]
|
||||||
binds:
|
binds:
|
||||||
- /var/lib/adlin/wrt-etc:/etc
|
- /var/lib/adlin/wrt-etc:/etc
|
||||||
|
- /var/lib/adlin/wireguard/ansible.fact:/etc/ansible/facts.d/maatma.fact
|
||||||
- /etc/rinittab:/etc/inittab
|
- /etc/rinittab:/etc/inittab
|
||||||
- /etc/hosts:/etc/hosts:ro
|
- /etc/hosts:/etc/hosts:ro
|
||||||
- /etc/dresolv.conf:/etc/resolv.conf
|
- /etc/dresolv.conf:/etc/resolv.conf
|
||||||
@ -564,8 +565,11 @@ files:
|
|||||||
# Avoid listening on IPv6
|
# Avoid listening on IPv6
|
||||||
sed -r -i '/list\s+listen_http\s+\[::\]:80/d;/list\s+listen_https\s+\[::\]:443/d' /var/lib/adlin/wrt-etc/config/uhttpd
|
sed -r -i '/list\s+listen_http\s+\[::\]:80/d;/list\s+listen_https\s+\[::\]:443/d' /var/lib/adlin/wrt-etc/config/uhttpd
|
||||||
|
|
||||||
|
rm /var/lib/adlin/wrt-etc/config/network
|
||||||
|
}
|
||||||
|
|
||||||
# Configure networking
|
# Configure networking
|
||||||
cat > /var/lib/adlin/wrt-etc/config/network <<EOF
|
[ -f /var/lib/adlin/wrt-etc/config/network ] || cat > /var/lib/adlin/wrt-etc/config/network <<EOF
|
||||||
|
|
||||||
config interface 'loopback'
|
config interface 'loopback'
|
||||||
option ifname 'lo'
|
option ifname 'lo'
|
||||||
@ -578,7 +582,6 @@ files:
|
|||||||
option proto 'dhcp'
|
option proto 'dhcp'
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
|
||||||
|
|
||||||
[ -e /var/lib/adlin/wrt-config ] && {
|
[ -e /var/lib/adlin/wrt-config ] && {
|
||||||
mv /var/lib/adlin/wrt-config/* /var/lib/adlin/wrt-etc/config/
|
mv /var/lib/adlin/wrt-config/* /var/lib/adlin/wrt-etc/config/
|
||||||
@ -594,6 +597,7 @@ files:
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
[ -f /var/lib/adlin/wireguard/adlin.conf ] && /usr/bin/update-wg-conf
|
[ -f /var/lib/adlin/wireguard/adlin.conf ] && /usr/bin/update-wg-conf
|
||||||
|
[ -f /var/lib/adlin/wireguard/ansible.fact ] || touch /var/lib/adlin/wireguard/ansible.fact
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
|
||||||
- path: usr/bin/update-wg-conf
|
- path: usr/bin/update-wg-conf
|
||||||
@ -605,7 +609,7 @@ files:
|
|||||||
WKSIP=$(echo "${TUNIP}" | sed "s#:[^:/]*/.*\$#1::1/96#")
|
WKSIP=$(echo "${TUNIP}" | sed "s#:[^:/]*/.*\$#1::1/96#")
|
||||||
|
|
||||||
grep -q wireguard /var/lib/adlin/wrt-etc/config/network && {
|
grep -q wireguard /var/lib/adlin/wrt-etc/config/network && {
|
||||||
sed -i -r "s#list addresses '[^']+'#list addresses '${TUNIP}'#;s#option private_key '[^']+'#option private_key '${TUNPVKEY}'#;" /var/lib/adlin/wrt-etc/config/network
|
sed -i -r "s#list addresses '[^']*'#list addresses '${TUNIP}'#;s#option private_key '[^']*'#option private_key '${TUNPVKEY}'#;" /var/lib/adlin/wrt-etc/config/network
|
||||||
}
|
}
|
||||||
|
|
||||||
grep -q wireguard /var/lib/adlin/wrt-etc/config/network || cat >> /var/lib/adlin/wrt-etc/config/network <<EOF
|
grep -q wireguard /var/lib/adlin/wrt-etc/config/network || cat >> /var/lib/adlin/wrt-etc/config/network <<EOF
|
||||||
@ -636,6 +640,14 @@ files:
|
|||||||
option interface 'wg0'
|
option interface 'wg0'
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF > /var/lib/adlin/wireguard/ansible.fact
|
||||||
|
[tun]
|
||||||
|
pvkey=${TUNPVKEY}
|
||||||
|
ip6=${TUNIP}
|
||||||
|
srvip6=${SRVIP}
|
||||||
|
wksip6=${WKSIP}
|
||||||
|
EOF
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
|
||||||
- path: etc/init.d/014-get-ssh-keys
|
- path: etc/init.d/014-get-ssh-keys
|
||||||
@ -673,7 +685,7 @@ files:
|
|||||||
- path: /etc/init.d/800-rw-passwd.sh
|
- path: /etc/init.d/800-rw-passwd.sh
|
||||||
contents: |
|
contents: |
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
sed -ri '/^root/s@^root:x:.*$@root:$1$ChIJgCib$1IYTTG.wKCXqbo1RMEQCc0:18706:0:99999:7:::@' /var/lib/adlin/wrt-etc/shadow
|
sed -ri '/^root/s@^root::.*$@root:$1$ChIJgCib$1IYTTG.wKCXqbo1RMEQCc0:18706:0:99999:7:::@' /var/lib/adlin/wrt-etc/shadow
|
||||||
mkdir -p /var/lib/adlin/wrt-etc/dropbear/
|
mkdir -p /var/lib/adlin/wrt-etc/dropbear/
|
||||||
[ -f /var/lib/adlin/authorized_keys ] && ! [ -f /var/lib/adlin/wrt-etc/dropbear/authorized_keys ] && cp /var/lib/adlin/authorized_keys /var/lib/adlin/wrt-etc/dropbear/authorized_keys
|
[ -f /var/lib/adlin/authorized_keys ] && ! [ -f /var/lib/adlin/wrt-etc/dropbear/authorized_keys ] && cp /var/lib/adlin/authorized_keys /var/lib/adlin/wrt-etc/dropbear/authorized_keys
|
||||||
|
|
||||||
@ -689,7 +701,7 @@ files:
|
|||||||
cp /etc/services /containers/services/${svc}/rootfs/etc/services
|
cp /etc/services /containers/services/${svc}/rootfs/etc/services
|
||||||
mkdir -p /containers/services/${svc}/rootfs/root/.ssh
|
mkdir -p /containers/services/${svc}/rootfs/root/.ssh
|
||||||
[ -f /var/lib/adlin/authorized_keys ] && cp /var/lib/adlin/authorized_keys /containers/services/${svc}/rootfs/root/.ssh/authorized_keys
|
[ -f /var/lib/adlin/authorized_keys ] && cp /var/lib/adlin/authorized_keys /containers/services/${svc}/rootfs/root/.ssh/authorized_keys
|
||||||
nsenter -t $(ctr -n services.linuxkit t ls | grep ${svc} | awk '{ print $2 }') -a ssh-keygen -A
|
nsenter -t $(ctr -n services.linuxkit t ls | grep ${svc} | awk '{ print $2 }') -a -- ssh-keygen -A
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -55,19 +55,23 @@ login_x-TP3/roles/revproxy/templates/nginx.conf.j2
|
|||||||
- votre routeur filtre les paquets entrants (IPv4, IPv6) selon la politique que vous avez défini,
|
- votre routeur filtre les paquets entrants (IPv4, IPv6) selon la politique que vous avez défini,
|
||||||
- votre routeur bloque les connexions entrantes vers le réseau des stations de travail,
|
- votre routeur bloque les connexions entrantes vers le réseau des stations de travail,
|
||||||
- votre routeur effectue du NAT en IPv4 pour les serveurs et les stations de travail.
|
- votre routeur effectue du NAT en IPv4 pour les serveurs et les stations de travail.
|
||||||
|
\
|
||||||
- Votre vitrine est exposée en HTTP et HTTPS,
|
- Votre vitrine est exposée en HTTP et HTTPS,
|
||||||
- les options HTTPS ont été choisies avec soin, selon les recommandations de l'ANSSI,
|
- les options HTTPS ont été choisies avec soin, selon les recommandations de l'ANSSI,
|
||||||
- le visiteur est redirigé systématiquement vers la version HTTPS,
|
- le visiteur est redirigé systématiquement vers la version HTTPS,
|
||||||
- le visiteur est redirigé vers `www.login_x.srs.p0m.fr` lorsqu'il visite `login_x.srs.p0m.fr`,
|
- le visiteur est redirigé vers `www.login_x.srs.p0m.fr` lorsqu'il visite `login_x.srs.p0m.fr`,
|
||||||
- `news.login_x.srs.p0m.fr` affiche miniflux,
|
- `news.login_x.srs.p0m.fr` affiche miniflux,
|
||||||
- `matrix.login_x.srs.p0m.fr` est prêt.
|
- `matrix.login_x.srs.p0m.fr` est prêt.
|
||||||
|
\
|
||||||
- Votre serveur de nom de domaines est accessible en TCP et UDP,
|
- Votre serveur de nom de domaines est accessible en TCP et UDP,
|
||||||
- votre nom de domaine se résout depuis un résolveur public,
|
- votre nom de domaine se résout depuis un résolveur public,
|
||||||
|
\
|
||||||
- La configuration de tous les serveurs accessibles respectent les recommandations de l'ANSSI,
|
- La configuration de tous les serveurs accessibles respectent les recommandations de l'ANSSI,
|
||||||
- votre IPv6 publique peut évoluer en changeant simplement une variable `group_vars/all`.
|
- votre IPv6 publique peut évoluer en changeant simplement une variable `group_vars/all`.
|
||||||
|
\
|
||||||
|
- Vous avez utilisé des
|
||||||
|
[rôles](https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html)
|
||||||
|
pour rendre vos recettes Ansible réutilisables.
|
||||||
|
|
||||||
|
|
||||||
## Signature du rendu
|
## Signature du rendu
|
||||||
|
@ -85,8 +85,8 @@ celles-ci sont automatiquement ajoutées aux différents serveurs. Cependant,
|
|||||||
seuls les clefs RSA et DSA sont utilisables pour se connecter sur le routeur,
|
seuls les clefs RSA et DSA sont utilisables pour se connecter sur le routeur,
|
||||||
le serveur SSH ne gère pas les courbes éliptiques.
|
le serveur SSH ne gère pas les courbes éliptiques.
|
||||||
|
|
||||||
Notez que vous n'avez pas accès à la machine hébergeant la base de données, le
|
Notez que vous n'avez pas accès à la machine hébergeant la base de données, ni
|
||||||
lecteur de flux RSS, ni à celle du résolveur DNS.
|
à celle hébergeant le lecteur de flux RSS.
|
||||||
|
|
||||||
|
|
||||||
Objectif du TP
|
Objectif du TP
|
||||||
@ -103,6 +103,20 @@ s'assurer que ce soit également le cas des stations de travail).
|
|||||||
*Playbook* Ansible semble plutôt adaptée !
|
*Playbook* Ansible semble plutôt adaptée !
|
||||||
|
|
||||||
|
|
||||||
|
### Mots de passes
|
||||||
|
|
||||||
|
Tous les mots de passes sont `adlin2022` pour tous les services.
|
||||||
|
|
||||||
|
3 bases de données Postgres sont à votre disposition pour vos différents
|
||||||
|
services :
|
||||||
|
|
||||||
|
- `matrix`
|
||||||
|
- `miniflux`
|
||||||
|
- `website`
|
||||||
|
|
||||||
|
Pour chacune, un utilisateur du même nom existe pour s'y connecter à distance.
|
||||||
|
|
||||||
|
|
||||||
Au secours ça ne marche pas !
|
Au secours ça ne marche pas !
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user