いつも大変お世話になっております。
http://www.aconus.com/~oyaji/centos/maia_centos4.4.htm
を参考に、Maia Mailguard(1.0.2)環境を構築して運用し始めたのですが、
ユーザがなかなか管理をしてくれません。これは運用上の問題なのですが
Maiaには隔離メール(及び正規メール)を一定期間保存して
自動削除したり、一定数以上溜まると通知したりする機能があると思うのですが
全く動作していないようです。2ヶ月以上溜まっている人や
4000通ぐらい溜まっている人もいます。
Maia上の設定では
隔離メールの保存期間(日): [30]
正規メールの保存期間(日) [5]
通知メールの送信閾値(通数) [100]
通知メールの送信閾値(バイト) [500000]
とデフォルトのままです。
おやじさまのコンテンツ内での「メンテナンス用スクリプトの設定」
はその通りにしているのですが、maiadbtool.plによるエクスポートの
通知メールも届いたことがありません。
ログ等も漁ったのですが、どこら辺をチェックしたらいいのかがわからず
ご指導のほどよろしくお願いします。
> http://www.aconus.com/~oyaji/centos/maia_centos4.4.htm
> を参考に、Maia Mailguard(1.0.2)環境を構築して運用し始めたのですが、
> ユーザがなかなか管理をしてくれません。これは運用上の問題なのですが
> Maiaには隔離メール(及び正規メール)を一定期間保存して
> 自動削除したり、一定数以上溜まると通知したりする機能があると思うのですが
> 全く動作していないようです。2ヶ月以上溜まっている人や
> 4000通ぐらい溜まっている人もいます。
>
> Maia上の設定では
> 隔離メールの保存期間(日): [30]
> 正規メールの保存期間(日) [5]
> 通知メールの送信閾値(通数) [100]
> 通知メールの送信閾値(バイト) [500000]
> とデフォルトのままです。
>
> おやじさまのコンテンツ内での「メンテナンス用スクリプトの設定」
> はその通りにしているのですが、maiadbtool.plによるエクスポートの
> 通知メールも届いたことがありません。
これは、root@mail.example.comに届くので、aliasでrootを登録しておかないと受信できません。
[例]
2007-08-09 03:15:02 Maia: [maiadbtool] Expiring tokens from the SpamAssassin Bayes database
2007-08-09 03:15:26 Maia: [maiadbtool] expired old bayes database entries in 23 seconds
2007-08-09 03:15:26 Maia: [maiadbtool] 146703 entries kept, 0 deleted
2007-08-09 03:15:26 Maia: [maiadbtool] token frequency: 1-occurrence tokens: 92.40%
2007-08-09 03:15:26 Maia: [maiadbtool] token frequency: less than 8 occurrences: 4.55%
滞留警告は、send-quarantine-reminders.plで各ユーザに届くはずです。
[例]
Your Maia Mailguard quarantine area currently contains:
0 virus-infected items (0 bytes)
228 suspected spam items (4339492 bytes)
0 potentially dangerous file attachments (0 bytes)
0 items with broken mail headers (0 bytes)
Visit https://www.aconus.com/xxxx/ to review your quarantined items and adjust
your spam and virus settings if necessary.
Quarantined items will be held for a maximum of 1 days before being automatically
deleted. The oldest item currently in your quarantine will be deleted in -12 days.
For further information or assistance with Maia Mailguard, contact
oyaji@mail.aconus.com.
自動削除についてはmaiaは管理すべきものと考え、実はわざと載せていません。が、ドキュメントを見ればわかるはずです。expire-quarantine-cache.plで削除できます。対象は、maia.confの$mail_typesで設定しますが、デフォルトではスパム判定されたメール以外は自動削除されます。さすがに、誤判定があるのでこれを自動削除するのは危険かと・・。
というより、スパムを止めている場合、チャント管理しないと来るべきメールが止まっていることを、使用者に周知することが重要と思います。
なお、これも自動削除した結果は、root@mail.example.comに届きます。
[例]
2007-08-14 21:05:02 Maia: [expire-quarantine-cache] Expiring Suspected Spam items [S] older than 30 days
2007-08-14 21:05:02 Maia: [expire-quarantine-cache] Expiring Virus/Malware items [V] older than 30 days
2007-08-14 21:05:02 Maia: [expire-quarantine-cache] Expiring Invalid Mail Header items [B] older than 30 days
2007-08-14 21:05:02 Maia: [expire-quarantine-cache] Expiring Banned File Attachment items [F] older than 30 days
2007-08-14 21:05:02 Maia: [expire-quarantine-cache] Expiring Suspected Non-Spam items [H] older than 5 days
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Expiring Orphaned items (mail with no recipients) older than one hour
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Expiring Stray References (recipient references with no mail items)
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Recalculating statistics
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Expiring Tokens due to expire now
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] 0 Suspected Spam items expired
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] 0 Virus/Malware items expired
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] 0 items with Invalid Mail Headers expired
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] 0 items with Banned File Attachments expired
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] 1307 Suspected Non-Spam items expired
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Current Cache After Expiration:
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Suspected Spam items : 236
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Virus/Malware items : 0
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Items with Invalid Mail Headers : 0
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Items with Banned File Attachments : 0
2007-08-14 21:05:15 Maia: [expire-quarantine-cache] Suspected Non-Spam items : 60
早速のレスありがとうございます。
> > Maia上の設定では
> > 隔離メールの保存期間(日): [30]
> > 正規メールの保存期間(日) [5]
> > 通知メールの送信閾値(通数) [100]
> > 通知メールの送信閾値(バイト) [500000]
> > とデフォルトのままです。
> >
> > おやじさまのコンテンツ内での「メンテナンス用スクリプトの設定」
> > はその通りにしているのですが、maiadbtool.plによるエクスポートの
> > 通知メールも届いたことがありません。
>
> これは、root@mail.example.comに届くので、aliasでrootを登録しておかないと受信できません。
これは、バーチャルドメイン環境下では、デフォルトドメインのルートと言うことでしょうか?
それともドメインごとに必要と言うことでしょうか?
> 滞留警告は、send-quarantine-reminders.plで各ユーザに届くはずです。
これが分からないんです。cronで実行して、見たことがありません。
前回の実行時の時でもわざとですがスパム判定待ちを1000通ぐらい溜めておいたのですが来ませんでした。
> 自動削除についてはmaiaは管理すべきものと考え、実はわざと載せていません。が、ドキュメントを見ればわかるはずです。expire-quarantine-cache.plで削除できます。対象は、maia.confの$mail_typesで設定しますが、デフォルトではスパム判定されたメール以外は自動削除されます。さすがに、誤判定があるのでこれを自動削除するのは危険かと・・。
こちらは大変よく分かりました。/var/amavisd/maia/scripts/にあって
これなんだろとは思っていたのですが、ドキュメントを読んでいなかったのは
怠慢でした。m(__)m
> > これは、root@mail.example.comに届くので、aliasでrootを登録しておかないと受信できません。
>
> これは、バーチャルドメイン環境下では、デフォルトドメインのルートと言うことでしょうか?
> それともドメインごとに必要と言うことでしょうか?
そのサーバのmyhostnameのroot宛です。そのドメインがvirtual_mailbox_domains パラメータ値にマッチするドメイン宛なら、virtual_transportで指定した配送エージェント(通常 virtual)に従うので、普通ならバーチャルドメインであり、そのドメインがローカルのドメインならlocal_transportに従います。
おやじのHPのとおりなら、どちらもバーチャル配送ですからpostfixadminでそのドメインを登録し、maiaにも登録しておく必要があります。
また、maiaにそのサーバが扱う全てのドメインを登録しておかないと、おやじのHPどおりの設定なら、まだ一度もログインしていないあるいは未知のユーザ宛のメールは喪失するので注意が必要です。
> > 滞留警告は、send-quarantine-reminders.plで各ユーザに届くはずです。
>
> これが分からないんです。cronで実行して、見たことがありません。
> 前回の実行時の時でもわざとですがスパム判定待ちを1000通ぐらい溜めておいたのですが来ませんでした。
cronはmaia(amavisd-new)のユーザ権限で動かしますが大丈夫ですか?
maiaとcronの設定を変更して強制的に動かし、mailログを見てみてはどうですか?
> そのサーバのmyhostnameのroot宛です。そのドメインがvirtual_mailbox_domains パラメータ値にマッチするドメイン宛なら、virtual_transportで指定した配送エージェント(通常 virtual)に従うので、普通ならバーチャルドメインであり、そのドメインがローカルのドメインならlocal_transportに従います。
> おやじのHPのとおりなら、どちらもバーチャル配送ですからpostfixadminでそのドメインを登録し、maiaにも登録しておく必要があります。
ドメインA = domaina.com
ドメインB = domainb.com
myhostname = mail.domaina.com
であれば、
postfitxadminでドメインmail.domaina.comを作成
転送アカウントroot@mail.domaina.com -> AdminAccount@domaina.com
maiaにて、ドメインmail.domaina.comを作成
root@mail.domaina.comエイリアス作成
AdminAccount@domaina.comに管理させる
と言うような感じでしょうか?
> cronはmaia(amavisd-new)のユーザ権限で動かしますが大丈夫ですか?
> maiaとcronの設定を変更して強制的に動かし、mailログを見てみてはどうですか?
cronはamavisユーザで動作させています。
先ほど実行させてみましたが、maillogには何も記載されず、
当然配信もされていません。
> > そのサーバのmyhostnameのroot宛です。そのドメインがvirtual_mailbox_domains パラメータ値にマッチするドメイン宛なら、virtual_transportで指定した配送エージェント(通常 virtual)に従うので、普通ならバーチャルドメインであり、そのドメインがローカルのドメインならlocal_transportに従います。
> > おやじのHPのとおりなら、どちらもバーチャル配送ですからpostfixadminでそのドメインを登録し、maiaにも登録しておく必要があります。
>
> ドメインA = domaina.com
> ドメインB = domainb.com
> myhostname = mail.domaina.com
> であれば、
> postfitxadminでドメインmail.domaina.comを作成
> 転送アカウントroot@mail.domaina.com -> AdminAccount@domaina.com
>
> maiaにて、ドメインmail.domaina.comを作成
> root@mail.domaina.comエイリアス作成
maiaにエイリアス機能はないです。上記でAdminAccount@domaina.comで管理できます。
> AdminAccount@domaina.comに管理させる
>
> と言うような感じでしょうか?
>
> > cronはmaia(amavisd-new)のユーザ権限で動かしますが大丈夫ですか?
> > maiaとcronの設定を変更して強制的に動かし、mailログを見てみてはどうですか?
> cronはamavisユーザで動作させています。
> 先ほど実行させてみましたが、maillogには何も記載されず、
> 当然配信もされていません。
おかしいですね。本当にスクリプトが実行されているか以下のように結果を残してみてはどうですか? /dev/null ではなくログファイルに変更し、時間を数分先にすれば実行されます。ファイル指定の前を>>にすると追記できます。
25 10 * * * amavis /var/amavisd/maia/scripts/send-quarantine-reminders.pl >> /var/log/maia/send-quarantine-reminders.log 2>&1
下記がログの一例です。oyaji宛てにメールを配送したログが残り、maillogにも当然残ります。
2007-08-15 10:25:01 Maia: [send-quarantine-reminders] Reminding: oyaji@mail.aconus.com
ただ、maillogに何もないのだとすると期待薄ですが・・・。syslogにcronのログがあり(これがないことには始まらないのですが)、且つ、エラーは出ていないですよね?
> maiaにエイリアス機能はないです。上記でAdminAccount@domaina.comで管理できます。
無事管理者宛メールは配信されました。
> おかしいですね。本当にスクリプトが実行されているか以下のように結果を残してみてはどうですか? /dev/null ではなくログファイルに変更し、時間を数分先にすれば実行されます。ファイル指定の前を>>にすると追記できます。
>
> 25 10 * * * amavis /var/amavisd/maia/scripts/send-quarantine-reminders.pl >> /var/log/maia/send-quarantine-reminders.log 2>&1
>
> 下記がログの一例です。oyaji宛てにメールを配送したログが残り、maillogにも当然残ります。
>
> 2007-08-15 10:25:01 Maia: [send-quarantine-reminders] Reminding: oyaji@mail.aconus.com
>
> ただ、maillogに何もないのだとすると期待薄ですが・・・。syslogにcronのログがあり(これがないことには始まらないのですが)、且つ、エラーは出ていないですよね?
ログファイルをtouchして、amavisにchownしてcron実行
スクリプトのログファイルには何も記載されず、cronログには
実行されただけ記載されています。
おやじさまのご教授で、maiadbtoolのメールは来るようになったのですが、
2007-08-16 03:15:00 Maia: [maiadbtool] Expiring tokens from the SpamAssassin Bayes database
2007-08-16 03:15:02 Maia: [maiadbtool] bayes: expire_old_tokens: locker: safe_lock: cannot create tmp lockfile //.spamassassin/bayes.lock.mydomainname.30068 for //.spamassassin/bayes.lock: No such file or directory
なんてメッセージでした。
bayesはDBに取り込んでいるはずだしと思って調べてみると
/etc/mail/spamassassin/local.cfに追加した
use_bayes 1
bayes_store_module Mail::SpamAssassin::BayesStore::SQL
#bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
bayes_sql_dsn DBI:mysql:maia
#bayes_sql_dsn DBI:Pg:dbname=maia;host=localhost;port=5432
bayes_sql_username amavis
bayes_sql_password amavis
auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn DBI:mysql:maia
#user_awl_dsn DBI:Pg:dbname=maia;host=localhost;port=5432
user_awl_sql_username amavis
user_awl_sql_password amavis
が有りません.
TLECさんのルールの取り込みスクリプトsa_learn.shで
local.cfが上書きされているようなのですが、この動作で構わないのでしょうか?
> > maiaにエイリアス機能はないです。上記でAdminAccount@domaina.comで管理できます。
>
> 無事管理者宛メールは配信されました。
>
> > おかしいですね。本当にスクリプトが実行されているか以下のように結果を残してみてはどうですか? /dev/null ではなくログファイルに変更し、時間を数分先にすれば実行されます。ファイル指定の前を>>にすると追記できます。
> >
> > 25 10 * * * amavis /var/amavisd/maia/scripts/send-quarantine-reminders.pl >> /var/log/maia/send-quarantine-reminders.log 2>&1
> >
> > 下記がログの一例です。oyaji宛てにメールを配送したログが残り、maillogにも当然残ります。
> >
> > 2007-08-15 10:25:01 Maia: [send-quarantine-reminders] Reminding: oyaji@mail.aconus.com
> >
> > ただ、maillogに何もないのだとすると期待薄ですが・・・。syslogにcronのログがあり(これがないことには始まらないのですが)、且つ、エラーは出ていないですよね?
>
> ログファイルをtouchして、amavisにchownしてcron実行
> スクリプトのログファイルには何も記載されず、cronログには
> 実行されただけ記載されています。
ログファイルは書き込み権限があれば、touchしなくても初回に自動生成されるので大丈夫ですが、何も残らず、cornのログが残っているとすると、対象となるユーザがいないとしか思えないのですが・・・?
> おやじさまのご教授で、maiadbtoolのメールは来るようになったのですが、
> 2007-08-16 03:15:00 Maia: [maiadbtool] Expiring tokens from the SpamAssassin Bayes database
> 2007-08-16 03:15:02 Maia: [maiadbtool] bayes: expire_old_tokens: locker: safe_lock: cannot create tmp lockfile //.spamassassin/bayes.lock.mydomainname.30068 for //.spamassassin/bayes.lock: No such file or directory
> なんてメッセージでした。
> bayesはDBに取り込んでいるはずだしと思って調べてみると
> /etc/mail/spamassassin/local.cfに追加した
>
> use_bayes 1
> bayes_store_module Mail::SpamAssassin::BayesStore::SQL
> #bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL
> bayes_sql_dsn DBI:mysql:maia
> #bayes_sql_dsn DBI:Pg:dbname=maia;host=localhost;port=5432
> bayes_sql_username amavis
> bayes_sql_password amavis
> auto_whitelist_factory Mail::SpamAssassin::SQLBasedAddrList
> user_awl_dsn DBI:mysql:maia
> #user_awl_dsn DBI:Pg:dbname=maia;host=localhost;port=5432
> user_awl_sql_username amavis
> user_awl_sql_password amavis
>
>
> が有りません.
> TLECさんのルールの取り込みスクリプトsa_learn.shで
> local.cfが上書きされているようなのですが、この動作で構わないのでしょうか?
これは大変申し訳ないです。bayesDBは後で対処したので、ファイルがぶつかっています。
sa_learn.shのCF_DIRを適当なディレクトリ("/var/amavisd/"あたり)に書き換えて、CF_FILESを"user_prefs"にして、/etc/maia.conf 内の$user_rules_dir もそこに変更してください。HPの方は修正しておきます。
CF_DIR="/var/amavisd/"
CF_FILES="user_prefs"
なお、HPにも書きましたが、「bayes_auto_expire 0」は忘れないでください。
> ログファイルは書き込み権限があれば、touchしなくても初回に自動生成されるので大丈夫ですが、何も残らず、cornのログが残っているとすると、対象となるユーザがいないとしか思えないのですが・・・?
cronのログは動作したことのみ書かれているだけです。
スクリプトログは0byte
maillogには'send-quarantine-reminders'の文字がありません。
ターゲットユーザは私個人のユーザで確実にあります。
maiaで確認した未確定スパムは249通です。
maiaのweb管理画面に設定されている(MySQL DB::maiaに格納されている)通知メールの送信閾値(通数) を見ているんですよね?
これはデフォルトの100通にしたままなのですが。
もしかして、全く違う設定ファイルを見ているんでしょうか?
> これは大変申し訳ないです。bayesDBは後で対処したので、ファイルがぶつかっています。
> sa_learn.shのCF_DIRを適当なディレクトリ("/var/amavisd/"あたり)に書き換えて、CF_FILESを"user_prefs"にして、/etc/maia.conf 内の$user_rules_dir もそこに変更してください。HPの方は修正しておきます。
>
> CF_DIR="/var/amavisd/"
> CF_FILES="user_prefs"
>
> なお、HPにも書きましたが、「bayes_auto_expire 0」は忘れないでください。
ご修正有り難うございます。無事エラーのないmaiadbtoolの通知が来ました。
大変お恥ずかしい事だったのですが、
maiaの個人設定画面で
「隔離エリアの状態通知メールを希望するか」をはいにすることで
配信されました。
send-quarantine-reminders.plは強制的に送るものだと勘違いしていました。
> 大変お恥ずかしい事だったのですが、
> maiaの個人設定画面で
> 「隔離エリアの状態通知メールを希望するか」をはいにすることで
> 配信されました。
> send-quarantine-reminders.plは強制的に送るものだと勘違いしていました。
最もベーシックなところでしたね。以外にそういうものなので、どうしてもおかしい場合は原点から見直すと見つかることがよくありますね。
今回、こうやってmaiaを見直したことでミスを指摘いただいただけでなく、肝心の通知メールが英語のままということに気がつきました。
これでは、エンドユーザには使ってもらえないので、メールの日本語化をする予定です。というか、おやじの環境では既にできていますので、近いうちにアップします。
おやじさまの懇切丁寧なご対応のお陰で、細かいところまで見直すことができ、
本当にありがとうございました。
> これでは、エンドユーザには使ってもらえないので
エンドユーザに使ってもらうというのがホントに大切かつ難しいところだと痛感しています。
> > これでは、エンドユーザには使ってもらえないので
>
> エンドユーザに使ってもらうというのがホントに大切かつ難しいところだと痛感しています。
1.0.2aだけですが、各種警告メールを日本語化しました。Jcode.pmが必要です。
既に1.0.2aになっている場合は、1.0.2aの原本にパッチをあてて、必要なファイルだけ入れ替えることで対応できます。