Top/研究のページ/ネットワーク技術/メールサーバ構築

メールサーバ構築のためのメモ

はじめに

基本的な用語

POSTFIX によるメールサーバの構築

迷惑メールにならないために

はじめに

MyDNSでの実現

  1. SPF
    POSTFIX で設定することはない。大変お世話になっている MyDNS のDOMAIN INFOで、次のように設定する。
    Hostname(左の空欄)Type(中央のプルダウンメニュー)Content(右の空欄)
    _spfTXTv=spf1 +ip4:202.238.84.0/24 +a:mail.so-net.ne.jp
  2. DKIM
    • ソフトウエアの導入
      sudo apt-get install opendkim opendkim-tools
    • 導入後の作業
      • コマンドラインで実行
        example.com は適宜書き換える。-b 1024 は、後々、公開鍵を短くするため。
        opendkim-genkey -D /etc/dkimkeys/ -d example.com -s mail -b 1024
        chown opendkim.opendkim /etc/dkimkeys/*
        chmod go-rwx /etc/dkimkeys/*
        sockdir=/var/spool/postfix/var/run/opendkim
        mkdir -p $sockdir
        chown opendkim. $sockdir
        chmod go-rwx $sockdir
        chmod g+x $sockdir
      • /etc/opendkim.conf
        Socket の記述を次のように書き換える。
        Socket                  local:/var/spool/postfix/var/run/opendkim/opendkim.sock
        次の2行を書き加える。
        KeyTable        file:/etc/dkimkeys/keytable
        SigningTable  refile:/etc/dkimkeys/signingtable
      • /etc/dkimkeys/keytable
        次を書き加える。example.com は適宜書き換える。
        mail._domainkey.example.com example.com:mail:/etc/dkimkeys/mail.private 
      • /etc/dkimkeys/signingtable
        次を書き加える。example.com は適宜書き換える。
        *@example.com mail._domainkey.example.com
      • /etc/dkimkeys/trustedhosts
        127.0.0.1
      • コマンドラインで実行
        service opendkim restart
        adduser postfix opendkim
      • /etc/postfix/main.cf
        次の行を書き加える。
        milter_default_action = accept
        milter_protocol = 6
        # from inside the chroot, the socket will be in /var/run/opendkim 
        smtpd_milters = unix:/var/run/opendkim/opendkim.sock
        non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
      • コマンドラインで実行
        service postfix restart
      • MyDNS
        大変お世話になっている MyDNS のDOMAIN INFOで、次のように設定する。
        Hostname(左の空欄)Type(中央のプルダウンメニュー)Content(右の空欄)
        mail._domainkeyTXTv=DKIM1; k=rsa; p=(MIからはじまる/etc/dkimkeys/mail.txtの文字列)

    • チェック
      1. opendkim によるチェック
        次のコマンドを実行して ok が出るか?example.com は適宜書き換えて実行すること。
        opendkim-testkey -d example.com -s mail -vvv
      2. DNS チェック
        example.com は適宜書き換える。
        nslookup -type=TXT mail._domainkey.example.com
      3. メールを送信してチェック
        check-auth@verifier.port25.com にメールを送信すると、チェック結果を返信してくれる。
      4. 普通にメールを送信してチェック
        受信したメールのヘッダを見る。

        エラーは出ないが、送信したメールのヘッダにDKIMの情報が含まれない。私の場合は、 KeyTableSigningTable の記載が足りていなかった。
        → うまくいくようになった。

  3. DMARC
    • POSTFIXの設定
      まず、/etc/postfix/main.cf に alias に関する記述があること、それが、hash:/etc/aliases となっていることを確認する。
      dmarcのエントリー
      dmarc: root
      を作って、これを有効にしてメール受信に備える。
      postalias /etc/aliases
      newaliases

    • DNS にエントリーを追加する。
      下記の example.com は適宜書き換える。
      Hostname(左の空欄)Type(中央のプルダウンメニュー)Content(右の空欄)
      _dmarcTXTv=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com
      quarantine は、問題があるメールは隔離するように、という指示である。何もしないなら none にする。rua=mailto: で統計レポートの送信先を、ruf=mailto: でエラー情報の送信先を指定する。

Google に迷惑メールに入れないように通知する

Google Postmaster Tool

参考資料

POSTFIX

  1. POSTFIX について
    1. Postfix Documentation

  2. POSTFIX で リレー(smarthost)を使う。
    1. Debian ネットワークアプリケーション(6章)
    2. Postfix でメールリレーの設定 (SMTP クライアント + SMTP Auth)

DKIM

  1. Debian で POSTFIX + DKIM
    1. debian で opendkim

Google のレポート

  1. 配信中のメールの暗号化
    既に、90%程度が暗号化されている。しかし、携帯電話各社のメールの暗号化は進んでいない。

  2. ウェブ上での HTTPS 暗号化
    ここ5年で、50%から90%に上昇してきている。


トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-10-28 (木) 14:45:04