をご覧ください。
手順は以下の通りです。
1. OpenSSL のインストール
2. Apache 用の SSL/TLSモジュールをインストール
3. 鍵を作成
4. 証明書をつくる
5. 証明書に署名する
6. Apacheの設定をする
7. Apacheの再起動
8. ファイアウォールの設定
9. アクセステスト
※今回の設定はテスト用です。いわゆる自己証明書(オレオレ証明書)です。
実際の運用では 4 で, .csr を作った後, ベリサインさんなどのCAに.csr を送って
署名してもらい, それを利用します。
1. OpenSSL のインストール
Fedora Core 14 の "Add/Remove Software" より以下のパッケージをインストールします。
(openssl) で検索するとでてくるはずです
A general purpose cryptography library with WLS implementation
※筆者の環境では, デフォルトで入っていました。特に何かした覚えがないので, デフォルトで
入っているかもしれません。
2. Apache のSSL/TLS モジュールをインストール
上と同様に, 以下のパッケージをインストールする
SSL/TLS module for the Apache HTTP Server
httpd.conf には, すでに
LoadModule ssl_module modules/mod_ssl.so
が追加されているので, ここでは必要なし(ない場合は追加する
そしてインストール後, 設定ファイルが追加されている
/etc/httpd/conf.d/ssl.conf
3. 鍵を作成
別にどこへ作っても問題ないですが, 専用のディレクトリを準備しておくとよい
(場所 /etc/httpd/conf/ 以下)
mkdir key crt ← key(鍵) と crt(証明書) 用のディレクトリをつくる
chmod 700 key crt ← root のみのアクセスにしておく
・鍵を作成
openssl genrsa -des3 -out key/server.key 1024
これで, server.key という鍵が作られます。
(パスフレーズを聞かれるので, パスワードを作っておきます)
4. 証明書をつくる
openssl req -new -days 365 -key key/server.key -out crt/ssl.csr
これで, 有効期限1年, 証明書 crt/ssl.csr ができました。
※認証局に申請する場合は, この csr を送るみたいです。
5. 証明書に署名する
openssl x509 -req -signkey key/server.key -days 3650 -in crt/server.csr -out crt/server.crt
この時点で3つのファイルが作成されたと思います。
・サーバーの鍵ファイル key/server.key
・証明書 crt/server.csr
・署名後の証明書 crt/server.crt
6. Apacheの設定をする
/etc/httpd/conf.d/ssl.conf を編集
Listen 443
SSLCertificateFile /etc/httpd/conf/crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/key/server.key
<VirtualHost _default:443>
ServerName frekiss(ホスト名)
ServerAdmin atmarkplant@gmail.com(メールアドレス)
</VirtualHost>
となります。ホスト名と, ServerAdmin は自分の環境で適切に設定してください。
7. Apacheの再起動
/sbin/service httpd restart
※ここでkey のパスフレーズを聞かれるので, 先ほどのパスを覚えておきましょう。
8. ファイアウォールの設定
デフォルトでは, iptable の443ポートは, アクセス禁止になっているので, ポートを解放します。
(設定方法は, 初期設定編をご覧ください)
9. アクセステスト
クライアントから, https://frekiss(ホスト名)/
でアクセスしてみましょう。
こんなのが出てきます。(Google Chromeの場合)
自己証明書なので, 警告が出ています。
筆者環境では, Digest 認証を追加しているので, パスが聞かれていますが
設定していなければ出てきません。
警告を無視すると通常通り動作するはずです。
0 件のコメント:
コメントを投稿