Linux/Mail/policyd-spf
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
ns-lab
nowsky system-lab
DigiLoog
Linux
Windows
開始行:
*policyd-spf [#yf2c1aa0]
メール受信時にPostfixでSPF検査を行う為のスクリプト。
設定変更が出来ないPerl版と、細かい変更が可能なPython版の2...
Postfixで使う時はポリシーチェックとしてスクリプトを呼び出...
- 参考情報
[[Postfix SMTP アクセスポリシー委譲:+http://www.postfix-j...
[[holly's wiki - policyd-spf-python:+https://sites.google...
~
*構築環境 [#he9feea4]
今回検証した環境はこちら
-debian 9.5 x86_64
-CentOS 7.5 x86_64
-openSUSE 42.3 x86_64
~
設定ファイル・スクリプト本体がディストリビューション毎に...
設定と説明を統一化する為、同ファイル名のシンボリックリン...
シンボリックリンクを作りたく無い時は、実ファイルPATHを直...
~
*構築 [#b9907809]
&size(16){&font(b){1. インストール};};
インストールはディストリビューションによってパッケージ名...
今回はパッケージ管理を利用してインストールするので各々の...
- Debian
# apt-get install postfix-policyd-spf-python
# ln -s /etc/postfix-policyd-spf-python/policyd-spf.conf...
# ln -s /usr/local/bin/policyd-spf /usr/bin/policyd-spf
- CentOS
# yum install pypolicyd-spf
# ln -s /etc/python-policyd-spf/policyd-spf.conf /etc/po...
# ln -s /usr/libexec/postfix/policyd-spf /usr/local/bin/...
- openSUSE
# zypper install python-policyd-spf
# ln -s /etc/python-policyd-spf/policyd-spf.conf /etc/po...
# ln -s /usr/libexec/postfix/policyd-spf /usr/local/bin/...
SPFレコードをAR形式(Authentication-Resultsヘッダ)で追加す...
ただし、Python2環境ではモジュールが用意されていないので自...
#region(&color(#ff0000){インストール手順};)
- CentOS
# yum install rpm-build python-setuptools
# cd /usr/local/src
# wget https://files.pythonhosted.org/packages/08/ae/397...
# tar zxvf authres-1.1.0.tar.gz
# cd authres-1.1.0
# python setup.py bdist_rpm
# yum install dist/authres-1.1.0-1.noarch.rpm
- openSUSE
# zypper install rpm-build python-setuptools
# cd /usr/local/src
# wget https://files.pythonhosted.org/packages/08/ae/397...
# tar zxvf authres-1.1.0.tar.gz
# cd authres-1.1.0
# python setup.py bdist_rpm
# zypper install dist/authres-1.1.0-1.noarch.rpm
#endregion
&size(16){&font(b){2. 設定};};
policyd-spfは受信側の処理となる為、DNSのtxtレコード設定に...
ドキュメントは[[Debianの公開している物:+https://manpages....
[01] debugLevel = 1
[02] Header_Type = SPF
[03] #Authserv_Id = mx.test.org
[04] HELO_reject = False
[05] Mail_From_reject = False
[06] PermError_reject = False
[07] TempError_Defer = False
[08] skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104...
[09] Whitelist = 192.168.0.1
[10] Domain_Whitelist = mail.test.org
--------------------------------------------------
[01] 出力ログレベル。1(最低限)~5(デバッグログ)を設定出...
[02] SPFのヘッダ形式。SPFは"Received-SPF"、ARは"Authenti...
[03] ヘッダ形式にARを設定した時にヘッダ識別子として使用...
[04] HELOコマンドのSPF評価方針。ヘッダ付与のみ行い拒否し...
[05] MAIL FROMコマンドのSPF評価方針。ヘッダ付与のみ行い...
[06] SPF PermErrorの拒否方針。Falseを設定すると無効となる
[07] SPF TempErrorの遅延方針。Falseを設定すると無効となる
[08] SPF評価を無効化するIPアドレス。ローカルホストなど不...
[09] SPF評価を無効化するIPアドレス。ドメイン内の他MXサー...
[10] SPF評価を無効化するドメイン。アスタリスクレコードは...
~
&size(16){&font(b){3. master.cf};};
policyd-spfを呼び出す為、Postfixのmaster.cfを書き換える。
今回はポリシーとして呼び出す為、下記設定を最終行に追記す...
# SPF Check
policy-spf unix - n n - 0 spawn
user=nobody argv=/usr/local/bin/policyd-spf /etc/pol...
上の設定でSPFチェックが出来ない場合、argvの中でPythonがス...
この時、ディストリビューションによってはPythonのバージョ...
利用するPythonのバージョンは実スクリプトの1行目を読んで判...
# SPF Check
policy-spf unix - n n - 0 spawn
user=nobody argv=/usr/bin/python2 /usr/local/bin/pol...
~
&size(16){&font(b){4. main.cf};};
master.cfに追加したpolicy-spfを呼び出す為、check_policy_s...
この時、設定は下記の様に&color(#ff0000){ "reject_unauth_d...
前に設定すると、check_policy_serviceで処理したメールが全...
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_policy_service unix:private/policy-spf
追加した "policy-spf" はmaster.cfに追加したポリシー名と同...
また、デフォルト状態では1,000秒程でポリシープロセスがkill...
下記設定も追加してプロセスのkill間隔を調整する。
# PROC Kill
policy-spf_time_limit = 3600s
~
*確認 [#c93e023d]
実際に外部のメールサーバからメールを送信し、SPFヘッダが追...
下記は実際に外部からメールを送信し、ヘッダ付与テストを行...
Received-SPF: Pass (sender SPF authorized) identity=mail...
終了行:
*policyd-spf [#yf2c1aa0]
メール受信時にPostfixでSPF検査を行う為のスクリプト。
設定変更が出来ないPerl版と、細かい変更が可能なPython版の2...
Postfixで使う時はポリシーチェックとしてスクリプトを呼び出...
- 参考情報
[[Postfix SMTP アクセスポリシー委譲:+http://www.postfix-j...
[[holly's wiki - policyd-spf-python:+https://sites.google...
~
*構築環境 [#he9feea4]
今回検証した環境はこちら
-debian 9.5 x86_64
-CentOS 7.5 x86_64
-openSUSE 42.3 x86_64
~
設定ファイル・スクリプト本体がディストリビューション毎に...
設定と説明を統一化する為、同ファイル名のシンボリックリン...
シンボリックリンクを作りたく無い時は、実ファイルPATHを直...
~
*構築 [#b9907809]
&size(16){&font(b){1. インストール};};
インストールはディストリビューションによってパッケージ名...
今回はパッケージ管理を利用してインストールするので各々の...
- Debian
# apt-get install postfix-policyd-spf-python
# ln -s /etc/postfix-policyd-spf-python/policyd-spf.conf...
# ln -s /usr/local/bin/policyd-spf /usr/bin/policyd-spf
- CentOS
# yum install pypolicyd-spf
# ln -s /etc/python-policyd-spf/policyd-spf.conf /etc/po...
# ln -s /usr/libexec/postfix/policyd-spf /usr/local/bin/...
- openSUSE
# zypper install python-policyd-spf
# ln -s /etc/python-policyd-spf/policyd-spf.conf /etc/po...
# ln -s /usr/libexec/postfix/policyd-spf /usr/local/bin/...
SPFレコードをAR形式(Authentication-Resultsヘッダ)で追加す...
ただし、Python2環境ではモジュールが用意されていないので自...
#region(&color(#ff0000){インストール手順};)
- CentOS
# yum install rpm-build python-setuptools
# cd /usr/local/src
# wget https://files.pythonhosted.org/packages/08/ae/397...
# tar zxvf authres-1.1.0.tar.gz
# cd authres-1.1.0
# python setup.py bdist_rpm
# yum install dist/authres-1.1.0-1.noarch.rpm
- openSUSE
# zypper install rpm-build python-setuptools
# cd /usr/local/src
# wget https://files.pythonhosted.org/packages/08/ae/397...
# tar zxvf authres-1.1.0.tar.gz
# cd authres-1.1.0
# python setup.py bdist_rpm
# zypper install dist/authres-1.1.0-1.noarch.rpm
#endregion
&size(16){&font(b){2. 設定};};
policyd-spfは受信側の処理となる為、DNSのtxtレコード設定に...
ドキュメントは[[Debianの公開している物:+https://manpages....
[01] debugLevel = 1
[02] Header_Type = SPF
[03] #Authserv_Id = mx.test.org
[04] HELO_reject = False
[05] Mail_From_reject = False
[06] PermError_reject = False
[07] TempError_Defer = False
[08] skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104...
[09] Whitelist = 192.168.0.1
[10] Domain_Whitelist = mail.test.org
--------------------------------------------------
[01] 出力ログレベル。1(最低限)~5(デバッグログ)を設定出...
[02] SPFのヘッダ形式。SPFは"Received-SPF"、ARは"Authenti...
[03] ヘッダ形式にARを設定した時にヘッダ識別子として使用...
[04] HELOコマンドのSPF評価方針。ヘッダ付与のみ行い拒否し...
[05] MAIL FROMコマンドのSPF評価方針。ヘッダ付与のみ行い...
[06] SPF PermErrorの拒否方針。Falseを設定すると無効となる
[07] SPF TempErrorの遅延方針。Falseを設定すると無効となる
[08] SPF評価を無効化するIPアドレス。ローカルホストなど不...
[09] SPF評価を無効化するIPアドレス。ドメイン内の他MXサー...
[10] SPF評価を無効化するドメイン。アスタリスクレコードは...
~
&size(16){&font(b){3. master.cf};};
policyd-spfを呼び出す為、Postfixのmaster.cfを書き換える。
今回はポリシーとして呼び出す為、下記設定を最終行に追記す...
# SPF Check
policy-spf unix - n n - 0 spawn
user=nobody argv=/usr/local/bin/policyd-spf /etc/pol...
上の設定でSPFチェックが出来ない場合、argvの中でPythonがス...
この時、ディストリビューションによってはPythonのバージョ...
利用するPythonのバージョンは実スクリプトの1行目を読んで判...
# SPF Check
policy-spf unix - n n - 0 spawn
user=nobody argv=/usr/bin/python2 /usr/local/bin/pol...
~
&size(16){&font(b){4. main.cf};};
master.cfに追加したpolicy-spfを呼び出す為、check_policy_s...
この時、設定は下記の様に&color(#ff0000){ "reject_unauth_d...
前に設定すると、check_policy_serviceで処理したメールが全...
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_policy_service unix:private/policy-spf
追加した "policy-spf" はmaster.cfに追加したポリシー名と同...
また、デフォルト状態では1,000秒程でポリシープロセスがkill...
下記設定も追加してプロセスのkill間隔を調整する。
# PROC Kill
policy-spf_time_limit = 3600s
~
*確認 [#c93e023d]
実際に外部のメールサーバからメールを送信し、SPFヘッダが追...
下記は実際に外部からメールを送信し、ヘッダ付与テストを行...
Received-SPF: Pass (sender SPF authorized) identity=mail...
ページ名: