DNS Firewallを作ってみる(その1)から随分と時間が経った。
これはspaamhausからメールが届かない、と言う多分、こちらの設定ミスからだろう。
と言うことで、Gmailでの登録とした。
あっさり通った。(今までの苦労は何だったの……)
と、言うことでメールが届いた。
早速、赤丸をクリックしてlogin画面へ飛ぶ。

login画面は、パスワードの設定画面だった。

コントロールパネルへ移動。
ip addressを入力すると、すぐに許可が出た。

現在の状況。
良く判らないが、dbx.drop.ip.dtqはダウンロードできている。
これの確認が難しい。

組み込み方はDNS FirewallにPowerDNSとBINDと分けて詳しく書かれています。が、ここに罠があります。
記述自体が古いんですよ。
なので設定も古いまま取り残されています。
BINDしか読んでいませんが、master/slaveとbind9.21から廃止される名称。
ixfr-from-difference yes;という既に廃止されたものも載っています。
ここから、「確かに解り易いけれど全て信じてはダメ」という結論になります。
AIさんやGeminiさんに協力して貰ってバグ出しすることを推奨します。
これがDNS Firewallの設定です。
34.194.195.25と35.156.219.71は無料で使えるDNS Firewall用に設定されています。
ipinfoで確認したらAWSのサーバーでした。
optionsにmin-refresh-time 86400;とmax-refresh-time 86400;が書いてあるのは、spamhausのFAQに「一日一回で十分よ」と記されていたから。
他のところも一日一回になってしまうのだけれど、これは特に問題無いです。(secondaryもlocal onlyだし殆ど変更が無いし)


別に1時間に一回でもAWS serverなら問題無いんだと思う。けど、まぁそこまで頻繁でなくても良いでしょう。
こちらはsecundayというか並列実行のprimary serverなんだけれど、もう一方が生きていればdnsとして問題無い構成になっている。
だから遊べた。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// DNS Firewall Settings options { response-policy { zone "local.rpz"; zone "drop.ip.dtq"; }; min-refresh-time 86400; max-refresh-time 86400; }; logging { channel rpzlog { file "/opt/local/var/log/bind9/rpz.log"; print-time yes; print-category yes; print-severity yes; severity info; }; category rpz { rpzlog; }; }; // DNS Firewall zone zone "local.rpz" { type secondary; file "local.rpz"; primaries { 192.168.0.35; }; allow-transfer { none; }; allow-query { localhost; localnets; }; }; primaries "MASTER_ZONE_IPS" { 34.194.195.25; 35.156.219.71; }; zone "drop.ip.dtq" { type secondary; file "dbx.drop.ip.dtq"; primaries { MASTER_ZONE_IPS; }; allow-transfer { 192.168.0.35; }; also-notify { 192.168.0.35; }; allow-query { localhost; localnets; }; }; |
もう一方側は、こいつの更にsecundaryとして動かしている。
|
1 2 3 |
primaries "MASTER_ZONE_IPS" { 192.168.0.35; }; |
にしているだけだ。
local.rpz関しては、向こうがprimaryなので、そこの設定だけ載せる。
|
1 2 3 4 5 6 7 |
zone "local.rpz" { type secondary; file "local.rpz"; primaries { 192.168.0.35; }; allow-transfer { none; }; allow-query { localhost; localnets; }; }; |
動作確認をしたいが、dbx.drop.ip.dtqはバイナリなので、そのままでは読めない。
ではどうするか、Geminiさんに聞くのである。
「dbx.drop.ip.dtqはバイナリだから読めない、テキストに起こす方法教えて?」ってな具合に。
で、教わったのが、これ。(実は加工済み)
|
1 |
named-compilezone -f raw -F text -o - drop.ip.dtq /opt/local/var/named/dbx.drop.ip.dtq | grep "CNAME" | head -5 |
これでtextに変換後の確認ができる。
が、大抵のipは逆引きできないので、正しく動いている(とするとアドレスが無いと返ってくる)のか、単なる逆引き失敗なのか判別できないのだわ。
一応、見つけたら書き加える予定。
その前に、spamhausから届いたメールのヘッダーを眺めていた。
何故うちのサーバーに届かないのか、原因究明である。
先ず、spamhaus.orgでなく、spamhaus.comが送信元だった。
accessにはspamhaus.orgのみ入っていてspamhaus.comが無かった。
そしてspamhausもHubSpotを使っていた。
|
1 2 3 |
X-Report-Abuse-To: abuse@hubspot.com (see https://policy.hubspot.com/abuse-complaints) Feedback-ID: aednf1f:aiguurut:aib1s:HubSpot |
以前、幾つもの売り込み広告メールがHubSpot経由で届いたので弾いたのだった。
|
1 2 |
access:.hubspotemail.net REJECT Spam_mail_service header_checks:/^Received:.*\.hubspotemail\.net/ DISCARD Spamer-sender |
これ(access側)が引っ掛かっていた模様。
自爆である。

