最後に、milterを束ねてくれる milter-manager のインストール。FreeBSDだと gmake でインストールしないとうまく入らないかも。
enma については milter-manager の detector.rb が見つけてくれないので、/usr/local/etc/milter-manager/milter-manager.local.confを作成する。
define_milter("milter-enma") do |milter|
milter.connection_spec = "inet:10025@127.0.0.1"
milter.description = "yenma milter"
milter.enabled = true
milter.fallback_status = "accept"
milter.evaluation_mode = false
milter.applicable_conditions = ["Remote Network", "Unauthenticated"]
#milter.command = "/usr/local/etc/rc.d/milter-enma"
milter.command = "/usr/local/etc/rc.d/yenma"
milter.command_options = "start"
milter.user_name = nil
milter.connection_timeout = 300.0
milter.writing_timeout = 10.0
milter.reading_timeout = 10.0
milter.end_of_message_timeout = 300.0
end
milter.applicable_conditions に "Unauthenticated" をつけているので、smtp-auth, SSL/TLS認証で投げ込んでこない、spammer MTA clientについては spfチェックを行う。 認証して投げ込んでくるクライアントは spf通らないのでありがたい。
最後に、milterを束ねてくれる milter-manager のインストール。FreeBSDだと gmake でインストールしないとうまく入らないかも。
enma については milter-manager の detector.rb が見つけてくれないので、/usr/local/etc/milter-manager/milter-manager.local.confを作成する。
define_milter("milter-enma") do |milter|
milter.connection_spec = "inet:10025@127.0.0.1"
milter.description = "yenma milter"
milter.enabled = true
milter.fallback_status = "accept"
milter.evaluation_mode = false
milter.applicable_conditions = ["Remote Network", "Unauthenticated"]
#milter.command = "/usr/local/etc/rc.d/milter-enma"
milter.command = "/usr/local/etc/rc.d/yenma"
milter.command_options = "start"
milter.user_name = nil
milter.connection_timeout = 300.0
milter.writing_timeout = 10.0
milter.reading_timeout = 10.0
milter.end_of_message_timeout = 300.0
end
milter.applicable_conditions に "Unauthenticated" をつけているので、smtp-auth, SSL/TLS認証で投げ込んでこない、spammer MTA clientについては spfチェックを行う。 認証して投げ込んでくるクライアントは spf通らないのでありがたい。
いろいろ調べてみて、使う spfは国産の enma(yenma)が一番良さそう?と思われる。 milter-manager で利用可能な milter一覧は
https://milter-manager.osdn.jp/reference/ja/available-milters.htmlにあり、spfだけなら spfmilterがあり、libspf or libspf2などのインストールも比較的簡単そうだけど、enmaは国産(IIJ)でもあり、すでに枯れているようだし、securemx.jp でも黙って使っていて(Mail Header を見るとわかる)、open source の最新版(https://github.com/iij/yenma/releases)の v2.0.0-rc1で良さそうな気がする。
ldns は
./configure --libdir=/usr/local/lib --disable-dane-verify
gmake
gmake install
でインストール。
FreeBSDで gcc,gmake で作ったが、起動時にどうもエラーが。user: mailnull を confに指定するとうまく起動しない。'sysconf failed' のエラーが。
調べていくと、common/daemon_stuff.c の中で
long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
がおかしいらしい。ChangeLogを見ると、
2008-08-26
* fix sysconf(_SC_GETPW_R_SIZE_MAX) problem on FreeBSD
とあるが、これがまた 最近の FreeBSDでは enbugしてしまったのだろうか?
とりあえず、
# diff common/daemon_stuff.c common/daemon_stuff.c.org
217,218c217
< // long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
< long buflen = 16384;
---
> long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
と、適当な値を設定してcompileし直したところ、どうもうまく通過。
起動scriptは、/usr/ports/mail/enma/files/milter-enma.in を適当に書き換えて/usr/local/etc/rc.d/ 以下に設置、あとは /etc/rc.confに enma の記述を追加。
とりあえず spfだけチェック。dkim,sender id,dmarcは false でチェックしないようにしてみた。
いろいろ調べてみて、使う spfは国産の enma(yenma)が一番良さそう?と思われる。 milter-manager で利用可能な milter一覧は
https://milter-manager.osdn.jp/reference/ja/available-milters.htmlにあり、spfだけなら spfmilterがあり、libspf or libspf2などのインストールも比較的簡単そうだけど、enmaは国産(IIJ)でもあり、すでに枯れているようだし、securemx.jp でも黙って使っていて(Mail Header を見るとわかる)、open source の最新版(https://github.com/iij/yenma/releases)の v2.0.0-rc1で良さそうな気がする。
ldns は
./configure --libdir=/usr/local/lib --disable-dane-verify
gmake
gmake install
でインストール。
FreeBSDで gcc,gmake で作ったが、起動時にどうもエラーが。user: mailnull を confに指定するとうまく起動しない。'sysconf failed' のエラーが。
調べていくと、common/daemon_stuff.c の中で
long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
がおかしいらしい。ChangeLogを見ると、
2008-08-26
* fix sysconf(_SC_GETPW_R_SIZE_MAX) problem on FreeBSD
とあるが、これがまた 最近の FreeBSDでは enbugしてしまったのだろうか?
とりあえず、
# diff common/daemon_stuff.c common/daemon_stuff.c.org
217,218c217
< // long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
< long buflen = 16384;
---
> long buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
と、適当な値を設定してcompileし直したところ、どうもうまく通過。
起動scriptは、/usr/ports/mail/enma/files/milter-enma.in を適当に書き換えて/usr/local/etc/rc.d/ 以下に設置、あとは /etc/rc.confに enma の記述を追加。
とりあえず spfだけチェック。dkim,sender id,dmarcは false でチェックしないようにしてみた。