ホーム » t-saitoh の投稿 (ページ 3)

作者アーカイブ: t-saitoh

システム

最近の投稿

アーカイブ

カテゴリー

dmarc=fail p=none の受け取り拒否

自宅メールサーバでは、Postfix + Postgrey + amavisd + OpenDMARC + Spamassassin で運用しているが、
From 偽装は OpenDMARC で reject などができるようになった。

しかしながら、spammer は dmarc=fail 判定されても相手にメールが届くようにするため、ポリシー p=none のドメイン名探し、そのドメイン名を From にして、しつこく何度も送ってくる。

特定ドメインの dmarc=fail, p=none は受け取り拒否

しかたがないので、Postfix の OpenDMARC判定後に Postfix の header_checks の機能で p=none で送られてきたドメインは REJECT するようにしてみた。

((( /etc/postfix/main.cf )))
header_checks = regexp:/etc/postfix/header_checks

((( /etc/postfix/header_checks )))
/^Authentication-Results:.*dmarc=fail.*p=none.*header\.from=monex\.com/ \
        REJECT DMARC authentication failed for specific domain.

spammerは怪しいドメインを次々みつけてくる

header_checks で運用してたけど、spammer は次々と怪しいドメイン(p=noneのドメイン)を見つけてきて、すり抜けてくるメールを送ってくる。このままじゃ、header_checks ファイルを日々更新することになりそう。

しかたがないので、dmarc=fail, p=none は SpamAssassin で Spam スコアを上げて、迷惑メールに確実に落とすことを目標にしたほうが良さそう。

