SSLセキュア通信

普通にHTTPで通信しているときは暗号化もせず平文で、
大事な情報を通信する時、情報保護が不安です。
なので登録ページにSSL(httpsから始まるもの)を使っているのをよくみかけますね。
自鯖にもセキュリティ通信機能をもたせてみましょう。
なお、本格的に使うなら証明費用がいるのですが
今回は無料で出来る(自分で認証)方法でいきます。

VineLinuxの場合、すでにデフォルトでApacheもOpenSSLも入っています。
ない場合はFTPやapt-get、RPMなどで入手しておいてください。

ちなみに、いろいろなリファレンスサイトで試してみるもののVineではエラーがおきやすいので多少の手順が違うのかもしれません。
このページはVineLinux2.5の場合ですのでVineユーザの方には特に有効かもしれません。

# mkdir /etc/httpd/ssl-key
# cd /etc/httpd/ssl-key
 (SSL証明書用ディレクトリを作ってみる)

# openssl genrsa -des -out server.key
Generating RSA private key, 512 bit long modulus
....++++++++++++
..++++++++++++
e is 65537 (0x10001)
Enter PEM pass phrase:パスフレーズ(パスワードのようなもの)を入力、Enter
Verifying password - Enter PEM pass phrase:同上のものを入力、Enter

# openssl rsa -in server.key -out server.key
read RSA key
Enter PEM pass phrase:先ほどのパスフレーズ
writing RSA key

# openssl req -new -days 365 -key server.key -out server.csr
Using configuration from /usr/share/ssl/openssl.cnf
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]:JA (日本の場合)
State or Province Name (full name) [Some-State]:Kanagawa (都道府県名)
Locality Name (eg, city) []:Yokohama(市区町村)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SCN(サーバ名)
Organizational Unit Name (eg, section) []:(部署)
Common Name (eg, your name or your server's hostname) []:scne.jpサーバホスト名など
Email Address []:admin@server.jp(管理者メールアドレス)

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

# openssl x509 -in server.csr -req -signkey server.key -days 365 -out server.crt
-out server.crt
Signature ok
subject=/C=JA/ST=Kanagawa/L=Yokohama/O=SCN/CN=scne.jp/Email=admin@server.jp
Getting Private key

以上で、証明書自体の作成は完了です。
あとは、Apacheの設定に、この証明書を使うようにすればいいだけです。
たいていはすでにデフォルト設定があるのでファイルパスをかえるだけです。
# vi /etc/httpd/conf/httpd.conf
≪SSLCertificateFileという設定を探します。
 あればコメントアウトか書き換え、なければ追記≫
SSLCertificateFile /etc/httpd/ssl-key/server.crt

≪SSLCertificateKeyFile・・・同上≫
SSLCertificateKeyFile /etc/httpd/ssl-key/server.key

:wq

# /etc/rc.d/init.d/httpd/restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

以上で完了です。ためしに
いつもはhttpな部分をhttpsにおきかえてアクセスしてみましょう。

なお、外部からも利用する場合は443ポートを空けることを忘れないでください。

戻る


Copyright(C)2002-06.Suzuaki All Rights Reserved.
情報の無断転載・直リンクはご遠慮下さい
(リンクする場合はTOPページにお願いします。)