« [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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/68055/45559985

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

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