「Sendmail」カテゴリーアーカイブ

Sendmail送信制限設定

/etc/mail/sendmail.mc

sendmail.mc は /etc/mail ディレクトリに入っています。このファイルを root で編集します。その後、次のように m4 コマンドで sendmail.cf ファイルを生成します。
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

例えば50通に制限したい場合は、
define(`confMAX_RCPTS_PER_MESSAGE’, `10′)dnl
と追加記述してください。

relay_mail_from
送信者のメールアドレスがアクセスマップ内でRELAYと記述されていれば、中継を許可する。 もし、引数にdomainが指定されていれば、ドメインもチェックする。 なお、アクセスマップに関しては、access_dbを参照のこと。
FEATURE(`relay_mail_from’)dnl
FEATURE(`relay_mail_from’, `domain’)

/etc/mail/trusted-users

accessマップ
From:bob@your.domain RELAY ← this sender can relay
From:watanet.com RELAY ← ドメインごと中継許可
makemap hash /etc/mail/access < /etc/mail/access sendmailの再起動 /etc/init.d/sendmail stop /etc/init.d/sendmail start sendmail再起動時のメッセージ Makefile:365: 警告: ターゲット `/etc/aliases.db' へのコマンドを置き換えます Makefile:362: 警告: ターゲット `/etc/aliases.db' への古いコマンドは無視されます Makefile:421: 警告: ターゲット `/etc/aliases' へのコマンドを置き換えます Makefile:362: 警告: ターゲット `/etc/aliases' への古いコマンドは無視されます 554 5.0.0 No local mailer defined 554 5.0.0 QueueDirectory (Q) option must be set

rootに大量のspam その2

その後もコンスタントにrootにspamが届いてきて、すべてがspamフォルダに入るようになったからいいけど、ほとんどのspamはユーザ不在のいい加減なアドレス宛だったりする。

だったらuser unknownで返すのがいいんじゃないか?

ということで、sendmailの設定をいろいろと調べていたら、virtusertableで対処できることが分かった。virtusertableにユーザ不在の場合はunknownで返すように設定するには、@domain.com error:5.5.1:Unknown userと記述するだけ。ちなみに、domain.comとerrorの間はtabであり、spaceではない。複数ドメインを管理している場合はドメイン毎に1行設定を追加する。

virtusertableを上書き保存したら、# makemap hash virtusertable.db < virtusertablevirtusertable.dbを再作成する。この変更はdbを作るとすぐ反映されるらしく、sendmailの再起動は必要ない。

これでほとんどのspamは弾き返されるようになった。スッキリ!!

Outbound Port 25 Blocking対策

スパム対策に導入されたOutbound Port 25 Blockingへの対策・・・

簡単なことで、外向けのメールはすべてISP(我が家の場合はplala)のSMTPサーバに投げてあげればいいだけ。一部ISPでは送信メール数に上限があるみたいだけど、plalaは確認した限りではなさそう。まあ、我が家のメール送信数では問題にならないだろうけどね。

変更する箇所は1つだけで、/etc/mail/sendmail.mcの
dnl define(`SMART_HOST',`xxx.hogehoge.com')とコメントアウトされているところをdefine(`SMART_HOST',`isp.mail.servername.com')と、dnlを削除して有効化し、ISPのSMTPサーバ名(FQDN)に書き直せばOK。

あとは、# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cfとしてsendmail.cfを作成して、
# /etc/rc.d/init.d/sendmail restartとしてsendmailを再起動するだけ。でもなぜかgenericstable.dbへのアクセス権がないとか言って再起動に失敗したんだけど、GUIの[システム設定]ー[サーバ設定]ー[サービス]でsendmailの再起動を行ってみたらちゃんとできた。とりあえず今日のところはこれで許してやろう。

genericstable.dbはsmmspとかいうユーザに設定されていたんだけど、どっかで見たような覚えが・・・ これはまた後で調べることにしよう。

i-modeよ、お前もか!

我が家ではB FLET’S回線を使っていて、ISPはPlalaにしているんだけど、ついにi-modeへもOutbound Port 25 Blockingを導入したらしい。これで我が家からケータイ向けへは直接メールできなくなってしまった。

迷惑メール業者対策なんだろうけど、これはあんまりだなぁ。もうちょっと他の手段がないものだろうか。ユーザからの一斉大量メールを監視して、ある量を超えたら接続できなくしてしまうとか。まあ、実際これをやろうとするとアクセスポイント毎にパケットキャプチャ+フィルタリング機能を持たせなくてはいけないから実施は難しいと思うけど。

恐らくSendmailの設定で、送信先メールサーバを追加すればいいのだと思うけど、バーチャルドメイン設定が施されている今の設定をいじりたくないなぁ。ってゆーか、迷惑メール業者も同じ対策がとれるわけで、あまり有効な対策じゃないんじゃないかと思う今日この頃。

暇が出来たら対応することにしよう・・・

Sendmailのバーチャルドメイン設定

またまた新しいドメインを追加することになったので、ここいら辺でSendmailのバーチャルドメインの設定方法でもまとめておこう。ちなみに、これは「正解」の方法ではなくて、我が家の設定がそうなってる、っていうだけです。いくつも設定の仕方はあると思います。

ドメインを追加する作業と、そのドメインに属するユーザを追加する作業に分かれる。
続きを読む Sendmailのバーチャルドメイン設定