« [Ctrl]と[CapsLock]キーを入れ替える | Main | Windows 7 日本語版 10月22日発売 »

Jul 07, 2009

Apache 2.2 SSL通信設定

Apache2.2において、通信を暗号化するためにSSLの導入を行いました。

OS: Ubuntu Server 8.042 (インストール時に"LAMP"をインストール)

--OpenSSLのインストール
$ sudo apt-get update
$ sudo apt-get install openssl

--CSR(証明書署名要求)データの作成
$ sudo su -
# cd ~
# openssl sha1 * > rand.dat
  <- 暗号鍵作成のための乱数データの作成
# openssl genrsa -rand rand.dat -des3 2048 > server.key
↑ サーバー鍵の作成
パスフレーズを2回入力する。
# openssl req -new -key server.key -out server.csr
サーバー秘密鍵を基にCSRデータを作成する。
パスフレーズを入力
Country Name: JP
State or Province Name: Tokyo
Locality Name: Koto-ku
Organization Name: Hoge-Hoge
Organizational Unit Name: IT
Common Name: www.hoge-server.com
Email Address: hoge.gmail.com

--SSL証明書の申し込み
自分自身で証明書の発行を発行する、俗に言う”オレオレ証明書”でも
よかったのですが、有料になりますが第三者機関に発行してもらうことに
しました。海外のサービスになりますが、最安と噂の

--ServerTastic
https://www.servertastic.com/
を選択しました。

サイトを開いたら、
SSL Certificates From $10.00” をクリック
RapidSSL” をクリック
CLICK HERE TO ORDER”ボタンを押す

とりあえずお試しに1 Yearを購入。 ”Buy”ボタンを押す。
氏名、住所、カード情報などを申し込むと、登録したメールアドレスに
メールが届きます。メール内の指定されたURL(認証局のサイト)にアクセス
します。
RapidSSLの申し込み画面にて、内容を確認して”次へ”ボタンを押す。
CSRの入力画面にて、サーバー内”server.csr”の内容全てをコピー&貼り付け
する。
入力したCSRデータの確認、管理者情報などの登録、承認リクエストの
送り先メール・アドレスの指定をすると注文が完了します。

しばらくすると、指定したメール・アドレスにメールが届きます。
メール内に書かれたリンクを開くと、最終確認になります。完了すると
更にメールが届きます。その中にSSL証明書の実態がテキストにて
書かれています。

--SSL証明書のサーバーへのインストール
最後に届いたメール内、Your RapidSSL certificate から
-----END CERTIFICATE----- までをテキストエディタなどに貼り付けて、
サーバー内 /root/server.cert という名前で保存します。

サーバー証明書、サーバー秘密キーを所定の場所に保存
# cd ~
# cp server.cert /etc/ssl/certs/server.cert
# cp server.key /etc/ssl/certs/server.key

セキュリティ強化のため、パーミッションの変更
# chmod 444 server.cert
# chmod 400 server.key

--Apacheの設定
SSLモジュールの追加
# a2enmod ssl

SSLアクセス用サイトconfの作成
# cd /etc/apache2/sites-available
# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz .
# gunzip httpd-ssl.conf.gz
# mv httpd-ssl.conf ssl
# vi ssl

----
#Listen 443 ←コメントアウト

NameVirtualHost *:443 ←追加
<VirtualHost *:443> ←変更

SSLEngine on

SSLCertificateFile "/etc/ssl/certs/server.crt"

SSLCertificateKeyFile "/etc/ssl/certs/server.key"

Alias /share "/var/www/share"
<Location /share>

    SSLRequireSSL

    Options Indexes FollowSymlinks
    Order allow,deny
    allow from all
</Location>
----
その他、適時変更

前回のWebDAVBASIC認証と組み合わせて、下記のよう設定しました。
----
Alias /share "/var/www/share"
<Location /share>
    DAV On

    AuthType BASIC
    AuthName "Welcome to share page"
    AuthUserFile /etc/apache2/sites-available/htpasswd
    Require valid-user

       
    SSLRequireSSL

    Options Indexes FollowSymlinks
    Order allow,deny
    allow from all
</Location>
----

SSLアクセス用サイトの追加
# a2ensite ssl

Apacheの再起動
# /etc/init.d/apache restart

これでFTPを使わず、気軽にファイル共有を認証及び通信の暗号化をして
行うことができるようになりました。443番ポートによる通信なので、
ファイヤーウォールも越えることができます。

--参考ページ
http://hirotyanteikoku.cocolog-nifty.com/cocolog/2008/10/ubuntuwebdav-3f.html


  ブログランキング

|

« [Ctrl]と[CapsLock]キーを入れ替える | Main | Windows 7 日本語版 10月22日発売 »

Ubuntu」カテゴリの記事

自宅サーバー」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference Apache 2.2 SSL通信設定:

« [Ctrl]と[CapsLock]キーを入れ替える | Main | Windows 7 日本語版 10月22日発売 »