Architecture globale

Cet article a pour but la présentation globale de l'architecture technique de picasoft.


2 machines physiques hébergent 5 VM avec des services déployés dans des conteneurs Docker tels que décrits ci-dessous.

  • alice (PM) :
    • pica01 (VM) : Héberge une partie des services dans des conteneurs Docker tels que Mattermost, EtherPad et leur système de gestion de bases de données
    • pica01-test (VM) : Héberge tous les conteneurs de test représentant des services en production ou non qu'il est possible de manipuler sans risques
    • stp01 (VM) : utilisée par Stéphane Crozat dans le cadre de ses activités pédagogiques
  • bob (PM) :
    • pica02 (VM) : Héberge une autre partie des services dans des conteneurs Docker tels que Wekan et le Wiki (docuwiki) et leur système de gestion de bases de données
    • admin (VM) : Il s'agit de l'ancienne VM monitoring. Celle-ci héberge plusieurs service dans des containers docker tels que le registry Docker, le LDAP, CheckMK, etc.

Monitoring

Une machine virtuelle monitoring dédiée au monitoring avec une IP publique a été mise en place. Dans le futur, il est tout à fait envisageable de la passer sur un réseau privé et de faire du NAT Monitoring des VM hébergeant les services Redirection de ports.

Cependant cette machine regroupe désormais l'ensemble des services anciennement déployés sur la VM admin tels que le registry docker et le serveur LDAP. À l'avenir, la machine monitoring pourra héberger un serveur mail.

Services

Des services sont déployés dans des conteneurs Docker sur chaque machine virtuelle.

pica01 :

Nom du conteneur Image Docker Documentation
mattermost-app registry.picasoft.net:5000/pica-mattermost:5.3.0 https://wiki.picasoft.net/doku.php?id=services:mattermost_upgrade
mattermost-db registry.picasoft.net:5000/pica-mattermost-db:5.3.0 https://wiki.picasoft.net/doku.php?id=services:mattermost_upgrade
etherpad-app registry.picasoft.net:5000/pica-etherpad:1.6.5 http://etherpad.org/
etherpad-db mysql:5.7 https://wiki.picasoft.net/doku.php?id=sauvegarde:db&s[]=mysql
db-backup registry.picasoft.net:5000/db-backup
backup-rotation registry.picasoft.net:5000/backup-rotation https://wiki.picasoft.net/doku.php?id=txs:infra-p18:backup-bdd
traefik traefik https://traefik.io/

pica01-test :

Nom du conteneur Image Docker Documentation
traefik traefik https://traefik.io/
mattermost-app registry.picasoft.net:5000/pica-mattermost:5.3.0 https://wiki.picasoft.net/doku.php?id=services:mattermost_upgrade
mattermost-db registry.picasoft.net:5000/pica-mattermost-db:5.3.0 https://wiki.picasoft.net/doku.php?id=services:mattermost_upgrade
ldap-host osixia/openldap https://wiki.picasoft.net/doku.php?id=infrastructure:ldap
phpldapadmin dinkel/phpldapadmin https://wiki.picasoft.net/doku.php?id=infrastructure:ldap
etherpad-app registry.picasoft.net:5000/pica-etherpad:1.6.5 http://etherpad.org/
etherpad-db mysql:5.7 https://wiki.picasoft.net/doku.php?id=sauvegarde:db&s[]=mysql
picasoft-etherpad-landing-page registry.picasoft.net:5000/pica-nginx
wekan-app quay.io/wekan/wekan https://wiki.picasoft.net/doku.php?id=services:wekan_upgrade
wekan-db mongo:3.4 https://wiki.picasoft.net/doku.php?id=services:wekan_upgrade
wiki registry.picasoft.net:5000/pica-dokuwiki:2018.05 https://wiki.picasoft.net/doku.php?id=wiki:dokuwiki
backup-rotation registry.picasoft.net:5000/backup-rotation https://wiki.picasoft.net/doku.php?id=txs:infra-p18:backup-bdd
dockersitecetrun1 registry.picasoft.net:5000/pica-nginx

pica02 :

