| 原作者 | ダニエル・J・バーンスタイン |
|---|---|
| 最終リリース | 1.03 / 1998年6月15日 |
| リポジトリ | cr.yp.to/software/qmail-1.03.tar.gz |
| 書かれた | C |
| オペレーティング·システム | Unixライク |
| タイプ | メール転送エージェント |
| ライセンス | パブリックドメイン[1] |
| Webサイト | 翻訳元: cr.yp.to/qmail.html |
| 最終リリース | 1.06 / 2007年11月30日 |
|---|---|
| リポジトリ | netqmail.org/netqmail-1.06.tar.gz |
| Webサイト | ネットメール |
| 安定リリース | 4.2.29a / 2024年2月26日 |
|---|---|
| Webサイト | 翻訳元: fehcom.de |
| 安定リリース | 1.09 / 2024年5月6日 |
|---|---|
| リポジトリ | github.com/notqmail/notqmail |
| Webサイト | 翻訳元 |
qmail はUnix上で動作するメール転送エージェント(MTA)です。1995 年 12 月からDaniel J. Bernsteinによって、人気のSendmailプログラムのより安全な代替として作成されました。もともとライセンスフリーのソフトウェアでしたが、qmail のソースコードは後に作者によってパブリック ドメインに提供されました。 [3]
特徴
安全
qmail は最初に公開されたとき、セキュリティを考慮した最初のメール転送エージェントでした。それ以来、他のセキュリティを考慮したMTA が公開されてきました。qmail の最も人気のある前身であるSendmail は、セキュリティを目的として設計されていなかったため、攻撃者の絶え間ないターゲットとなってきました。sendmail とは対照的に、qmail は相互に信頼できないコンポーネントで構成されたモジュール アーキテクチャを備えています。たとえば、 qmail のSMTPリスナー コンポーネントは、キュー マネージャーや SMTP 送信者とは異なる資格情報で実行されます。qmail は、 C 標準ライブラリのセキュリティを考慮した代替品を使用して実装されたため、スタックおよびヒープオーバーフロー、書式文字列攻撃、または一時ファイルの競合状態に対して脆弱ではありませんでした。
パフォーマンス
qmail はリリース当時、特にメーリング リスト サーバーなどの大量メール処理において Sendmail よりも大幅に高速でした。qmail はもともと、大規模なメーリング リストを管理する方法として設計されました。
シンプルさ
qmail が導入された時点では、Sendmail の設定は非常に複雑でしたが、qmail は設定と展開が簡単でした。
イノベーション
qmail は、メールにおけるいくつかの革新的技術 (Bernstein が考案したものもあれば、そうでないものもあります) の使用を推奨しています。
- メールディレクトリ
- Bernstein は、qmail 用にMaildir形式を発明しました。これは、個々の電子メール メッセージを別々のファイルに分割するものです。すべてのメッセージを 1 つのファイルに保存する事実上の標準であるmbox形式とは異なり、Maildir は多くのロックや同時実行の問題を回避し、 NFS経由で安全にプロビジョニングできます。qmail は mbox メールボックスにも配信します。
- ワイルドカードメールボックス
- qmail では、ユーザー制御のワイルドカードの概念が導入されました。qmail ホスト上の「user- wildcard 」宛てのメールは、すぐに別のメールボックスに配信され、ユーザーはメーリング リストやスパム管理用に複数のメール アドレスを公開できます。
qmailでは、事実上の標準であるSMTP(Simple Mail Transfer Protocol)よりも優れたパフォーマンスを実現するように設計された電子メール転送プロトコルであるQuick Mail Transport Protocol(QMTP)も導入されています。 [4]また、複数のホスト間で電子メールキューを共有するために設計されたネットワークプロトコルであるQuick Mail Queuing Protocol(QMQP)も導入されています。[5]
モジュール性
qmail はほぼ完全にモジュール化されたシステムであり、各主要機能は他の主要機能から分離されています。新しいモジュールが元のモジュールと同じインターフェイスを保持している限り、qmail システムの任意の部分を別のモジュールに置き換えることは簡単です。
論争
セキュリティ報酬とゲオルギ・グニンスキーの脆弱性
1997年、バーンスタインは、最新のソフトウェアバージョンで検証可能なセキュリティホールを最初に公開した人に500ドルの報奨金を出すと発表しました。 [6]
2005 年、セキュリティ研究者の Georgi Guninski はqmail に整数オーバーフローがあることを発見しました。64 ビット プラットフォームでは、十分な仮想メモリを備えたデフォルト構成で、特定の qmail コンポーネントに大量のデータを配信すると、リモート コード実行が可能になります。Bernstein は、これが実用的な攻撃ではないと反論し、実際の qmail の展開では影響を受けないと主張しています。qmail コンポーネントのリソース制限を構成すると、脆弱性が軽減されます。[7]
2007 年 11 月 1 日、バーンスタインは報奨金を 1,000 ドルに引き上げました。[1]翌日のスライド プレゼンテーションで、バーンスタインは 10 年前の qmail-1.03 には 4 つの「既知のバグ」があり、そのどれもが「セキュリティ ホール」ではないと述べました。彼は、ガンインスキーが発見したバグを「未チェックのカウンタの潜在的なオーバーフロー」と表現しました。「幸い、カウンタの増加はメモリと設定によって制限されていましたが、これは完全に幸運でした。」[8]
2020年5月19日、 Qualys [9]によってGuninskiの脆弱性を悪用した有効なエクスプロイトが公開されましたが、エクスプロイトの作成者は追加の環境制限が含まれているため報奨金を拒否されたと述べています。
更新頻度
コアqmailパッケージは長年更新されていません。[10]新しい機能は当初サードパーティのパッチによって提供されていましたが、その中で当時最も重要な機能はnetqmailと呼ばれる単一のメタパッチにまとめられました。[11]
標準準拠
qmail はSendmailの代替品として設計されたものではなく、あらゆる状況でSendmail とまったく同じように動作するわけではありません。場合によっては、こうした動作の違いが批判の根拠となっています。たとえば、qmail のバウンスメッセージへのアプローチ (QSBMF と呼ばれる形式) は、IETFの RFC 1894 [12]で指定された配信状態通知の標準形式とは異なります。この標準形式は、その後RFC 3464 [13]としてドラフト標準に進み、 SMTP仕様で推奨されています。
qmail の機能の中には、メール転送の複雑さを招いているとして批判されているものもあります。たとえば、qmail の「ワイルドカード」配信メカニズムとセキュリティ設計により、SMTP トランザクション中に偽造された、または存在しない送信者からのメッセージを拒否することができません。[14]過去には、これらの違いにより、スパム リレーとして悪用されたときに qmail が異なった動作をした可能性がありますが、最近のスパム配信技術はバウンス動作の影響を受けにくくなっています。
著作権の状態
qmailは2007年11月にパブリックドメインにリリースされました。[15] 2007年11月まで、qmailはライセンスフリーソフトウェアであり、一定の制限(主に互換性に関するもの)が満たされた場合に限り、ソース形式またはコンパイル済み形式(「var-qmailパッケージ」)での配布が許可されていました。この異例のライセンス契約により、qmailはいくつかのガイドライン(DFSGなど)に従って非フリーとなり、論争の原因となりました。
qmail は、広く導入されている唯一のパブリック ドメイン ソフトウェアメッセージ転送エージェント ( MTA ) です。
参照
参考文献
- ^ ab 「qmail 1.0 の 10 年を経てのセキュリティに関する考察」(PDF) 。2007 年 12 月 1 日閲覧。
- ^ notqmail のお知らせ
- ^ 「配布者向け情報」。qmail
パッケージ (特に
MD5
チェックサム 622f65f982e380dbe86e6574f3abcb7c の qmail-1.03.tar.gz) をパブリック ドメインに置きます。パッケージの変更、変更版の配布などは自由に行うことができます。
- ^ 「Quick Mail Transfer Protocol (QMTP)」. 1997年2月1日. 2023年5月6日閲覧。
- ^ 「QMQP: クイックメールキューイングプロトコル」。2023年5月6日閲覧。
- ^ 「qmail のセキュリティ保証」。2007年 10 月 5 日閲覧。
- ^ Georgi Guninski. 「Georgi Guninski セキュリティ アドバイザリ #74、2005」 。2007年 10 月 5 日閲覧。
- ^ 「qmail 1.0 の 10 年を経てのセキュリティに関する考察 [スライド プレゼンテーション]」(PDF) 。2008 年 1 月 17 日閲覧。
- ^ 「[oss-security] qmailでのリモートコード実行(CVE-2005-1513) - MARC」。marc.info 。 2021年3月3日閲覧。
- ^ 「qmail のある生活; 歴史」 。2007年 12 月 1 日閲覧。
- ^ "netqmail". netqmail.org . 2021年3月3日閲覧。
- ^ Vaudreuil, Gregory M.; Moore, Keith (1996). 「配信ステータス通知用の拡張メッセージ形式」. tools.ietf.org . doi :10.17487/RFC1894 . 2021年3月3日閲覧。
- ^ Vaudreuil, Gregory M.; Moore, Keith (2003). 「配信ステータス通知用の拡張メッセージ形式」. tools.ietf.org . doi :10.17487/RFC3464 . 2021年3月3日閲覧。
- ^ Moen, Rick (2006 年 10 月)。「Qmail、偽造メール、SPF レコードについて」。Linux Gazette (131)。
- ^ 「Bernstein がコードをパブリック ドメインにリリース」。2007年 11 月 30 日閲覧。
外部リンク
- 公式サイト 、著者によって管理されています。
- qmail.org、Russ Nelson が管理
- qmail-LDAP-UI – qmail-LDAP-UI は Web ベースのユーザー管理ツールです
- Qmailtoaster – 適切なディストリビューション用の RPM ファイルを配布し、qmail をすばやく簡単にインストールします。Wiki とメーリング リストがあります。
- pkgsrc qmail と qmail-run は、pkgsrc に含まれる、簡単にインストールできるクロスプラットフォームの qmail ソース パッケージのペアです。
- FAQTS の qmail セクションは、qmail ユーザーが作成した広範な知識ベースです。
- qmail wiki は以前は Inter7 によってホストされていました
- JMSimpson qmail サイト John M. Simpson による、qmail に関する役立つ情報 (説明やパッチを含む) (定期的に更新)
- 非公式 qmail バグとウィッシュリスト
- qmail キューメッセージ配信 (PHP)
- qmail-distributions – qmail パッチを使いやすいディストリビューションにまとめたもの
- Roberto の qmail ノート – qmail および関連ソフトウェアに関する英語/イタリア語のハウツー。大きなパッチが含まれており、定期的に更新されます。
