iRedMailの初期設定から変えたところ 2018/08/21版


postfix+dovecotを使って複数ドメインのメールサーバを簡単にできるようにしたパッケージ「iRedMail」を利用中。

1月から流量が少ないドメインで使用を開始し、夏頃から本格利用を開始した。
中小企業相手のメールが多くなるとiRedMailの標準設定では、先方からのメール受け取りが拒否されることが増えてきた。
その他にも、メールサーバ以外の場所からメールを送信する場合に受け取り拒否が発生するということもあった。

そこで、日本で使う場合に受信出来ないということが少なくなるような設定ポイントを解説してみる


(1) メールサーバ以外の場所からメールを送信する場合、iredapdの設定を変える
メールサーバ以外にあるWebサーバや、Yahooや楽天などのシステムから自社ドメインのメールを送りたい場合、iRedMail標準設定では、メール受信がSMTP AUTHされてないサーバから送られてきてると拒否されてしまう。(Recipient address rejected: SMTP AUTH is required for users under this sender domain)
これは、iredapdのポリシーによる設定であるため、ルールを変更することで対処ができる。

なお、設定変更する前に、メール送信するサーバがSPFレコードに登録されていることを確認する。

設定は、/opt/iredapd/settings.py に「CHECK_SPF_IF_LOGIN_MISMATCH = True」を追加して、iredapd.serviceを再起動することで完了する。

参考:「postfixを使用したiredmailで他サーバで送信された自ドメインメールが受信拒否される


(2) barracudacentralを使わない
iRedMailの標準設定では「zen.spamhaus.org」と「b.barracudacentral.org」の2つがSPAM拒否データベースとして使われている。
ただ、いろいろ運用してみると、spamhaus.orgの方は一般住宅回線にあるSPAM botからのメールを効率良く排除してくれるが、
barracudacentral.orgの方は、どうも誤爆が多いようで、中小企業からのメールが良く拒否リストに入ってしまっている。
(たぶん共有サーバ運用で、他のユーザが変なことしたせい)

なので、うちではbarracudacentralを使用しないようにしました。

設定は「/etc/postfix/main.cf」で「postscreen_dnsbl_sites = 」で設定されているものから「b.barracudacentral.org=127.0.0.[2..11]*2」の記述を消すだけです。


(3) mail.goo.ne.jpからのメールが拒否されているのでコメント
/etc/postfix/helo_access.pcre にある設定によりmail.goo.ne.jpからのメールが拒否されているので、設定を変更する

変更前

/^(mail\.goo\.ne\.jp)$/ REJECT ACCESS DENIED. Your email was rejected because it appears to come from a known spamming mail server (${1})

変更後

###/^(mail\.goo\.ne\.jp)$/ REJECT ACCESS DENIED. Your email was rejected because it appears to come from a known spamming mail server (${1})

(4) ホスト名にIPアドレスが含まれていると拒否する設定があるので、設定を一部変更する。
家庭用回線などnetwork-192-168.0.100.ぷろばいだ.ne.jpという感じでIPアドレスがもろに埋め込まれたホスト名が使われている。
それに対して、メールサーバは多くの場合、ちゃんと命名されていることが多い。

が・・・AmazonのAWSでサービスを立てているようなところからのメールが、IPアドレス付きのメールサーバから送られてくる事がある。
また、それ以外でも、ちらほらと・・・

/etc/postfix/helo_access.pcre の設定によるもので、下記のbypassの後に記述を追加する

変更前

# bypass "[IP_ADDRESS]"
/^\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]$/ DUNNO
# reject HELO which contains IP address
/(\d{1,3}[\.-]\d{1,3}[\.-]\d{1,3}[\.-]\d{1,3})/ REJECT ACCESS DENIED. Your email was rejected because the sending mail server appears to be on a dynamic IP address that should not be doing direct mail delivery (${1})

変更後

