DNSでメールサーバのSPFレコードを設定してみた

@SOHOでは、合計約10万人の方へメール配信を行っています。

最近、不達メールが増えてきたことから、その原因について調べてみたところ、1つはSPFが関係していることがわかった。

SPFとは、メールの送信元のサーバを認証するための技術的な仕組みのことで、「Sender Policy Framework」の略。

あるドメインのDNSレコードに、そのドメインにて使用可能なSMTPサーバを明示しておくことで、関係ないサーバからなりすまして送信されるのを防ぐことができるのである。

そこで、メールを受信するサーバ側で、送信元のサーバがDNSにSPFレコードとして登録されているかチェックし、登録されていなければメールを拒否する、という設定になっている場合には、

そのサーバには永遠にメールを送信できないことになる。

そこで@SOHOでは次ののように設定してみた。

> set type=any
> atsoho.com
Server: 133.205.16.129
Address: 133.205.16.129#53
Non-authoritative answer:
Name: atsoho.com
Address: 121.119.194.160
atsoho.com
origin = ns.atsoho.com
mail addr = root.localhost.localdomain
serial = 1280511550
refresh = 10800
retry = 3600
expire = 604800
minimum = 10800
atsoho.com mail exchanger = 30 mail2.atsoho.com.
atsoho.com mail exchanger = 10 mail.atsoho.com.
atsoho.com text = “v=spf1 +mx ‾all”
atsoho.com nameserver = ns.atsoho.com.
Authoritative answers can be found from:
atsoho.com nameserver = ns.atsoho.com.
mail.atsoho.com internet address = 121.119.194.160
mail2.atsoho.com internet address = 210.163.8.183
ns.atsoho.com internet address = 121.119.194.160

これは、「MXレコードに定義されているメールサーバは許可」という設定である。
詳しい設定方法については、下記を参照のこと。

LINEで送る
Pocket

Mac OSX(Snow Leopard)でホスト名を固定する方法

下記を実行します。

$ sudo scutil –set HostName [ホスト名].local
$ sudo scutil –set LocalHostName [ホスト名]

こういう細かいことの積み重ねが、年収3倍アップの秘訣だったりします。続きはメルマガで・・・

LINEで送る
Pocket

Linuxでハードディスク(HDD)のパフォーマンスを測定するには?

Windows版では「CrystalDiskMark」、Mac版では「Xbench」等、代表的なものがありますが、

@SOHO」の新サーバの選定を行うために、Linuxでのハードディスクのパフォーマンスを測定する必要が出てきました。

いろいろ調べてみたところ、下記サイトに有用な情報を発見。

HDDベンチマーク手順+性能測定結果一覧 (hdparm,dd,bonnie++)

