EPISODE 02

モバイルワークを試行錯誤するブログ

OS X Server.appでメールサービスの開始、SSL証明書の取得と設定

ドメインの取得とDNSの設定、Server.appも無事に立ち上がったので次にメールサービスを立ち上げる。メールサービスを最初に設定したのは、SSL証明書を取得するため。

メールアドレスの設定とSSL証明書の設定手順

全体の設定手順は以下の通り。

1)Server.appの管理画面からメールを選択
2)メールサービスのパラメータを設定
3)メールアドレスの作成とユーザへの割当
4)メールサービスの開始
5)メールクライアントの設定
6)SSL証明書の取得とServer.appの証明書設定

メールサービスの設定

Server.appを立ち上げて管理画面からメールサービスのパラメータを設定する。

アクセス権:全てのユーザ、全てのネットワーク
認証:自動
通知をプッシュ:無効
フィルタ:ウィルスおよび迷惑メール
フィルタ設定:お好みで
メールのリレー:チェックしない
メールボックスのサイズ:チェックしない
ドメイン:yourdomain.com
メールアドレス:admin@yourdomain.com
ユーザ:管理者名

設定が完了したらメールサービスを入に設定する。念のため、Air Mac Extremeにメールが設定されていることを確認する。フィルタ設定については、好みで設定すれば良いはず。ウィルスフィルタを有効にすると、定義ファイルがダウンロードされる。迷惑メールフィルタの強度設定は、弱(34ポイント)」程度にしておき様子をみながら強度を変えていくという方針にした。

メールクライアント設定

Mac mini内のMail.appを立ち上げてアカウントの設定を行う。メールクライアントの設定パラメータは以下の通り。

メールアドレス:admin@yourdomain.com
ユーザ名:管理者名(yourdomain)
パスワード:管理者パスワード
アカウントの種類:IMAP
受信用メールサーバ:yourdomain.com
送信用メールサーバ:yourdomain.com

以上で、サーバ側、クライアント側の設定は完了。正常に動作していることを確認するため別ドメインからadmin@yourdomain.com宛にメールを送信し受信できること、返信できることを確認しておく。

SSL証明書の取得

SSL証明書認証局から発行される、いわゆるオレオレ証明書ではない認証局が発行したSSL証明書を取得する。SSL証明書には種類があり、大きく分けて以下の3種類となる。

ドメイン認証型(DV)
ドメインの管理権限を元に発行される、つまり上記で設定したメールアカウント(admin@yourdomain.comなど)でメールの受信ができることが条件。

実在証明型(OV)
組織情報の審査があり。申請した組織が実在するか登記簿謄本などでの確認が入る。

EV証明(EV)
OVよりも厳格な審査がある。EV証明書を使うとブラウザのアドレスバーが緑に変化するため、信頼度は大きく上がる。

審査基準が厳格な順にEV>OV>DVとなり信頼度も同じようになるわけだ。今回はショッピングサイトやクレジットカード情報などの決済データ、個人情報を扱う想定はないこと、また利用する証明書の種類で暗号化強度に違いがないことからDV証明書で十分と判断した。

どの認証局を選ぶか

認証局はSymantecやVeriSignなどの大手セキュリティベンダから証明書専門のベンダまでいくつかの認証局が存在する。今回は費用の観点からCOMODO SSLのDV証明書を選定した。
SSL証明書の契約先にあたっては代理店も多く存在し、同じ認証局の同じ証明書でも費用が異なったりしているのが実態のよう。概ね日本の代理店は高めの設定となっているが、日本語サポートなどは必要無いと考え海外の安い代理店から手続きを行った。契約したのはこのサイト(https://www.gogetssl.com/

費用はこんな感じで、今回は3年のプランを選択。

米ドル13.85なので、日本円で1500円位か。日本のCOMODOサイトで同条件で契約すると、22,900円となっていたので、かなり費用に差があった。

証明書の取得から設定の手順

1)Open SSLのバージョン確認とバージョンアップ
2)Server.appから証明書署名要求(CSR)を発行する
3)CSR証明を認証局に送信する
4)認証局から発行された証明書をメールで受信する
5)証明書をServer.appに登録する
6)Webサービスを立ち上げて、暗号化通信が完了していることを確認する