Nom du conteneur Image Docker Documentation
wekan-app quay.io/wekan/wekan https://wiki.picasoft.net/doku.php?id=services:wekan_upgrade
wekan-db mongo:3.2.18 https://wiki.picasoft.net/doku.php?id=services:wekan_upgrade
traefik traefik https://traefik.io/
cloudcet registry.picasoft.net:5000/cloudcet:15.0.6 https://wiki.picasoft.net/doku.php?id=infrastructure:nextcloud
cloudcetdb | postgres:9.6 | | | cloudcetcollabora registry.picasoft.net:5000/collabora:6.0
cloudcet_nginx registry.picasoft.net:5000/pica-nginx
wiki registry.picasoft.net:5000/pica-dokuwiki:2018.05 https://wiki.picasoft.net/doku.php?id=wiki:dokuwiki
backup-rotation registry.picasoft.net:5000/backup-rotation https://wiki.picasoft.net/doku.php?id=txs:infra-p18:backup-bdd
db-backup registry.picasoft.net:5000/db-backup
doc registry.picasoft.net:5000/pica-nginx
school registry.picasoft.net:5000/pica-nginx
mattermost-giphy registry.picasoft.net:5000/mattermost-giphy
website registry.picasoft.net:5000/pica-nginx

admin (monitoring) :

Nom du conteneur Image Docker Documentation
registry registry:2 https://wiki.picasoft.net/doku.php?id=adminsys:mise_en_place_d_un_registry_docker
traefik traefik https://traefik.io/
ldap-host osixia/openldap https://wiki.picasoft.net/doku.php?id=infrastructure:ldap
phpldapadmin dinkel/phpldapadmin https://wiki.picasoft.net/doku.php?id=infrastructure:ldap
picasoft-metrics-bot registry.picasoft.net:5000/picasoft-metrics-bot:1.0.0 https://wiki.picasoft.net/doku.php?id=infrastructure:metrics&s[]=picasoft&s[]=metrics&s[]=bot
grafana registry.picasoft.net:5000/grafana:5.2.4-1 https://wiki.picasoft.net/doku.php?id=infrastructure:metrics&s[]=grafana
influxdb registry.picasoft.net:5000/influxdb:1.6-1 https://wiki.picasoft.net/doku.php?id=infrastructure:metrics&s[]=grafana
checkmk registry.picasoft.net:5000/checkmk:1.4.0p19 https://wiki.picasoft.net/doku.php?id=monitoring:check_mk

Liste des noms de domaine

L'ensemble des noms de domaines utilisé par Picasoft est répertorié ci-dessous, accompagné des machines associées à ces noms.

Nom de domaine IP Machine
pica01.picasoft.net 91.224.148.57 pica01
pad.picasoft.net 91.224.148.57 pica01
team.picasoft.net 91.224.148.57 pica01
pic.crzt.fr 91.224.148.58 stp01
pica01-test.picasoft.net 91.224.148.59 pica01-test
pica02.picasoft.net 91.224.148.60 pica02
doc.picasoft.net 91.224.148.60 pica02
monitoring.picasoft.net 91.224.148.61 admin (ex monitoring)
alice.picasoft.net 91.224.148.84 alice
bob.picasoft.net 91.224.148.85 bob

Liste des briques logicielles et matérielles utilisées

Points névralgiques du SI

Service concerné risques identifiés
traefik L'ensemble des flux venant de l'extérieur passent par les services traefik. Si celui-ci est compromis alors un attaquant pourrait se placer en position de “Man In The Middle” (MITM). Cela lui donnerait la possibilité de visualiser les flux et de les intercepter. Toutefois, si les flux sont chiffrés, avec le protocole HTTPS par exemple, l'attaquant ne serait pas immédiatement en mesure de lire les flux. Cependant, il existe des moyens efficaces permettant de contrer cela lorsque que l'attaquant est en position de MITM.
ldap-host Le service LDAP centralise l'ensemble des profils utilisateur. Si celui-ci est compromis, cela peut mener à des compromissions de comptes utilisateur sur les différents services de picasoft relié au serveur LDAP.
phpldapadmin Un attaquant qui prendrait le contrôle d'un compte administrateur de ce service serait en mesure de contrôler le service LDAP impliquant tous les risques identifiés pour le service ldap-host
Proxmox Proxmox permet d'administrer l'ensemble des machines virtuelles déployées sur les machines physiques. Si un attaquant réussissait à compromettre un de ses comptes utilisateur, alors il serait en capacité de stopper ou supprimer les machines virtuelles comprennant l'ensemble des conteneurs et services installés dessus.
  • infrastructure/architecture_globale.txt
  • Dernière modification: 2019/05/13 15:42
  • (modification externe)