2.2.8. Sendmail のセキュア化

Sendmail は メール転送エージェント (MTA) で、他の MTA や Email クライアント、配信エージェント間で電子メッセージを配信するために Simple Mail Transfer Protocol (SMTP) を使用します。多くの MTA には MTA 間のトラフィックを暗号化する機能がありますが、ほとんど使用されていないので、公開ネットワーク上での Email 送信はもともと安全でない通信方法とみなされています。
Sendmail サーバーの実装を計画している場合は、以下の問題に対処することが推奨されます。

2.2.8.1. サービス拒否攻撃を制限する

Email の性質上、攻撃者が本気になるとサーバーに大量のメールを送信し、サービス拒否を発生させることが簡単にできます。/etc/mail/sendmail.mc の以下の指示文に制限を設定すると、このような攻撃の有効性が制限されます。
  • confCONNECTION_RATE_THROTTLE — サーバーが 1 秒当たりに受信できる接続数です。デフォルトでは、Sendmail は接続数を制限しません。制限が設定され、その数に達した場合は、新たな接続は遅延します。
  • confMAX_DAEMON_CHILDREN — サーバーが生成する子プロセスの最大数です。デフォルトでは、Sendmail は子プロセス数を制限しません。制限が設定され、その数に達した場合は、新たな接続は遅延します。
  • confMIN_FREE_BLOCKS — サーバーがメールを受信するために必要な利用可能空きブロックの最低数です。デフォルトは 100 ブロックです。
  • confMAX_HEADERS_LENGTH — 受信可能なメッセージヘッダーの最大サイズ (バイト単位) です。
  • confMAX_MESSAGE_SIZE — 受信可能な単一メッセージの最大サイズ (バイト単位) です。