Open SSLのバージョン確認とバージョンアップ

MacでSSLを利用するためにはOpen SSLライブラリを利用する。バージョンによって脆弱性があるため、まずOpenSSLをアップデートする。Mac miniのターミナルを立ち上げるかSSHでログインして以下のコマンドを入力する。ターミナルなので慣れていないと戸惑うかもしれないが、決まり文句なのでコピペでOK。

Open SSL設定手順1(ターミナル)

$ openssl version #インストールされているOpen SSLのバージョン確認
OpenSSL 0.9.8za 5 Jun 2014

上記OenSSLのバージョンが1.0.2hであれば手順2は不要。

再度ターミナルから

$ xcode-select —install

以下のダイアログが立ち上がるので、同意してインストール。

f:id:bcorp:20160815205058p:plain
f:id:bcorp:20160815205104p:plain

Open SSL設定手順2(ターミナル)

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”  #home brewのインストールとアップデート
$ brew update #home brewのアップデート
$ cd /usr/bin
$ brew upgrade openssl #Open SSLのアップデート
$ brew link openssl —force #Open SSLのリンク

ターミナルを再起動しバージョンを確認(再起動しないと反映しない)

$ openssl version #Open SSLのバージョン確認
 OpenSSL 1.0.2h 3 May 2016

これでOpen SSLのアップデートは完了するのでターミナルを終了させる。

Server.appから証明書署名要求(CSR)を発行する

Server.appを立ち上げて証明書を選択し+をクリックし、「信頼できる証明書を取得」を選択

f:id:bcorp:20160815210045p:plain

ウィザードが立ち上がるので、以下パラメータを入力

ホスト名:yourdomain.com
連絡先のメールアドレス:admin@yourdomain.com
企業または組織:yourdomain.com
部署:部署名(英文)
町または市:組織の存在する市または町名
州または省/県:組織の存在する県名
国:日本

次へをクリックするとCSR証明書が表示されるので、保存をクリックし任意の場所に保存して完了をクリック。

f:id:bcorp:20160815210107p:plain

テキストエディットなどで保存したファイルを開き文字列の全てを選択する。
(-----BEGIN CERTIFICATE REQUEST-----から-----END CERTIFICATE REQUEST-----まで全てを選択)

CSR証明を認証局に送信する

契約した認証局のWebサイトにログインして、必要事項を入力し上記でコピーしたCSR証明書文字列を指定の場所に貼り付け証明書を要求する。

認証局から発行された証明書をメールで受信する

5分程度まってメールを確認すると証明書が添付ファイルで送られてくるので、任意の場所に保存する。

証明書をServer.appに登録する

再度Server.appを立ち上げて添付の証明書をドラッグアンドドロップしOKをクリックする。これで、Server.appに証明書が登録された。

f:id:bcorp:20160815210127p:plain

Webサービスを立ち上げて、暗号化通信が完了していることを確認する

ただしく証明書が登録されたことを確認するため、再度Server.appからWebサイトを選択し+をクリックする。

f:id:bcorp:20160815211400p:plain

設定するパラメータは以下の通り。

アクセス権:全てのネットワーク
ドメイン名:yourdomain.com
IPアドレス:10.0.1.100
ポート:443
SSL証明書:プルダウンから上記で登録した証明書を選択する
サイトファイルの保存場所:新規フォルダを自動作成

その他はデフォルトのままで作成をクリックし、Webサイト入にする。念のため、Air MacExtremeを選択して、Webサイトのサービスが表示されていることを確認。

設定が完了したら、外部ネットワークからhttps://yourdomain.comにアクセスする。

f:id:bcorp:20160815210444p:plain

ブラウザに鍵マークの表示とブラウザ内に以下の表示ができていれば、SSLで暗号化され通信できていることがわかる。ブラウザの鍵マークをクリックするとドメイン名での証明書の表示も確認できるはずだ。あわせてCOMODOもSSLチェッカーを用意しているので、こちらでも正常に動作していることを確認した。http://comodo.jp/navi/sslchecker

Mac mini自身もしくはAir MacExtremeの内部からWebサイトにアクセスする場合、Server.appのDNS設定からホスト名(yourdomain.com)を10.0.1.100に設定しておく。

多少面倒ではあるが、順を追っていけば特に難しい作業ではなかった。