449 lines
6.0 KiB
Groff
449 lines
6.0 KiB
Groff
.\" Generated by scdoc 1.11.2
|
|
.\" Complete documentation for this program is not available as a GNU info page
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.nh
|
|
.ad l
|
|
.\" Begin generated content:
|
|
.TH "INFRA" "7" "2024-12-07" "Infrastructure de Baguette" "Manuel de l'infra de Baguette"
|
|
.P
|
|
.SH Liste des machines
|
|
.P
|
|
Pour les services : \fBtrès important\fR, \fIplutôt important\fR
|
|
.P
|
|
.TS
|
|
allbox;c c c c c
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l
|
|
c c l c l.
|
|
T{
|
|
\fBARN\fR
|
|
T} T{
|
|
\fISystème\fR
|
|
T} T{
|
|
\fIAdresse\fR
|
|
T} T{
|
|
\fIPort SSH\fR
|
|
T} T{
|
|
\fIServices\fR
|
|
T}
|
|
T{
|
|
\fBphy0\fR
|
|
T} T{
|
|
Alpine 3.\&20
|
|
T} T{
|
|
89.\&234.\&141.\&125
|
|
T} T{
|
|
22
|
|
T} T{
|
|
\fBfirewall\fR
|
|
T}
|
|
T{
|
|
team
|
|
T} T{
|
|
OpenBSD 7.\&6
|
|
T} T{
|
|
192.\&168.\&122.\&132
|
|
T} T{
|
|
2210
|
|
T} T{
|
|
\fBgitea\fR mattermost \fBsmtpd\fR honk (fediverse/Mastodon)
|
|
T}
|
|
T{
|
|
mail
|
|
T} T{
|
|
OpenBSD 7.\&6
|
|
T} T{
|
|
192.\&168.\&122.\&10
|
|
T} T{
|
|
2204
|
|
T} T{
|
|
\fBsmtpd\fR \fBimap\fR (dovecot)
|
|
T}
|
|
T{
|
|
alpha
|
|
T} T{
|
|
Alpine 3.\&20
|
|
T} T{
|
|
192.\&168.\&122.\&84
|
|
T} T{
|
|
2203
|
|
T} T{
|
|
\fBnginx\fR arpenteurs \fBweechat/irc\fR
|
|
T}
|
|
T{
|
|
baguette
|
|
T} T{
|
|
Alpine 3.\&20
|
|
T} T{
|
|
192.\&168.\&122.\&181
|
|
T} T{
|
|
2220
|
|
T} T{
|
|
\fIzig dev\fR \fIpackage.\&mk\fR
|
|
T}
|
|
T{
|
|
bsdbuild
|
|
T} T{
|
|
OpenBSD 6.\&6
|
|
T} T{
|
|
192.\&168.\&122.\&165
|
|
T} T{
|
|
2265
|
|
T} T{
|
|
builds (weechat)
|
|
T}
|
|
T{
|
|
R&D
|
|
T} T{
|
|
Alpine 3.\&1X
|
|
T} T{
|
|
192.\&168.\&122.\&211
|
|
T} T{
|
|
2205
|
|
T} T{
|
|
expérimental
|
|
T}
|
|
T{
|
|
CEIUS
|
|
T} T{
|
|
Alpine 3.\&1X
|
|
T} T{
|
|
192.\&168.\&122.\&30
|
|
T} T{
|
|
2230
|
|
T} T{
|
|
CEIUS (?\&?\&)
|
|
T}
|
|
.TE
|
|
.sp 1
|
|
.P
|
|
.P
|
|
\fINotes\fR :
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
Les machines pourraient être renommées.\&
|
|
.br
|
|
Les adresses et les ports sont aléatoires.\&
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
Le serveur physique a plusieurs disques, mais un seul est utilisé pour le moment.\&
|
|
.br
|
|
Un RAID serait envisageable.\&
|
|
|
|
.RE
|
|
.P
|
|
.SH phy0
|
|
.P
|
|
La machine `phy0` redémarre sur son disque `/dev/sdb`.\&
|
|
.P
|
|
.SS procédure après redémarrage
|
|
.P
|
|
Il faut supprimer la règle iptables empêchant les connexions extérieures vers les machines virtuelles.\&
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
iptables -D FORWARD 2
|
|
|
|
.RE
|
|
.P
|
|
.SH VM Alpha
|
|
.P
|
|
.SS NGINX
|
|
.P
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
gère toutes les connexions entrantes sur les ports 80, 443
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
configuration dans \fI/srv/root/nginx/\fR, attention au rewrite de service (voir \fBTODO\fR)
|
|
|
|
.RE
|
|
.P
|
|
.TS
|
|
allbox;c c c
|
|
c c c
|
|
c c c
|
|
c c c
|
|
c c c
|
|
c c c.
|
|
T{
|
|
\fIDomaine\fR
|
|
T} T{
|
|
\fIService\fR
|
|
T} T{
|
|
\fIPort\fR
|
|
T}
|
|
T{
|
|
\fBgit.\&baguette.\&netlib.\&re\fR
|
|
T} T{
|
|
gitea
|
|
T} T{
|
|
443 (80 redirigé)
|
|
T}
|
|
T{
|
|
\fBteam.\&baguette.\&netlib.\&re\fR
|
|
T} T{
|
|
mattermost
|
|
T} T{
|
|
443 (80 redirigé)
|
|
T}
|
|
T{
|
|
\fBsocial.\&karchnu.\&netlib.\&re\fR
|
|
T} T{
|
|
honk
|
|
T} T{
|
|
80 (443 redirigé)
|
|
T}
|
|
T{
|
|
\fItodo.\&baguette.\&netlib.\&re\fR
|
|
T} T{
|
|
todo
|
|
T} T{
|
|
443 (80 redirigé), 9999
|
|
T}
|
|
T{
|
|
arpenteurs.\&netlib.\&re
|
|
T} T{
|
|
kemal
|
|
T} T{
|
|
80
|
|
T}
|
|
.TE
|
|
.sp 1
|
|
.SH VM team
|
|
.P
|
|
.SS {git,team}.baguette.netlib.re
|
|
.P
|
|
Les services `gitea` et `mattermost` sont \fIouvert\fR au public, notamment pour le projet `Baguette`.\&
|
|
.P
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
gitea et mattermost utilisent \fIpostgresql\fR
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
gitea
|
|
.RS 4
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
configuration: \fI/etc/gitea/\fR = la base, \fI/var/gitea/\fR = les données + personnalisation
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
\fI/etc/gitea/gitea.\&conf\fR = psql, mails, droits
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
\fI/var/gitea/\fR = dépôts, avatars, personnalisation de l'\&apparence
|
|
.RE
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
mattermost pour le développement
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
\fIhonk\fR pour remplacer Twitter
|
|
|
|
.RE
|
|
.P
|
|
Les certificats ont été générés par \fIacme.\&sh\fR.\& Voir section \fBTODO\fR.\&
|
|
.P
|
|
.SS opensmtpd
|
|
.P
|
|
Le serveur smtpd gère les domaines :
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
baguette.\&netlib.\&re (requis par gitea et mattermost)
|
|
|
|
.RE
|
|
.P
|
|
\fBDebug potentiel\fR
|
|
.P
|
|
En cas de \fB\fRAUTH LOGIN failed\fB\fR dans les logs, vérifier que \fBrspamd\fR est lancé.\&
|
|
.P
|
|
.P
|
|
.SH VM bsdbuild (toujours active ?)
|
|
.P
|
|
Actuellement : zone de jeu, on peut tester des outils dessus, lancer des compilations.\&
|
|
.P
|
|
.P
|
|
.SH TODO pour le développement d'outils à déployer sur l'infra
|
|
.P
|
|
.SS Pare-feu
|
|
.P
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
pourrait imposer un rate limit
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
l'\&accès à un service depuis une autre VM est compromis pour l'\&instant, il faut des règles DNAT+SNAT
|
|
|
|
.RE
|
|
.P
|
|
.SS Déploiement
|
|
.P
|
|
Le déploiement devrait être effectué de manière automatique depuis les sources.\&
|
|
Actuellement un problème réseau nous en empêche : il faut se plonger dans `iptables`.\&
|
|
.P
|
|
\fBservice\fR
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
pourrait (devrait ?\&) être utilisé à terme
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
manque la gestion correcte des groupes au lancement d'\&un processus
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
lance actuellement nginx \fBmais sa configuration est réécrite avec de mauvaises valeurs\fR, à revoir
|
|
|
|
.RE
|
|
.P
|
|
\fBlibipc\fR doit être patché pour les sockets unix qu'\&il crée :
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
changer le propriétaire et le groupe
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
changer les permissions
|
|
|
|
.RE
|
|
.P
|
|
.SS Certificats à maintenir (acme-client sur team)
|
|
.P
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
baguette.\&netlib.\&re (+ git, team et todo sur le même domaine)
|
|
.RE
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.IP \(bu 4
|
|
.\}
|
|
social.\&karchnu.\&netlib.\&re
|
|
|
|
.RE
|
|
.P
|
|
.SS Adresse IPv6
|
|
.P
|
|
Pour le moment tout est en v4, y compris sur la machine physique.\&
|