# bypass "[IP_ADDRESS]"
/^\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]$/ DUNNO
### add by 2018/08/09 for yawata-lions.com
/^sv(\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}).*.seedshosting.jp$/ DUNNO
### add by 2018/08/09 for aws servers
/^ec2-(\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3}).*.amazonaws.com$/ DUNNO
### add by 2018/08/09 for shop-pro.jp
# mail-10-200-1-137.mitaka.shop-pro.jp
/^mail-(\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3})/ DUNNO
# reject HELO which contains IP address
/(\d{1,3}[\.-]\d{1,3}[\.-]\d{1,3}[\.-]\d{1,3})/ REJECT ACCESS DENIED. Your email was rejected because the sending mail server appears to be on a dynamic IP address that should not be doing direct mail delivery (${1})

(5) whitelistdomainを登録しておく
iRedMailだと、greylistを採用しており、メールが送られてくると最初の5分間はメールを受け取らず、再送されてくると受け取るようになっている。
しかし、ある程度信頼がおけるドメインのSPFレコードに登録されているサーバから送られてくるメールは、最初から受け取ってしまうようにした方がログチェックも簡単になる。

現在登録されている一覧は「/opt/iredapd/tools/spf_to_greylist_whitelists.py」を実行して確認できる。
登録は「/opt/iredapd/tools/greylisting_admin.py –whitelist-domain –from ‘@docomo.ne.jp’」というようにドメイン名を指定して行う。
ただ、コレはデータベースに登録するだけで、システムへの反映は「/opt/iredapd/tools/spf_to_greylist_whitelists.py」を実行する必要がある。
標準設定では毎時2分に実行されている。

うちのサーバで追加登録したものを下記に上げておく。便利なようにコマンドとしてそのまま実行できる状態にしておきます。

# 携帯電話のメールアドレス
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@docomo.ne.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@ezweb.ne.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@i.vodafone.ne.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@k.vodafone.ne.jp'

# ネットサービス系
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mixi.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@magb.netmile.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mrelay.epark.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mta14.dmm.com'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@fmail01.gpoint.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@post.freeml.com'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@post.point.gmo.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@receive.mag2tegami.com'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@return.mag2-tayori.com'

# ショップ系
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@amazon.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@jmg.joshin.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@ma.store.uniqlo.com'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@return.nttxstore.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@webmail.askul.co.jp'

# 楽天関連
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@rakuten.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@emagazine.rakuten.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mail.travel.rakuten.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@shop.rakuten.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@tc.api.rakuten-card.co.jp'

# Yahoo
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@err.yahoo.co.jp'

# 企業系
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@amc.ana.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@m1.kirin.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@olympus-imaging.com'

# 銀行・金融系
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@ct.shinseibank.com'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@mdbc.jibunbank.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@m.email.americanexpress.com'

# その他
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@a8.net'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@bounces1.postcarrier.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@d00.mailsystem.anser.ne.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@infomart.co.jp'
/opt/iredapd/tools/greylisting_admin.py --whitelist-domain --from '@willap.jp'

いまどきメールヘッダのReceived fromに(unknown~)って出るのださくね?


メールシステムを新しくしたので、メールログの監視強化中。
そんななかで見つけたベストリザーブのDMがかなりアレ。

Received: from ptmag3.bestrsv.com (unknown [211.133.130.68])
とか
Received: from ptmag5.bestrsv.com (unknown [211.133.130.68])
とか

内部IPアドレスについて、unknownになる例はちらほらあるけど、インターネットに接続されているIPアドレスを持つメールサーバでコレは珍しい。

過去に届いたメールを漁ると、内部の実サーバ名として以下の6種類があったようだ。
ptmag.bestrsv.com
ptmag1.bestrsv.com
ptmag2.bestrsv.com
ptmag3.bestrsv.com
ptmag4.bestrsv.com
ptmag5.bestrsv.com

また、メールサーバのログを追うと、HELOコマンドでは下記のホスト名を送ってきていた。
sitsmtp.bestrsv.com

どうも内部では複数のサーバに分かれていて、sitsmtp.bestrsv.com(211.133.130.68)からインターネットに出てきているようだ。
しかし、これらのホスト名に対してIPアドレス(Aレコード,AAAAレコード)は全て設定されていない。
211.133.130.68の逆引きホスト名はsitsmtp.bestrsv.comが設定されているが、sitsmtp.bestrsv.comでは名前解決ができない。

なお、2011/12/05の「 ベストリザーブ・宿ぷらざ オープンしました☆(2011/12/05)」のメールを見ると、ちゃんとAレコードが設定されていた形跡はある。

