Serversman@VPS #06 [SSLの設定をする]

記事の #06 が、03と05が飛んでいるのはキノセイです(ぇ

書きかけの記事が上手くまとまらず、放置んぐ状態ですorz 後回しにするとついつい放置プレイにΣ

”絶対”がないと、ずーっと後回しになってそのうち忘れちゃうってことになったりもするわけで。

ここで自分の中身を整理したい!と思ってGDTが出てくる訳ですよ!で、いいアプリとしてOmniFocusを見つけてMaciPhoneで同期させるためにWebDAVを! ってことでこの記事に至りますたww

いつもお世話になっているてもぐさんの記事を参考に設定しまする ⇒http://temog.info/archives/vps/serversmanvps-ssl%E3%81%AE%E8%A8%AD%E5%AE%9A-2.html

SSL導入ははじめて。上手くいけますように。

mod_sslをインストール

# yum install mod_ssl

Serversman@VPSにはデフォルトで入っていないそうです。 ・・・入ってなかったです。

秘密鍵と公開鍵

お、やったことあるし!とか思ってたら全然違った。当たり前Σ sshの鍵の作成とsslの鍵の作成は別物みたい。 SSHSSHの違いは (1)プロトコルが違う。 SSLはほぼ最初(ハンドシェーク)だけ。暗号鍵をやりとりしたら後は自由。 SSHはコマンド(dirコマンドとか)をずっとやりとりしてる。自由はない。 (2)鍵ペアの扱いが違う。 SSLはX.509と秘密鍵。鍵の扱いは面倒。 SSHは生の鍵ペアデータ。鍵ペアは勝手に計算すればいいので簡単。 って書いてあった⇒http://ap.atmarkit.co.jp/bbs/core/fdotnet/11831

SSLは暗号化通信 SSHLinux系OSのシェル(Windowsでいうコマンドプロンプトのようなものです)にネットワーク越しにログインするもの ⇒http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1239519247

あーなるほど。勉強になる。検索かけたら違いについての記述はいっぱい出てきました。

てことでSSHとは違う方法での作成。

参考はこちら⇒https://www.verisign.co.jp/ssl/help/csr/capache_new.html http://kajuhome.com/apache_ssl.shtml#n08 http://x68000.q-e-d.net/~68user/net/ssl-setup-1.html

秘密鍵を作成# cd /etc/pki/tls/certs umask 77 ; /usr/bin/openssl genrsa -des3 1024 > server.key Generating RSA private key, 1024 bit long modulus .............++++++ ...++++++ e is 65537 (0x10001) Enter pass phrase: ←パスワード入力 Verifying - Enter pass phrase: ←パスワード再入力

この秘密鍵を使うと、apacheの起動時に毎回パスワードを聞かれてしまうらしい。ので!回避>△<

# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: ←パスワード入力 writing RSA key

これでパスワードなしで起動できるようになるとのこと。

公開鍵(CSR)作成# make server.csr umask 77 ; /usr/bin/openssl req -utf8 -new -key server.key -out server.csr 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) [GB]:JP State or Province Name (full name) [Berkshire]:都道府県名 Locality Name (eg, city) [Newbury]:市町村名 Organization Name (eg, company) [My Company Ltd]: Organizational Unit Name (eg, section) : Common Name (eg, your name or your server's hostname) :IPアドレス Email Address :

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

赤字部分以外は全部でフォルトでいきました。 Common Name にドメイン名を入れる場合は、デフォルトで割り当てられているホスト名を入れとく。

ホスト名はnslookupコマンドで調べることができるけど、CentOSの最小構成では入ってない。 入ってなかったですorz

# yum install bind-utils

nslookup VPSIPアドレス

逆にドメイン名を入力するとIPを調べることができます。 詳しくはここ⇒http://www.itbook.info/study/nslookup3.html

そんな感じに・ω・*

証明書の作成

これはもうそのまま使わせてもらいますた

# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 3650 なんたらかんたら SSL証明書の作成 Getting Private key

openssl x509 -in server.pem -outform DER -out server.der

 ↑インポート用SSL証明書の作成(必須じゃないそうです)

chmod 400 server.key

chmod 400 server.csr

chmod 400 server.pem

パーミッション設定

apacheの設定

これももうそのまんま・・・(決して面倒になってきたからってわけじゃない><

# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/html" ←コメントになってたのではずす SSLCertificateFile /etc/pki/tls/certs/server.pem ←パス変更 SSLCertificateKeyFile /etc/pki/tls/certs/server.key ←パス変更

/etc/init.d/httpd restart 再起動

これでhttps://で接続できまする。 おれおれ証明書なのでこの証明書は信頼できませんとかなんとか警告でますが!!

ひとまずこれで設定は完了ー!

認証とかについてhttp://nai.homelinux.net/ssl.htmlにもわかりやすく書かれてるっぽいのでまたおいおい挑戦してみようかなと。

ひとまずメモ程度に。