2012年12月30日日曜日

Redmine:SSL化

出先から自宅のWindows 7 starter にインストールした BitNami:Redmineサーバへアクセスしたくなったので、SSLを適用してセキュア化する。

参考サイト:http://www.digi-con.co.jp/tech/node/7

■以下手順。
0. スタートメニューの"Use BitNami Redmine Stack"からコマンドラインを起動。

1. openssl の実行ファイルへカレントディレクトリを移動。
-----
>cd apache2\bin
-----

2. 秘密鍵の作成
-----
>openssl genrsa -des3 1024 > server.key
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
..++++++
...................++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

>
-----

3. 公開鍵の作成
-----
>openssl req -new -key server.key -config ..\conf\openssl.cnf > server.csr
Enter pass phrase for server.key:
Loading 'screen' into random state - done
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP ←日本
State or Province Name (full name) [Some-State]:******* ←都道府県名
Locality Name (eg, city) []:********* ←市区町村名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:******* ←組織名
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []: ********* ← コモンネーム
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

>
-----

・ハマリポイント

 -config で openssl.cnf のパスを指定しないと、

-----
Unable to load config info from /usr/local/ssl/openssl.cnf
-----

 と表示されて、エラーとなる。
 Windows環境だから仕方ない。。


4. デジタル証明書の作成

-----
>openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
Loading 'screen' into random state - done
Signature ok
subject=/C=JP/ST=********/L=********/O=*********/CN=*********
Getting Private key
Enter pass phrase for server.key:

>
-----

5. 鍵ファイルの移動

-----
>move server.* ..\conf\
server.crt
server.csr
server.key
        3 個のファイルを移動しました。

>
-----

6. 設定ファイルの変更

6-(1) conf\httpd.conf を修正

・mod_ssl.so のコメントを取る。
-----
LoadModule ssl_module modules/mod_ssl.so
-----

・Include conf/extra/httpd-ssl.conf のコメントを取る。
-----
Include conf/extra/httpd-ssl.conf
-----

6-(2) conf\extra\httpd-ssl.conf を修正

・下記パスを確認。
-----
SSLCertificateFile "C:/App/BitNami Redmine Stack/apache2/conf/server.crt"
SSLCertificateKeyFile "C:/App/BitNami Redmine Stack/apache2/conf/server.key"
-----

・SSLPassPhraseDialog に passwd.bat ファイルを設定する。
-----
#SSLPassPhraseDialog builtin
SSLPassPhraseDialog "exec:C:/App/BitNami Redmine Stack/apache2/conf/passwd.bat"
-----

6-(3) conf\passwd.bat を作成
-----
@echo ********** ←パスフレーズを指定
-----

6-(4) BitNami Redmine Stack\apps\redmine\conf\redmine.conf を修正
-----

  RequestHeader set X_FORWARDED_PROTO 'https'   ←追加
  BalancerMember http://127.0.0.1:3001/redmine
  BalancerMember http://127.0.0.1:3002/redmine

-----

7. httpd の再起動

7-(1) Manager Control を起動。

7-(2) Apache Web Server を [STOP] / [START]。
8. httpsで接続確認

https://localhost/redmine

0 件のコメント:

コメントを投稿