fc2ブログ

Entries

SSLサーバの構築(Ubuntu Server@VMWare Server)

1.認証局(CA)の構築

 テスト用のサイト構築なので、自前で認証局(CA)を構築し、署名を行います。

 なお、認証局(CA)の構築には、事前にOpenSSLのインストールが必要。
 OpenSSLのインストール方法はこちらを参照。

 1)秘密鍵と証明書の作成

  OpenSSL の CA.sh スクリプトを実行して、秘密鍵と証明書を作成する。

  $ cd /usr/local/ssl/misc
  $ sudo ./CA.sh -newca

  対話形式で作成作業を進めていく。

  上位認証局のファイル名を聞かれるが、ここは何も入力せずに[Enter]を押す

  CA certificate filename (or enter to create)

  証明書のパスワードを2回聞かれるので、適当なパスワードを入力する

  Enter PEM pass phrase:←パスワードを入力
  Verifying - Enter PEM pass phrase:←パスワードを入力

  次に認証局の情報を入力する。

  Country Name (2 letter code) [AU]:←国名を入力 (例:JP)
  State or Province Name (full name) [Some-State]:←都道府県名を入力 (例:Tokyo)
  Locality Name (eq, city) []:←市町村名を入力 (例:Shinjuku)
  Organization Name (eq, company) [Internet Widgits Pty Ltd]:←組織名 (例:Home)
  Organizational Unit Name (eq, section) []:←部署名 (例:Work)
  Common Name (eq, YOUR name) []:←サーバ名(FQDN) (例:ww.hoge.com)
  Email Address []:←連絡先メールアドレス (例:info@hoge.com)

  A challenge password []:←未入力でOK
  An optional company name []:←未入力でOK

  Enter pass phrase for ./demoCA/private/./cakey.pem:←パスワードを入力

  以上で秘密鍵と証明書が作成される。

  /usr/local/ssl/misc/demoCA/private/cakey.pem ←秘密鍵
  /usr/local/ssl/misc/demoCA/cacert.pem ←自己署名型証明書

 2)パーミッションの設定

  作成された秘密鍵が他人から見られないようにパーミッションを設定する。

  $ sudo chmod 600 /usr/local/ssl/misc/demoCA/private/cakey.pem
  $ sudo chmod 700 /usr/local/ssl/misc/demoCA/private

2.SSLサーバの構築

 まず、秘密鍵と証明書を置くディレクトリを作成して、作成したディレクトリに移動する。

 $ sudo mkdir /opt/www/conf/ssl
 $ cd /opt/www/conf/ssl

 1)SSLサーバの秘密鍵作成

  以下のコマンドを実行して、SSLサーバの秘密鍵を作成する。

  $ sudo openssl genrsa -out server.key 1024

 2)証明書署名要求(CSR)の作成

  以下のコマンドを実行して、証明書署名要求(CSR)を作成する。

  $ sudo openssl req -new -key server.key -out server.csr

  対話形式で作業を進める。

  Country Name (2 letter code) [AU]:←国名を入力 (例:JP)
  State or Province Name (full name) [Some-State]:←都道府県名を入力 (例:Tokyo)
  Locality Name (eq, city) []:←市町村名を入力 (例:Shinjuku)
  Organization Name (eq, company) [Internet Widgits Pty Ltd]:←組織名 (例:Home)
  Organizational Unit Name (eq, section) []:←部署名 (例:Work)
  Common Name (eq, YOUR name) []:←サーバ名(FQDN) (例:ww.hoge.com)
  Email Address []:←連絡先メールアドレス (例:info@hoge.com)

  A challenge password []:←未入力でOK
  An optional company name []:←未入力でOK
  
 3)サーバ証明書の作成

  以下のコマンドで、SRに対して自己署名を行い、サーバ証明書を作成する。
  ※ここでCAの秘密鍵が見つからないとエラーが出たため、"/usr/local/ssl/openssl.cnf"を
   以下の通り編集

   [ CA_default ]
   dir = /usr/local/ssl/misc/demoCA


  $ sudo openssl ca -out serverca.crt -infiles server.csr

3.Apache の SSL設定
  
 1)httpd-ssl.conf ファイルの設定

  以下のコマンドで httpd-ssl.conf ファイルをコピー

  $ sudo cp /opt/www/conf/extra/httpd-ssl.conf /opt/www/conf/

  コピーした httpd-ssl.conf を以下の通り編集

  SSLCertificateFile "/opt/www/conf/ssl/serverca.crt"
  SSLCertificateKeyFile "/opt/www/conf/ssl/server.key"
  
 2)httpd.conf ファイルの設定

  httpd.conf に httpd-ssl.conf ファイルの記述内容を取り込むための記述を追加する。

  <IfModule mod_ssl.c>
   Include conf/httpd-ssl.conf
  </IfModule>

 以上で設定は終了。
 なお、Apache2.2 から startssl が使えなくなっており、start でsslポートもLISTENするので注意。
 The startssl option is no longer supported.
 Please edit httpd.conf to include the SSL configuration settings
 and then use apachectl start.


スポンサーサイト



この記事にトラックバックする(FC2ブログユーザー)
http://rickylog.blog76.fc2.com/tb.php/5-f6331f83

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する