satakesatakeの日記

2016-03-10

SSLを取得して、中間CA証明書が2つあって混乱した話

| 14:14

はい。いつも利用しているSSL販売店から、別のところへ変えたら、なんかしらねーが前のところでは1個だった中間CA証明書が2つになってて、

ちょww意味フメーなんすけどwwww

となりました。

どうやら前までは3階層のサーバIDだったのが、4階層になったらしい。中間CA証明書の前にクロスルート証明書というのが入る形になる。

参考→https://knowledge.symantec.com/jp/support/ssl-certificates-support/index?vproductcat=V_C_S&vdomain=VERISIGN.JP&page=content&actp=CROSSLINK&id=SO22877&locale=ja_JP&redirected=true


ルート証明書
 ┗RSAAddTrustCA.crt(*1 クロスルート証明書)
   ┗RSADomainValidationSecureServerCA.crt(*2 中間CA証明書)
     ┗サーバID(*3)

んで、買ったとこから、(*1)と(*2)のファイルと、サーバID(*3)が何の説明もなくZIPで送られてきて設定しろとかいうんですわ。いつもは中間CA証明書、一個だけだからそれをApacheの設定に↓みたいな感じで突っ込んでた。

SSLCACertificateFile /var/www/vhosts/webapp/pem/frontage/current/inca.pem

でも今度は二個だ。どうしよう。

連結する。catして一つのファイルにしちゃえばOKらしい。といっても、並びが重要で、

  1. RSAAddTrustCA.crt(*1)
  2. RSADomainValidationSecureServerCA.crt(*2)

この順番じゃないとダメだそうだ。

(*1)がクロスルート証明書発行者によっては、これを所定の場所からダウンロードせよ、という場合もあるらしい。

幸い、自分の使った発行者ZIPに全部固めてくれていた。

2012-06-22

権限が770のホームディレクトリを持つユーザで、公開鍵認証を行う方法

| 16:52

sshd_configに以下を追加する(そして、sshdを再起動)。

StrictModes no

デフォルトではyesで、ホームディレクトリが所有者以外の書き込み権限を持っていると

  • Authentication refused: bad ownership or modes for file

こんなエラーを吐いて、ログインできません。.ssh/autorized_keysに所有者以外の書き込み権限がある場合も同様だそう。

ただ、この方法は、「推奨できない」方法だそうで、やむを得ない事情がある場合以外は、おとなしくホームディレクトリには700を設定しておくのが吉(ていうか普通はそうなっているはずだ)。

2010-03-19

SSLの更新

| 15:35

弊社の場合、一年に一度やってくる風物詩だ。

今日はApacheのディレクティブ、SSLCertificateKeyFileの話。SSLCertificateFileとも関連する重要なディレクティブなのだが、これが要らない場合がある。SSLCertificateFileの秘密鍵がSSLCertificateKeyFileにあたるのだが、要らない場合がありえるのだろうか?

実はありえた。

SSLCertificateFileで設定したファイルに秘密鍵が含まれていた場合だ。

つまり、下記のような形になっていた場合に、SSLCertificateKeyFileは省略可能。

-----BEGIN RSA PRIVATE KEY-----
(中略)
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
(中略)
-----END CERTIFICATE-----

秘密鍵が含まれていないときにはApache再起動時にエラーとなる。

いやーいままで知らなかった。つーか、ちゃんと書いてあるし→http://httpd.apache.org/docs/2.0/ja/mod/mod_ssl.html#sslcertificatekeyfile

ベリサインのヘルプ見ながらやると、指示通りにやっちゃうからしょうがない面もある→https://www.verisign.co.jp/ssl/help/install/iapache_renew.html

2008-05-08

Apacheの再起動のこと

| 11:09

# /etc/init.d/httpd graceful

比較的、メジャーなコマンド。

プロセスは USR1 あるいは graceful シグナルを受け取ると、子プロセスに現在のリクエストの処理の後に終了する (あるいは何もしていなければすぐに終了する) ように助言します。 親プロセスは設定ファイルを再読込して、ログファイルを開き直します。 子プロセスが徐々になくなるに従って、 新しい世代の設定による子プロセスに置き換えていきます。 そして、これらが新たなリクエストに即座に応答し始めます。

停止と再起動 - Apache HTTP サーバ: 緩やかな再起動

gracefulは、VeriSignなどで認証された証明書を設定し、Apache再起動時にSSLパスワードが要求されるシステムにも効果的だ。パスワードを要求せずに緩やかに設定の再読み込みをしてくれる。

  • 2010.3.19 追記
    • ただし、証明書を更新した際にgracefulを行うと、再起動に失敗するようだ。その場合は潔く、restartとパスワードを入力!