2.4 KiB
Dépendances logicielles
Service de base-de-donnée
Chaque brique utilise une ou plusieurs bases de données PostgreSQL.
Composants logiciels sous-jacents
Publik est un logiciel développé en Python, sur le framework Django. Il est développé et testé pour fonctionner sur un système d’exploitation Debian GNU/Linux en version stable (oldstable est supporté égallement).
Le frontal web recommandé est nginx, bien que Publik puisse fonctionner avec Apache et d’autres serveurs HTTP. La liaison entre les applicatifs Python et le frontal web est assurée par gunicorn (évolution en cours vers uwgsi).
Les différents composants (briques) de Publik échangent des messages AMQP via RabbitMQ.
Publik nécessite PostgreSQL en version 9 (>9.4 recommandée) sur lequel chaque brique disposera de sa base de données propre.
Source des logiciels (dépôts APT)
Les différents composants logiciels utilisés par Publik proviennent, par ordre de préférence :
- de la distribution Debian GNU/Linux stable (ou oldstable)
- des backports officiels Debian, disposant du suivi de sécurité par l’équipe Debian
- des paquets Debian fournis et maintenus par les projets upstream
- de paquets Debian maintenus par Entr’ouvert qui en assure le suivi de sécurité
Flux réseau à ouvrir
Publik est un système web : ses composants doivent être accessibles en HTTPS (443/tcp). Le S final est important : Publik n’est pas prévu pour fonctionner en HTTP.
Les différentes briques de Publik communiquent entre elles également en HTTPS, elles doivent donc disposer d’un accès DNS (53/udp et 53/tcp) et HTTPS.
Le système de provisonning (déploiement, configuration et diffusion des utilisateurs et des rôles) utilise AMQP (5671/tcp).
La connexion avec PostgreSQL utilise 5432/tcp.
La plupart des accès à des logiciels tiers se fait via webservice, généralement en HTTPS (443/tcp). Il peut également y avoir connexion à des annuaires LDAP (389/tcp).
La solution Publik n’a pas encore été validée sur IPv6.
Pour le support et la maintenance du systèmes, des accès SSH (22/tcp) sont nécessaires, voir ci-dessous.
Certificats X509
La diffusion HTTPS étant obligatoire, il est nécessaire de disposer de certificats valides pour chaque brique déployée ; chacune des briques utilisant un nom de serveur distinct. En général un certificat étoile (wildcard *.example.net) couvre toutes les briques.