Received: from ptmag.bestrsv.com (sitsmtp.bestrsv.com [211.133.130.68])

少なくとも2016年以降は設定されていないようだ。
(2012年半ば~2015年末まではメールが来なかった)

まともに設定できる人がいないんですかねぇ・・・

まぁ、2018/08/09現在掲載されている開発スタッフの求人内容がアレですから、まぁ・・・

応募条件
・RDBMSを利用したシステム開発経験がある方。
とくにMySQLおよびPHPの経験者を歓迎します。
・コミュニケーション能力がある方、25歳くらいまでの方を歓迎します。
<<<総合旅行業務取扱管理者優遇>>>

(25歳まででこれらの技能が身につけられているってなんだろ?)


2018/08/21追記

8/14送信のDMでは、そのままでした
8/21送信のDMではきちんと名前解決がされるようになっていました。

-bash-4.2$ nslookup 211.133.130.68
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
68.130.133.211.in-addr.arpa     canonical name = 68.64/26.130.133.211.in-addr.arpa.
68.64/26.130.133.211.in-addr.arpa       name = sitsmtp.bestrsv.com.

Authoritative answers can be found from:

-bash-4.2$ nslookup sitsmtp.bestrsv.com.
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   sitsmtp.bestrsv.com
Address: 211.133.130.68

-bash-4.2$

yahoo.co.jpのメールサーバは管轄ドメイン外でもメールが送れてしまう?


メールシステムを新しくしたのでメールログを監視中。

そんななか不審なものが・・・

Aug  9 07:48:48 サーバ名 postfix/smtpd[7394]: NOQUEUE: reject: RCPT from mta094.mail.bbt.yahoo.co.jp[182.22.12.65]: 450 4.1.8 <glfruwj@zrbzzfmaewphpyi.jp>: Sender address rejected: Domain not found; from=<glfruwj@zrbzzfmaewphpyi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta094.mail.bbt.yahoo.co.jp>

Aug  9 07:55:19 サーバ名 postfix/smtpd[7394]: NOQUEUE: reject: RCPT from mta008.mail.bbt.yahoo.co.jp[182.22.12.11]: 450 4.1.8 <fvawxvd@6vo07bbmyz8wa8d.jp>: Sender address rejected: Domain not found; from=<fvawxvd@6vo07bbmyz8wa8d.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta008.mail.bbt.yahoo.co.jp>

yahoo.co.jpのメールサーバを使って、SPAMドメインからのメールを配信しようとしている形跡が・・・

え・・・自社ドメイン以外でも送れる設定にしてるんですか!?

もしかして、Yahooショッピングのテナントが、それぞれ自社ドメインで送れるようにそうなってるんですかね?

さすがに送信時にSMTP AUTHをしていないとは思えないし、いったいどういう処理をしてるんだかなぁ・・・


2019/06/18追記

今日も元気に、mta???.mail.bbt.yahoo.co.jpやmta???.mail.djm.yahoo.co.jpから存在していないドメインがFromに設定されているSPAMメールが送信中です。

[root@サーバ名 ~]# grep "NOQUE" /var/log/maillog|grep yahoo.co.jp|grep "Domain not"
<略>
Jun 18 14:25:52 サーバ名 postfix/smtpd[31047]: NOQUEUE: reject: RCPT from mta009.mail.bbt.yahoo.co.jp[182.22.12.12]: 450 4.1.8 <nmroofhyu@wqk5z43zgjb5y.net>: Sender address rejected: Domain not found; from=<nmroofhyu@wqk5z43zgjb5y.net> to=<宛先メールアドレス> proto=SMTP helo=<mta009.mail.bbt.yahoo.co.jp>
Jun 18 14:35:29 サーバ名 postfix/smtpd[32576]: NOQUEUE: reject: RCPT from mta718.mail.djm.yahoo.co.jp[183.79.16.21]: 450 4.1.8 <kqqtlikg@pxnfykriyoxywkrdum.jp>: Sender address rejected: Domain not found; from=<kqqtlikg@pxnfykriyoxywkrdum.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta718.mail.djm.yahoo.co.jp>
[root@サーバ名 ~]# grep "NOQUE" /var/log/maillog|grep yahoo.co.jp|grep "Domain not"|wc
     66    1518   20892