以下は、サイトからの引用。



  • read性能の測定

    # for i in [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12];do sleep 10;echo

    \n\n’ $i;hdparm -t /dev/sda2;done

    hdparmコマンドでread性能を測定します。
    10秒間の停止を入れながら計12回実行されるので、出力結果の中でread性能を表す 「seconds =  **.** MB/sec」 から平均値を算出して下さい。

    出力結果の中で最大・最小の結果、それぞれ1回分を除いた計10回分を対象にして平均値を計算すると、より適切な結果が得られるはずです。

    /dev/* の部分は、測定対象のパーティションにより適宜変更が必要です。

  • write性能の測定

    # for i in [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12];do sleep 10;echo

    \n\n’ $i;date;time dd if=/dev/zero of=/tmp/hdparm_write$i.tmp ibs=1M obs=1M count=1024;date;done

    ddコマンドで1GBのファイルを作成し、write性能を測定します。
    10秒間の停止を入れながら計12回実行されるので、出力結果の中でwrite時間を表す 「real    * m **.*** s」 から1GBのファイル作成に掛かった平均時間を算出して下さい。

    出力結果の中で最大・最小の結果、それぞれ1回分を除いた計10回分を対象にして平均値を計算すると、より適切な結果が得られるはずです。

    /*/hdparm_write$i.tmp の部分は、測定対象のパーティションにより適宜変更が必要です。

    なお、実際に合計12GBのファイルを作成するので、パーティションの空き容量には十分ご注意下さい。

  • bonnie++ 1.03 による測定

    $ ./bonnie++ -d /tmp

    bonnie++を用いてハードディスクのIO性能を測定します。

    /tmp の部分は、測定対象のパーティションにより適宜変更が必要です。

    LINEで送る
    Pocket

    .bashrc .bash_profileの違い

    私はbash派(というか、これしか使えません)なのですが、

    個人のカスタマイズ設定の際には.bash_profileをいじっています。

    何気なく触っているこのファイルについて体系的に学ぼうと思い調べてみたところ、下記のページを発見。

    (dot).bashrc .bash_profile .profile の読み込み順

    理解できていない方は参考までに。

    なみに、この設定ファイルを自分向けにチューニングすることによって

    作業効率はどんどんアップ!



    報酬もアップ!

    となります。

    詳しい説明はメールマガジンにて。

    LINEで送る
    Pocket

    サイトの検索順位を調べるツール

    自分でもツールを作って、自動化できたらいいなぁ。と思っていろいろ探していたところ、下記を発見。

    簡易的に検索エンジンの検索順位を調べるツールを作った

    まだ自分で作る時間はなさそうだけど、ちょっと頑張れば作れそうですね。

    株式会社サーフボードさん、ありがとうございます。

    LINEで送る
    Pocket

    SendmailからPostfixに乗り換えた際に忘れがちなこと

    mtaを切り替えるのを忘れないように!
    
    
    #alternatives --config mta ← メールサーバー切替え
    
    2 プログラムがあり 'mta'を提供します。
    
      選択       コマンド
    -----------------------------------------------
    *+ 1           /usr/sbin/sendmail.sendmail
       2           /usr/sbin/sendmail.postfix
    
    Enterを押して現在の選択[+]を保持するか、選択番号を入力します:2 ← 2を応答

    LINEで送る
    Pocket

    SMTPの送信テスト(コマンド編)

    SMTPサーバをセットアップした際や、「メールが届かない」等のトラブルの際に切り分けるために、コマンドによるSMTPサーバのテスト方法を知っておきたい。
    手順は下記のとおり。
    # telnet <<hostname>> 25 ←telnetコマンドで25番ポートに接続
    Trying <<hostname>>…
    Connected to <<hostname>>
    Escape character is ‘^]’.
    220 <<hostname>> ESMTP Postfix
    helo <<hostname>> ←サーバーへ挨拶
    250 <<hostname>>
    mail from:<<from>> ←メールの送信元
    250 Ok
    rcpt to:<<to>> ←メールの送信先(中継拒否)
    550 <xxx@test.test>: User unknown in local recipient table
    rcpt to:<<to>> ←メールの送信先
    250 Ok
    data ←内容の書き込み開始を宣言
    354 End data with <CR><LF>.<CR><LF>
    subject:test ←表題
    body ←本文
    . ←ビリオドで本文の終了
    250 Ok: queued as 9484949494
    quit ←メールの送信
    221 Bye
    Connection closed by foreign host.

    LINEで送る
    Pocket

    qmail/Postfix/Sendmailの比較

    私がエンジニアをやりだしたのは大学を卒業した1999年頃。

    その頃のメールサーバは100%といっていいほどSendmail。

    その後、しばらくしてQmailが出てきた。

    Qmailは今の@SOHOでも使っているが、最近ではPostfixが主流らしい。

    なぜPostfixなのか、調べてみた。

    細かい解説は以下が参考になる。

    sendmail、qmail、Postfixのそれぞれの良さと違い

    ソフトウェアもどんどん世代交代していくということですね。

    最近、数台ほどPostfixを設定する機会がありましたが、いや〜、SendmailやQmailと比べて設定が本当に簡単になったもんだ。

    ちなみに、サーバ管理ができると非常においしい稼ぎのネタになります。詳しくはメールマガジンにて。

    LINEで送る
    Pocket

    Postfixセキュリティ強化のための設定メモ


    デフォルトの設定よりも安全性を高めるための設定。

    設定ファイル:/etc/postfix/main.cf

    disable_vrfy_command=yes
    vrfyコマンドを無効にする。
    (vrfyコマンドとはユーザーが存在するかどうか問い合わせるためのもの。)
    無効にしておけば有効なメールアカウントが流出することを防げる。

    smtpd_helo_required=yes
    helo/ehloコマンドを要求する。
    helo/ehloコマンドは接続元のホストを識別するためのコマンド。自らのホスト名を通知しない接続を拒否するように設定しておく。

    strict_rfc821_envelopes=no
    RFC821の形式に合わないアドレスは拒否する。
    RFC821はSMTPによるメール転送を定めた規格。
    この規格書にのっとっていないメールアドレスが通知されたときは拒否する。
    ※ただし、行儀が悪いSMTPサーバーから送られてきた正当なメールも受信できなくなることがある。


    LINEで送る
    Pocket

    Postfixのスパムメール対策メモ

    とりあえず、/etc/postfix/main.cfに下記を追加。

    maps_rbl_domains=sbl.spamhaus.org, xbl.spamhaus.org
    smtpd_client_restrictions=reject_maps_rbl, reject_unknown_client

    ※reject_maps_rbl・・・指定したブラックリストに登録されたホストからの接続を拒否。

    (ただし、このホストから送られてきたメールはすべてシャットアウトされるので、正当なメールも受信できなくなる危険性がある。)
    ※reject_unknown_client・・・IPアドレスからホスト名を逆引きできないときは接続を拒否。

    LINEで送る
    Pocket