Apache|SSLの設定(サーバ認証・通信の暗号化)

ウェブサイトにSSLを導入することで「なりすましの防止」や「通信の暗号化」をすることができます。ここではCentOS6で動作するWebサーバ(Apache)にSSLを導入する方法について紹介します。

手順

大まかな手順は以下の通りです。

  1. 必要なソフトウェアをインストール
  2. サーバー用秘密鍵を作成
  3. サーバ―用秘密鍵をもとに CSR を作成( CSR には、指定したサーバー情報とサーバーの公開鍵が含まれます)
  4. ベリサインなどの CA(認証局)CSR を送り、証明書を発行してもらう
  5. Apacheに証明書と秘密鍵を組込む

本格的にSSLを導入したい場合は手順4のように商用のCAに証明書を発行してもらう必要があります。ですが、ここではSSL対応のWebサイトをテスト運用したいだけなので自己署名で証明書を作成します。

必要なソフトウェアをインストール

下記ソフトウェアが必要です。

名称 概要
OpenSSL SSLを利用するためのソフトウェア
mod_ssl ApacheでOpenSSLを利用するためのモジュール

インストールされているか確認します。

rpm -qa|grep openssl
rpm -qa|grep mod_ssl

インストールされていなければインストールしてください。

yum install openssl
yum install mod_ssl

サーバー用秘密鍵作成

ディレクトリ移動後、秘密鍵を作成します。

cd /etc/pki/tls/certs/
openssl genrsa -out server.key 2048
612-web-server-ssl-server1.png

server.key という秘密鍵がカレントディレクトリに作成されます。

CSR作成

openssl req -new -key server.key -out server.csr
612-web-server-ssl-server2.png

server.csr というファイルがカレントディレクトリに作成されます。

サーバー証明書作成

本格的にSSLを導入する場合、サーバーで作成したCSRを認証局に提出して証明書の作成を依頼します。ここではテスト用なので自己署名をして証明書を作成します。

openssl x509 -req -in server.csr -signkey server.key -days 3650 -out server.crt

server.crt という証明書がカレントディレクトリに作成されます。なお、daysを3650日と指定しているため作成された証明書は10年間有効となります。

Apache SSL設定

mod_ssl をインストールしたタイミングで /etc/httpd/conf.d/ssl.conf というファイルが作られているはずです。このファイルでSSLの設定をします。

vi /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key

設定完了後、Webサーバを再起動すればSSLが導入されます。なお、SSL用のポート(デフォルトでは443)をiptablesで許可しておく必要があります。

service httpd restart

SSLを利用したい場合は、httpsとしてアクセスしてください。自己署名のため警告画面が表示されます。

612-web-server-ssl-server3.png

『このサイトの閲覧を続行する』を選択するとテスト運用としてSSLが導入されたWebサイトを閲覧できます。

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。