Kojo
Kojo
Kojo(工場)は、日本語で「工場」を意味します。その名のとおり、Kojoは、モダンで安全、高性能なセルフホスト型メールシステムを生み出す「工場」です。
Kojoは、連携する2つの部分で構成されています。
工場
工場は、複数のデーモンを設定して、数千人のユーザーまで拡張できる、完全で非常に安全なメールシステムとして動作させるPythonプログラムです。すべてのデーモン向けに数十もの設定ファイルを生成し、各ファイルが互いに矛盾なく整合するようにします。これにより、各デーモンがシームレスに連携し、完全に統合された、デフォルトで安全なメールサービスを提供します。
工場が設定するデーモンのプロジェクトは次のとおりです。
| プロジェクト | 役割 | Webサイト |
|---|---|---|
| Postfix | メール転送(SMTP):メールの送受信 | postfix.org |
| Dovecot | メールボックスの保管とアクセス(IMAP) | dovecot.org |
| OpenLDAP | ユーザーアカウントを保持するディレクトリ | openldap.org |
| Rspamd | 迷惑メールのフィルタリング | rspamd.com |
| ClamAV | ウイルススキャン、ウイルス定義の自動更新、Postfixとの連携 | clamav.net |
| DCC | Distributed Checksum Clearinghousesによる大量メールの検出 | rhyolite.com/dcc |
| SOGo | Webメール、カレンダー、連絡先 | sogo.nu |
| nginx | Webサーバー | nginx.org |
| PostgreSQL | データベース | postgresql.org |
| Redis | インメモリデータストア | redis.io |
| Memcached | インメモリキャッシュ | memcached.org |
| Yumei | TLS証明書 | プロジェクトページ |
| Antei | デーモンの監視 | プロジェクトページ |
| Kojoダッシュボード | システムとユーザーのWebベース管理 | 下記を参照 |
各デーモンの連携
下の図は、Kojoメールシステムの各デーモンがどのように通信するかを示しています。メール用ポートは暗号化の状況によって色分けされています。緑は常に暗号化されるポート、黄は場合により暗号化されるポート(相手のSMTPサーバーの暗号化対応状況による)、赤は暗号化されないポート(Let’s EncryptがHTTPの非暗号化通信を必要とするため)です。
Kojoダッシュボード
Kojoダッシュボードは、メールシステムとそのユーザーを管理するためのWebベースのインターフェースです。管理者はKojoダッシュボードからアカウントを管理し、ユーザーはサインインして自分のパスワードを変更できます。
- 複数のドメインに対応: 複数のドメインにまたがるメールアカウントを管理します。
- 統合されたLDAPフロントエンド: KojoのOpenLDAPユーザーデータベースに対する直感的なインターフェースを提供し、数千人のユーザーを管理できます。
- システムの状態を一目で把握: メールシステムの健全性と状態の概要を管理者に提供します。
- ユーザーを複数の切り口で表示: 管理者は、ドメイン別、国別、場所別にユーザーを表示できます。
セルフホストを前提とした設計
Kojoは、お客様ご自身のハードウェア上のFreeBSDで動作します。お客様のデータや通信が第三者と共有されることはありません。