Postfixの簡易的な添付ファイルブロック処理
PostfixにはMime headerをチェックする機能が備わっています。これを使ってウィルス混入のメールをある程度ブロック可能です。
まず、編集のため設定ファイル「main.cf」をオープンします。
$ vi /etc/postfix/main.cf
次の一行を追加します。
mime_header_checks = regexp:/etc/postfix/mime_header_checks
記述したらセーブして閉じてください。
次の作業は実際にブロックする添付ファイルの拡張子を設定します。(新規オープンだね)
$ vi /etc/postfix/mime_header_checks
次の一行を追加してください。
/name=[^>]*\.(bat|com|exe|dll|vbs)$/ REJECT
これでセーブしてPostfixを再起動すると反映されます。
Postfixの1コネクション確立で送る通数の制御
通常sendmail等は、1コネクション1通送って切断ですが、postfix は1コネクションで指定した通数のメールが送れる。この単位が1デリバリー。だから切断が少ない分速く送れる。
しかし1コネクションで沢山送れる設定をやりすぎるとメモリがパンクしてしまう。
だから要注意。
メールはTo,Cc,Bccに複数の送り先を指定できることをお忘れなく!!
結局これも1コネクションで何通送れるかに依存してきます。
下記のパラメータは1デリバリーあたり最大送ることができる通数パラメータ。
The smtpd_recipient_limit parameter (default: 1000)
高負荷のマシンでは大きめにとるといい場合もあるかもしれませんね。
Sendmailはデフォルトでは一つのメールキューを使用しています。
小中規模サイトのメールではそれほど気にすることではないのですが、アクセスの多いメールサーバともなるとそうもいきません。
そこでご紹介するのがマルチキューによる高速処理です。キューはメールを吐き出す際に、受信する側の処理を待つために存在するわけですが、これを複数もつ事により負荷分散になる可能性があります。
キューイングで糞づまりはメールの世界ではよくあることです。だからこそ役立つ可能性は高いでしょう。
ここからキューを複数作る手法をご紹介します。例として8つのキューを作る事を考えてみましょう。
それでは、最初にキューを作成します。
$ mkdir /var/spool/mqueue/q{1,2,3,4,5,6,7,8}
作成したキューのディレクトリの権限のパーミッションを設定します。
$ chown -R root:root /var/spool/mqueue/q*
次に実際にsendmailの設定ファイルである“sendmail.mc“ファイルを編集します。
$ vi /etc/mail/sendmail.mc
define(`QUEUE_DIR’, `/var/spool/mqueue/q*’)dnl
再度sendmail.cfを作成するためm4でコンパイルします。
$ m4 sendmail.mc > /etc/mail/sendmail.cf
sendmailを再起動してください。
$ service sendmail restart
キューの状態を確認します。
$ mailq
/var/spool/mqueue/q6 is empty
/var/spool/mqueue/q4 is empty
/var/spool/mqueue/q3 is empty
/var/spool/mqueue/q2 is empty
/var/spool/mqueue/q5 is empty
/var/spool/mqueue/q1 is empty
/var/spool/mqueue/q7 is empty
/var/spool/mqueue/q8 is empty
Total requests: 0
これでマルチキューで動作するようになりました。
もし、既存のメールがまだキューに残っていた場合に作成するなら、新しく作った空っぽのキューへ既存のキューをコピーすると良いでしょう。
※ キューは異なる物理ディスク上に作成し、リンクを張って同一スプール配下に置くのがベストだと思います。