((( /etc/spamassassin/local.cf の末尾に追記 )))
# DMARC失敗 (p=none) を検知するルール
header   LOCAL_DMARC_FAIL_NONE  Authentication-Results =~ /dmarc=fail \(p=none/
describe LOCAL_DMARC_FAIL_NONE  DMARC validation failed with p=none
score    LOCAL_DMARC_FAIL_NONE  3.5

# (参考) DMARC失敗 (p=quarantine) の場合もスコアを上げたい場合
header   LOCAL_DMARC_FAIL_QUAR  Authentication-Results =~ /dmarc=fail \(p=quarantine/
describe LOCAL_DMARC_FAIL_QUAR  DMARC validation failed with p=quarantine
score    LOCAL_DMARC_FAIL_QUAR  5.0

猫寺と越前たけふ駅ウォーキング

{CAPTION}

{CAPTION}

{CAPTION}

{CAPTION}

{CAPTION}

{CAPTION}

{CAPTION}

Gemini for Home アップグレード

Gemini for Home の早期アップグレードが届いたことだし適用してみる。

完成度としては今ひとつという噂もあるけど。

2026-04-13追記

「OK google, テレビを消す!」と命令すると「テレビとチューナーどちらを消しますか?」と、チューナーがテレビの属性となっているので、余計な質問が増えた。連動設定してあるから、どっちを消してもちゃんと消えるけどさ。

何となく捨てられない

職場の棟の改修が予定されているので、不要な本の処分を始める。すでに古い技術で役に立たない技術書だけど、校費で買ったものは図書館に返還するために分類し、雑誌や私費で買ったものは次々と廃棄候補。
だけど、学生の時に読み込んでいた雑誌が、なんとなく懐かしすぎて捨てるのはやめておこうか…

DMARCレポートの修正

DMARCレポートを出力

最近、dmarc のメールが届かないと思ってたら、中で使っている munpack がインストールされていない。インストールしようにも apt で見つからない。Ubuntu/debian のパッケージから消えたようだ。Gemini に代替品を聞いたら ripmime を紹介される。

((( ripmime をインストール )))
$ sudo apt install ripmime

((( 修正 )))
  # 標準入力のメールから添付ファイルを抽出
- system( "/usr/bin/munpack -q -C $tmpdir > /dev/null 2>&1" ) ;
+ system( "/usr/bin/ripmime -q -i - -d $tmpdir > /dev/null 2>&1" ) ;

ついでに、DMARC のポリシーを p=quarantine から p=reject に変更しておいた。

spam が google などのクラウドばっかり

自宅サーバへの spam は、spamassasin などでかなり除去できるようにしてあるけど、それでも相変わらず届いている。送り元の IP アドレスを調べて 完全拒否などもしているけど、それでも届くのか。

送り元の確認

あらためて、送り元を確認したら、google クラウドサーバとか amazon クラウド。IPアドレスでは消せないなぁ。

$ cd ~/Maildir/.Junk/cur
$ grep "Received: from" * \
  | grep -v 127. \
  | awk -F [][] '{print $2}' \  [,]を区切り文字として真ん中を取り出す
  | sort | uniq -c | sort -r
      6 202.238.198.26
      1 54.169.135.62
      1 52.76.242.183
      1 35.236.54.228
      1 35.236.40.141
      1 35.226.131.57
      1 34.96.185.118
      1 34.176.225.88
      1 34.163.22.216
      1 34.155.225.82
         :

OpenDMARC fail で消せばいい

メール確認してたら、OpenDMARC が fail 返しているじゃん。こんなの Reject されてると思ってたけど、

“Authentication-Results: OpenDMARC; dmarc=fail (p=reject dis=none) header.from=monex.co.jp”

opendmarc.conf を確認したら、デフォルトのままで reject してなかった。ということで reject するように設定変更。

((( /etc/opendmarc.conf )))
# 認証に失敗したメールを拒否するように変更
RejectFailures true

$ sudo systemctl restart opendmarc

職場からのメールは、fukui-nct.ac.jp 発信のメールが、fukui.kosen-ac.jp で届くので、dmarc=fail で失敗判定なんだけど (p=none) なので、普通に届く。

んで、自宅ドメインは…. p=quarantine 「隔離」設定になってるな。そろそろ reject「拒否」にしてもいいかも。

squidからtinyproxyに移行

Squid が遅い

Poicy Routing を導入して proxy 経由のアクセスを別ポートにすることができたけど、squid で動かしている中で、speed test を実行すると、何もなしで 1Gbps 近くでるものの、Proxy 経由にすると squid の性能が低いためか、10Mbps 程度しかでない。

tinyproxy をインストール

あまりにも遅いので、Squid 以外の Proxy サーバを探す。proxy による caching 効果は最近はほとんどないので、proxy パケットを捌くだけのものを調べると HAproxy が高性能らしいけど、reverse proxy 用途で設定がややこしそう。tinyproxy も候補にあがったので、こちらを導入

((( tinyproxy をインストール )))
$ sudo apt remove squid
$ sudo apt install tinyproxy

((( /etc/tinyproxy/tinyproxy.conf )))
User tinyproxy
Group tinyproxy
Port 3128          # squid 互換の proxy ポート
Bind 192.168.1.51  # outgoing ポートを 専用ポートにする
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/run/tinyproxy/tinyproxy.pid"
MaxClients 100

Allow 127.0.0.1
Allow ::1
Allow 192.168.11.0/24

ViaProxyName "tinyproxy"

policy-routing で Squid を別ポートに振分け

自宅のプロバイダ接続のルータは、上流2.5Gbps だけど、DHCPなどの設定の自由度が低いため、内側に WiFi ルータを置いた2段構成。ただし、上流ルータの LAN ポートが 1Gbps なので、2.5Gbps を活かせていない。

自宅サーバを使わない catvstb は、上流ルータの WiFi ポートを指定することで、内側 WiFi を使わないようにして、少しはトラヒックを分割した。

でも、さらなるトラヒックを活かすべく、内側ルータ内のサーバに2本目の LAN ポートを設け、内側 WiFi ルータを経由せずに上流ルータにつながるようにして、Squid の Proxy サーバのトラヒックだけこちらに流したい。

policy-routing の設定

設定の要点を Gemini に伝え、現状の netplan の設定を伝えて、policy routing の設定を提示してもらった。

---
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp2s0:
      match:
        macaddress: "4C:CC:6A:F9:B0:84"
      addresses: [192.168.11.3/24]
      nameservers:
        addresses: [192.168.11.3]
      routes:
        - to: default
          via: 192.168.11.1
          metric: 100  # メインの優先度を高く設定
    enxc8a362ed15ee:
      match:
        macaddress: "c8:a3:62:ed:15:ee"
      addresses: [192.168.1.51/24]
      routes:
        # メインのルーティングテーブルにはデフォルトゲートウェイを書かない
        # 代わりに、Squid専用の「テーブル200」の中にだけゲートウェイを作る
        - to: default
          via: 192.168.1.254  # 上流ルーター
          table: 200
      routing-policy:
        # 192.168.1.51 を「出発地」とするパケットだけをテーブル200へ飛ばす
        - from: 192.168.1.51
          table: 200

適用して、問題がなさそうなので、squid に以下の設定を追加。

((( /etc/squid/conf.d/policy-routing.conf )))
tcp_outgoing_address 192.168.1.51

動作を確認

Proxy ナシの Chrome と Proxy アリの Firefox を起動して、YouTube を閲覧中。catvstb でも 上流ルータをそのまま使って YouTube を視聴中。CATVSTB=赤、SquidProxy=青、通常パケット=水色でトラヒックが分散されている。自宅外からWebサーバが閲覧できることも確認できた。満足…

Switchbot オートメーション

Switchbot の NFC オートメーション、リビングの ON/OFF を設定してみた。

{CAPTION}

{CAPTION}

HTTP3+QUIC 対応で FireWall に udp/443 を追加しただけ

HTTP3+QUIC だと、QUIC 用に UDP/443 を使うらしい。

サーバの設定は後で見直すとして、ひとまず FireWall + 自宅ルータの DMZ 設定で、UDP/443 を追加してみた。

んで、apache2 で HTTP3+QUICK を探すと、標準モジュールでは対応していないとな。さすがに apache を手作業インストールで運用する気はおこらんなぁ…

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報