[root@サーバ名 ~]#

2020/09/23追記

yahoo.co.jpが発信源のSPAMメールは2年経過した2020年になっても止まることはありません。

Sep 23 11:05:00 サーバ名 postfix/smtpd[26185]: NOQUEUE: reject: RCPT from mta094.mail.bbt.yahoo.co.jp[182.22.12.65]: 450 4.1.8 <uhspranbsbt@rjw7zascoh.ne.jp>: Sender address rejected: Domain not found; from=<uhspranbsbt@rjw7zascoh.ne.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta094.mail.bbt.yahoo.co.jp>
Sep 23 11:07:22 サーバ名 postfix/smtpd[26185]: NOQUEUE: reject: RCPT from mta767.mail.djm.yahoo.co.jp[183.79.16.42]: 450 4.1.8 <rxrggxjnx@zinjuepwicmfrsi.jp>: Sender address rejected: Domain not found; from=<rxrggxjnx@zinjuepwicmfrsi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta767.mail.djm.yahoo.co.jp>
Sep 23 12:24:50 サーバ名 postfix/smtpd[3025]: NOQUEUE: reject: RCPT from mta027.mail.bbt.yahoo.co.jp[182.22.12.30]: 450 4.1.8 <cxlpsqtzz@ukmpvasugqpahrvi.jp>: Sender address rejected: Domain not found; from=<cxlpsqtzz@ukmpvasugqpahrvi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta027.mail.bbt.yahoo.co.jp>
Sep 23 12:44:53 サーバ名 postfix/smtpd[8648]: NOQUEUE: reject: RCPT from mta750.mail.djm.yahoo.co.jp[183.79.16.149]: 450 4.1.8 <info@mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.depolarised.racing>: Sender address rejected: Domain not found; from=<info@mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.depolarised.racing> to=<宛先メールアドレス> proto=SMTP helo=<mta750.mail.djm.yahoo.co.jp>
Sep 23 12:47:21 サーバ名 postfix/smtpd[8648]: NOQUEUE: reject: RCPT from mta767.mail.djm.yahoo.co.jp[183.79.16.42]: 450 4.1.8 <rxrggxjnx@zinjuepwicmfrsi.jp>: Sender address rejected: Domain not found; from=<rxrggxjnx@zinjuepwicmfrsi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta767.mail.djm.yahoo.co.jp>
Sep 23 13:11:39 サーバ名 postfix/smtpd[13453]: NOQUEUE: reject: RCPT from mta094.mail.bbt.yahoo.co.jp[182.22.12.65]: 450 4.1.8 <uhspranbsbt@rjw7zascoh.ne.jp>: Sender address rejected: Domain not found; from=<uhspranbsbt@rjw7zascoh.ne.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta094.mail.bbt.yahoo.co.jp>
Sep 23 14:38:13 サーバ名 postfix/smtpd[28617]: NOQUEUE: reject: RCPT from mta750.mail.djm.yahoo.co.jp[183.79.16.149]: 450 4.1.8 <info@mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.depolarised.racing>: Sender address rejected: Domain not found; from=<info@mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.mail.depolarised.racing> to=<宛先メールアドレス> proto=SMTP helo=<mta750.mail.djm.yahoo.co.jp>
Sep 23 14:40:51 サーバ名 postfix/smtpd[28617]: NOQUEUE: reject: RCPT from mta767.mail.djm.yahoo.co.jp[183.79.16.42]: 450 4.1.8 <rxrggxjnx@zinjuepwicmfrsi.jp>: Sender address rejected: Domain not found; from=<rxrggxjnx@zinjuepwicmfrsi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta767.mail.djm.yahoo.co.jp>
Sep 23 15:11:29 サーバ名 postfix/smtpd[2026]: NOQUEUE: reject: RCPT from mta027.mail.bbt.yahoo.co.jp[182.22.12.30]: 450 4.1.8 <cxlpsqtzz@ukmpvasugqpahrvi.jp>: Sender address rejected: Domain not found; from=<cxlpsqtzz@ukmpvasugqpahrvi.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta027.mail.bbt.yahoo.co.jp>
Sep 23 15:31:39 サーバ名 postfix/smtpd[3799]: NOQUEUE: reject: RCPT from mta094.mail.bbt.yahoo.co.jp[182.22.12.65]: 450 4.1.8 <uhspranbsbt@rjw7zascoh.ne.jp>: Sender address rejected: Domain not found; from=<uhspranbsbt@rjw7zascoh.ne.jp> to=<宛先メールアドレス> proto=SMTP helo=<mta094.mail.bbt.yahoo.co.jp>

