Kojo
Kojo (工場) est le mot japonais pour « usine », et c’est exactement ce qu’est Kojo : une usine de systèmes de courriel auto-hébergés modernes, sécurisés et très performants.
Kojo se compose de deux parties complémentaires.
L’usine
L’usine est un programme Python qui configure un ensemble de démons pour qu’ils fonctionnent comme un système de courriel complet et très sécurisé, capable de s’adapter à des milliers d’utilisateurs. Il génère des dizaines de fichiers de configuration pour tous les démons et veille à ce que chaque fichier soit compatible avec les autres. Les démons interagissent ainsi en toute transparence pour offrir des services de courriel entièrement intégrés et sécurisés par défaut.
Voici les projets dont il configure les démons :
| Projet | Rôle | Site web |
|---|---|---|
| Postfix | Transport du courriel (SMTP) : envoi et réception | postfix.org |
| Dovecot | Stockage des boîtes aux lettres et accès à celles-ci (IMAP) | dovecot.org |
| OpenLDAP | Annuaire contenant les comptes des utilisateurs | openldap.org |
| Rspamd | Filtrage antipourriel | rspamd.com |
| ClamAV | Analyse antivirus, mise à jour automatique des signatures de virus et liaison avec Postfix | clamav.net |
| DCC | Détection du courriel en masse avec les Distributed Checksum Clearinghouses | rhyolite.com/dcc |
| SOGo | Courriel web, agenda et contacts | sogo.nu |
| nginx | Serveur web | nginx.org |
| PostgreSQL | Base de données | postgresql.org |
| Redis | Magasin de données en mémoire | redis.io |
| Memcached | Cache en mémoire | memcached.org |
| Yumei | Certificats TLS | Page du projet |
| Antei | Surveillance des démons | Page du projet |
| Tableau de bord Kojo | Gestion web du système et de ses utilisateurs | Voir plus bas |
Comment les démons s’articulent
Le diagramme ci-dessous illustre les communications entre les démons d’un système de courriel Kojo. Les ports de courriel sont codés par couleur selon le chiffrement : les ports verts sont toujours chiffrés, les ports jaunes sont parfois chiffrés (selon la capacité de chiffrement de l’autre serveur SMTP) et les ports rouges ne sont jamais chiffrés (Let’s Encrypt exige du HTTP non chiffré).
Le tableau de bord Kojo
Le tableau de bord Kojo est une interface web pour gérer le système de courriel et ses utilisateurs. Les administrateurs gèrent les comptes depuis le tableau de bord Kojo, et les utilisateurs s’y connectent pour changer leur propre mot de passe.
- Plusieurs domaines : il gère les comptes de courriel de plusieurs domaines.
- Interface LDAP intégrée : offre une interface intuitive à la base de données d’utilisateurs OpenLDAP de Kojo pour gérer des milliers d’utilisateurs.
- L’état du système en un coup d’œil : il donne aux administrateurs un aperçu de la santé et de l’état du système de courriel.
- Plusieurs vues des utilisateurs : les administrateurs peuvent consulter les utilisateurs par domaine, par pays et par emplacement.
Auto-hébergé par conception
Kojo fonctionne sur FreeBSD, sur votre propre matériel. Vos données et communications ne sont jamais partagées avec des tiers.