カテゴリー
Linux

Docker の php:apache で OpenSSL を有効にする Dockerfile 等

PHP で OpenSSL をインストールする Dockerfile

From php:apache
RUN apt-get update && apt-get install -y \
  libssl-dev \
  openssl \
  ssl-cert \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/* \
  && a2enmod ssl \
  && a2ensite default-ssl

注意点

カテゴリー
Linux

【Linux】ヒアドキュメントを使ってオレオレ SSL を自動的に作成する手順

秘密鍵と証明書を作成、配置を自動化したいですわ。

自動化して、Vagrant Provisioning に組み込みたいですの♪

ただ、証明書署名要求 (CSR) 作成時のコマンドはインタラクティブで、値を入力して Enter を繰り返さねばなりません><。

この部分をどうやって自動化すればよいかしら、、、と調べましたろころ、ヒアドキュメントが使えそうでしたので、試してみました。

今回は、自動化したコマンドを記録しておきます!

オレオレ証明書の作成を自動化するコマンド

カテゴリー
Linux

Apache は起動するのにウェブブラウザへアクセス出来ない問題をオレオレ証明書と設定ファイル読み込みを見なおして解決!

現象

とあるリポジトリをローカル環境で、Vagrant を使った VirtualBox で再現しようといたしました。ウェブサーバ、DB、PHP などの構築が終わり、最終確認です。

トップページ http://example.com/ から ID、パスワードを入力してログインすると、次のページ・処理である https://example.com/index.php/login/auth に飛ぶものの、Not Found エラーとなってしまいました><。

Apache mod_ssl の SSL 設定を見直し、解決できましたのでその作業内容を記録いたします。

ポイント

  • 秘密鍵 (Private Key)、サーバ証明書 (CRT) を自前で用意することで解決できた。
  • いわゆるオレオレ証明書を作成した。
  • オレオレ証明書の場合は、外部機関とやり取りすることなく、自サーバ内のみだけで作業を完結できる。
  • 使用するのは openssl
  • 第3者機関の認証は受けていないため、当然ながらウェブブラウザでアクセス時にはその旨のエラーが表示される。
カテゴリー
Linux

SSL サーバ証明書のアンインストール?、、、無効化のメモ♪

SSLサーバ証明書をコマンドを使ってCA認証局とやり取りしながらサーバにインストールした記録♪ | oki2a24 でインストールしました、SSL サーバ証明書をアンインストール、、、といいましても、SSL ソフトのパッケージをアンインストールするわけではございません。

どちらかといいますと、サーバの mod_ssl パッケージの設定から、導入した SSL サーバ証明書の記述を取り除いて無効化する、という表現がよいかと思います。それでは、始めます。

カテゴリー
Linux

SSLサーバ証明書をコマンドを使ってCA認証局とやり取りしながらサーバにインストールした記録♪

ポイント

  • OpenSSL コマンドは自動でディレクトリを生成してくれないので、ないディレクトリは作業前に作成しておくこと!
  • 秘密鍵 = 一種のパスワードだが、秘密鍵自体にさらにパスワードをかける。混乱したが、それだけ大事な情報だということ。しかしこの場合、Apaceh の再起動のたびに秘密鍵のパスワード入力を求められるため、運用方法によっては秘密鍵のパスワードを解除する方法もありうる、といいますかそのようなパターンは結構あると思います。

やりたいことや環境について

  • oki2a24.com に対して、ベリサインの「テスト用無料SSLサーバ証明書」を適用したい
  • oki2a24.com があるのは CentOS 5.9 で、Apache 2.x + mod_ssl + OpenSSL。ユーザは root で操作
  • SSL 証明書の確認は Mac の Chrome で行う

用語の整理

  • コモンネーム = SSL暗号化通信を行うサイトのURL
  • 秘密鍵 = RSA PRIVATE KEY
  • CSR = certificate signing request = certification request = BEGIN CERTIFICATE REQUEST 〜 END CERTIFICATE REQUEST = 証明書署名要求 = CA 認証局に送るサイト内容データ & 公開鍵データ。ひとつのファイルに両方の情報が含まれる。CA 認証局に提出する用に秘密鍵を使用してよくわからない文字列の状態で作成してくれる。
  • SSLサーバ証明書 = crt = BEGIN CERTIFICATE 〜 END CERTIFICATE

登場する CentOS ファイルの整理

No 項目 パス
1 秘密鍵 /etc/httpd/conf/ssl.key/ssl.oki2a24.com2013.key
2 CSR /etc/httpd/conf/ssl.csr/ssl.oki2a24.com2013.csr
3 SSL サーバ証明書 /etc/httpd/conf/ssl.crt/ssl.oki2a24.com2013.crt
4 中間 CA 証明書 /etc/httpd/conf/ssl.crt/dvcacert.cer
5 SSL 設定用 conf ファイル /etc/httpd/conf.d/ssl.conf

No の順番にファイルを作成したり、編集したりを行っていきます。

カテゴリー
WordPress

WordPress for iOS ログイン出来ない!→ SSL 強制ログインを解除

IMG_9443.png

WordPress プラグイン、Google Authenticator の導入メモ♪ | oki2a24 で次のような課題がありました。

  • iPhone の WordPress アプリでダッシュボードの表示を試みても証明書が無効のためにエラーとなりました。ユーザー名、パスワード、Google Authenticator code を入力しても次のようなアラートが表示され、ログインできません。

    エラー
    このサーバの証明書は無効です。”oki2a24.com”に偽装したサーバに接続している可能性があり、機密情報が漏えいするおそれがあります。

これの原因はわかっています。ログイン時にサーバに送信する情報を SSL 暗号化して通信しておりますが、身元保証はしておりません。いわゆる「オレオレ証明書」での自己署名証明書を使用しています。

ですので、採用するかどうかはともかく、とりあえず Google Authenticator プラグインを有効にしたまま、ログイン時の SSL 通信は無効とするやり方を試し、本当に iPhone の WordPress for iOS  アプリにログインできるかどうかを確認します。