ClazioのAndroid搭載ワイヤレススピーカーについて


Amazonを見ていたら「Clazio (クラジオ) ワイヤレススピーカー タッチスクリーン ボイスコントロール機能搭載 Bluetooth」なるものを見かけた。

14999円で、いまだとクーポンで2千円引きになるという。

関連プロダクトを見ると似たようなのがもう1つある。
「Clazio WiFiインターネットラジオポータブルスピーカーAndroid 6.0 7インチクアッドコアタブレットGoogle Play」

こちらは12999円で、クーポン2千円引きがある。

さらにもう1つ、上位モデルっぽいのもある。

こちらは29800円。

何が違うのか・・・

まず、2017年4月のクラウドファンディング「Clazio: Alexa & Android Touchscreen Smart Speaker」が出てくる。

これは1番目のやつのようだ。

メーカーのページを探すと2つ出てくる。
http://www.clazio.ai/」と「http://www.claziohome.com/」、どちらも「Clazio Spark」という3番目の上位機種のみを紹介している。 (2019/07/08現在ではclazio.aiは死んでいるようです)

そして、Amazon.comの方を探すとZettalyというメーカから「Zettaly Avy Portable Bluetooth 4.0 HiFi Smart Speaker (White), WiFi Internet Radio Powered By Android 6.0 with Built-in 7 Inch Quad Core Tablet and Google Play」と「Zettaly WIFI Internet Radio Portable Bluetooth Speaker Voice Control for Alexa or OK Google Android 6.0 Touchable Wireless Speaker for Golf Beach Shower Home」が出ているのがわかる。

Zettaly Avyは12999円のモデルと同じ外見で、Zettaly Avyで探すともともとAndroid 4.4を積んでいたようだ。

いろいろ見る限りでは、12999円のモデルは元が古いようなので、いまは買うべきではなさそう。
14999円のモデルは、ラジコなどを目的に使うには丁度よさそう。
29800円のモデルは、ちょっと価格面で微妙なライン、という感じになりそう。

イラストレーター向け左手キーボードDelux Designer T11が届いた



イラストレーター向けに拡大縮小用ホイールを装備した左手キーボードDelux Designer T11が届いた。

kickstarterでやっていたクラウドファンディングプロジェクト「Delux Designer – The Perfect Assistant for Designers」ですね。

メーカサイトは「Delux」で、商品紹介は「T11 Designer keypad」です。

結構コンパクトな梱包で届きました。

付属品はUSB Type-Cケーブルのみで、ドライバはWebからダウンロードです。

パソコンにつなげるとフツーにキーボードとして認識します。
ただ、ちゃんと機能を使うには、専用のドライバを「ダウンロードページ」から入手する必要があります。

プリセットはテンキーと、M1(Photoshop)、M2(Illustrator)、M3(InDesign)の4種類で、現在どのモードであるかはモード切替キーが光って教えてくれます。

また、キーボードに割り当てるショートカットキーはカスタマイズ可能です。

ダイアルキーへの割り当ては、現状バージョンだとあらかじめ登録されている8種類の組み合わせから選ぶことしかできません。

よく使う拡大縮小は「Ctrlと+」「Ctrlと-」の組み合わせなのですが、日本語キーボードをメインに設定しているためだと思いますが、「Ctrlと-」しか動かず、「Ctrlと+」であるはずのダイアル操作は無反応でした。
SAIの場合はマウスのホイールの動きで代用することができるので、なんとか対処できました。

とりあえず、これから登録すべきショートカットキーの探索ですね・・・


上記のCtrlと+が動かないという問題は解決しました。
→ 「Delux T11 Designerを日本語キーボード環境で使えるようにカスタマイズ