SSブログ

自宅鯖でSSL通信など [その他]

最近仕事が多忙でなかなか時間がとれないのですが
地道にWindows環境でSSL通信の環境構築を進めてます。

自宅にセキュアな情報サイトを構築するのが目的です。

XAMPP(主にApache、MySQL、PHP使用)を使って環境はすぐにできますが
インストール直後はセキュリティがないに等しいです。
とりあえずググればすぐ設定関連はできます。

証明書関係が結構ややこしかったです。

自分が暫くなやんだのはopensslのコマンドでサーバー証明書を作成するとこでした。
opensslのコマンドを使ってserver.keyファイルは作成できましたがserver.crtファイルの
作成で失敗しました。

ちなみにserver.keyはこのコマンドで作成
========================================================================
>openssl genrsa -des3 -out server.key -rand rand.dat 1024
Loading 'screen' into random state - done
0 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
...........++++++
..................................................................++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
========================================================================

次にserver.crtファイルの作成
========================================================================
>openssl req -new -x509 -nodes -out server.crt -keyout server.key -days 365
Unable to load config info from /usr/local/ssl/openssl.cnf
========================================================================
上のようなメッセージがでて、こんなUnix系のパスを言われてもなぁ~と思いましたが

どうやらopenssl.cnfがWindowsの短縮ダイヤルファイル扱いで認識してくれてない感じでした。
ちなみにWindowsでパスはちゃんと通してます。

そういえばconfig系のファイルって指定しない場合デフォルトから読み込もうとするんで
指定すればええのか!と思い、指定するオプションはないかなとhelpで出してみると
ありました:D
========================================================================
-config file request template file.
========================================================================

でコマンドを指定して起動してみると
========================================================================
>openssl req -new -x509 -nodes -out server.crt -keyout server.key -days 365 -config openssl.cnf
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
.................++++++
...++++++
writing new private key to 'server.key'
-----
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]:Osaka
Locality Name (eg, city) []:Osaka
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nullpo Japan
Organizational Unit Name (eg, section) []:Nullpo de Ga
Common Name (eg, YOUR name) []:isoroku yamamoto
Email Address []:nullpo@de.ga
========================================================================
うまくいきました:D
Country以降入力を求められるのでとりあえず適当に入れてみました。

SSL用にファイアウォールの443ポートをあけとかないと外部からは通信できないので外部からアクセスしたい場合はCTUなどの設定をしておきます。

NISなどの侵入検知ソフトなどを入れてる場合はそっちのファイアウォールの設定もしないといけません。

第三者機関に証明書を登録しないと最初ページにアクセスしたときに証明されてないサイトですよ
みたいなメッセージでますが、とりあえずSSL通信ができるようになりました。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。