Python

Security

HTTPSレコード(RFC 9460)とECH(RFC 9849)を読む|主要30ドメインでHTTPSレコードは6件、ECHは0件。でも自分のサイトには付いていた

TLSのSNIを暗号化するEncrypted Client Hello(ECH)が2026年3月にRFC 9849、鍵のDNS配布がRFC 9848として発行された。設定が載るHTTPSレコード(RFC 9460)の形式と規則を原文で確認し、主要30ドメインのapexとwwwを実測。HTTPSレコードありは6件、echは0件、apexのAliasModeは0件。Cloudflare配下の自サイトに自動で付いていたechをRFC 9849の構造で解き、Appendix Dのテストベクタで検証したPython標準ライブラリのスクリプト付き。
Security

DMARCはRFC 9989になった|pct廃止・Tree Walk導入の要点と、主要30ドメインを新仕様で読み直したら認可の無いレポート宛先が1件あった

DMARCの仕様は2026年5月にRFC 7489からRFC 9989/9990/9991へ置き換わった。pct/ri/rfの削除とnp/psd/tの追加、PSLからDNS Tree Walkへの組織ドメイン判定の変更、p=rejectへのSHOULD NOT、外部レポート宛先の認可レコードを原文で確認し、主要30ドメインを新仕様で読み直した。p=reject 17件、pct残存12件、認可の無い外部宛先1件。Python標準ライブラリの検証スクリプト付き。
Security

DNSSECのDSとDNSKEYをRFC 4034の式で検算する|主要30ドメインで署名ありは5件、SHA-1は2025年11月にMUST NOTになった

DNSSECのDSレコードは何と一致していればよいのか。RFC 4034の計算式(Key Tag、所有者名のワイヤ形式|DNSKEY RDATAのダイジェスト)をPython標準ライブラリで実装し、主要30ドメイン+参照6ドメインを検算。署名ありは10件で全件一致、RSASHA1は0件。RFC 9904でアルゴリズム推奨の正本がIANAレジストリへ移り、RFC 9905でSHA-1がMUST NOTになった経緯も整理。
Security

CAAレコード(RFC 8659)の読み方|主要30ドメインを調べたら「置いてあるのに効いていない」が2件あった

CAAレコードは「このドメインの証明書を発行してよいCA」をDNSで宣言する仕組みです。RFC 8659の要件(親へ登る探索、issue/issuewild/iodef、critical、RFC 6844との違い)を原文で確認し、主要30ドメインの導入状況を実測。CAAを置いているのに発行を制限していないドメインが2件あった理由と、判定スクリプトで踏んだ5つの落とし穴を解説します。
Security

syslogのRFC 3164とRFC 5424の違い|1桁日と年またぎでログが消えるパーサの話

syslogにはRFC 3164とRFC 5424の2つの形式が混在しています。両対応のパーサを書いたところ、日付の空白埋めで毎月1〜9日のログが落ち、年が無いタイムスタンプで年またぎに約1年ずれるバグを踏みました。RFCで仕様を確認したうえで、実際に再現させた3つの落とし穴と対処を解説します。
Security

MTA-STSとTLS-RPTの設定を確認する|主要30ドメインを調べたら導入は2件だけだった

SPF・DKIM・DMARCが送信者のなりすましを防ぐのに対し、MTA-STSは配送経路の盗聴と改ざんを防ぐ仕組みです。RFC 8461の要件を一次資料で確認し、主要30ドメインの導入状況を実測し、設定を検査するスクリプトを書きました。mxの複数行が辞書で消える、DoHのAnswer欠落、urllibのリダイレクト既定など、実データで踏んだ落とし穴も解説します。
Security

DMARC集計レポート(RUA)を自分で集計する|policy_evaluatedとauth_resultsを取り違えない

DMARCのrua=で届く集計レポートを、Python標準ライブラリだけで集計するスクリプトと読み方。policy_evaluated(アライメント込みの評価)とauth_results(生の認証結果)の違い、名前空間を剥がさないとレポートが無言で欠落する問題まで、実際に動かして踏んだバグを含めて解説します。