OpenSSL:SSL/TLSの脆弱性対策

昨今「OpenSSL」脆弱性に関する事象が、多くのニュースメディアで取り上げられるようになりました。代表的な事象では、昨年2014年のOpenSSLの脆弱性「HeartBleed」、2015年に入っては、SSL/TLS通信時の脆弱性「FREAK」などです。使用するサーバーのSSL/TLS「脆弱性」有無は、各種チェックツールで診断可能です。(2015/04/19作成)

1.各種チェックツール

SSL Server Test
https://www.ssllabs.com/ssltest/index.html

Symantec SSL Toolbox
https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp

Wormly Free SSL Web Server Tester
https://www.wormly.com/test_ssl/

2.脆弱性診断時の設定事例

各種チェックツールで「脆弱性診断」された場合、ディストリビューションの「OpenSSL」パッケージを最新版アップデートを行うことは元より、脆弱性の原因となっている箇所の「OpenSSL」コンフィグレーションを見直す必要があります。以下設定は、Apache(mod_ssl)を例にしています。

以上

ServersMan@VPS:WAF(Web Application Firewall)の導入【ModSecurity編】

インターネット上に公開されたサイトである以上、外部から脆弱性を狙う攻撃の脅威は避けられません。WAF(Web Application Firewall) を導入することで、プログラムを修正することなく透過的に脅威からサーバーを守ることが期待できます。今回は、Apacheモジュールとして動作する「ModSecurity」をServersMan@VPSにインストールします。ModSecurity はオープンソースで開発されている WAFであり、無償で利用することができます。(2015/04/11作成)

WAF(Web Application Firewall)とは…

Webサーバー上にアプリケーションを作り込んでデータを更新したり最新の状況を表示したりするタイプのサイトを,不正な攻撃から守るための装置やソフトウエアのこと。 こうしたサイトにはオンライン・バンキング・やショッピング・サイトなどがある。

0.環境

※本インストールには、EPEL(エンタープライズ Linux 用の拡張パッケージ)のリポジトリを有効化にしておく必要があります。

1.導入

2.設定

ModSecurityで「SQLインジェクション」や「クロスサイトスクリプティング」に関するチェックのみ行う場合。

SecRuleEngine 設定を “DetectionOnly” に設定。攻撃を検知した場合に、リクエストをブロックせずに、検知内容をログ出力します。

3.設定反映(試験運用)

4.偽陽性判定がある場合

auditログを確認しid ( [id “XXXXXX”] ) をチェックします。

※Wordpress固有の対応

WordPressのインストールされた環境に「ModSecurity」 を導入する場合、問題のないリクエストであってもデフォルトでは偽陽性判定がされます。”SecRuleRemoveById” を用いて、偽陽性判定のあるリクエストを除外します。以下の「ModSecurity」用ファイルを作成し「Apache」のコフィグレーション(httpd.conf)に読み込ませます。

5.本番運用

SecRuleEngine 設定を “DetectionOnly” → “On” に設定します。

以上

ServersMan@VPS:Apacheに「mod_pagespeed」を導入

mod_pagespeedとは、Googleが開発した「Webサイトの表示速度を向上させる」ための拡張モジュールです。mod_pagespeedをWebサーバーインストールするだけで、画像の最適化やキャッシュ、JS/CSSなどの最適化等を透過的に実施することができます。(2015/03/01作成)

0.環境情報

1.インストール設定

2.キャッシュとログの書き込み設定

pagespeedインストール直後、pagespeedのキャッシュログの書き込みは、下記ディレクトリになっています。ディレクトリオーナーを、httpdデーモンを動かすユーザーに合わせます。

3.pagespeedの設定

pagespeedインストール直後、モジュールの設定は、httpd ホスト全体に適用されるようになっています。Virtualhost毎の設定も可能なので、その際は「/etc/httpd/conf.d/pagespeed.conf」の「ModPagespeed on → off」にします。

pagespeed設定例:

4.pagespeedの統計情報

pagespeedは標準で「統計情報」をモニタリングする管理ページが付属しています。pagespeedインストール直後は「Allow from 127.0.0.1」ローカル接続のみ許可されているので、下記手順で対象サーバーに「sshポートフォワード」してブラウザで閲覧するようにします。

以上

GMOクラウド ALTUS:Apache2.4+PHP5.6+MySQL5.6+Memcached1.4.4 環境構築

GMOクラウド ALTUS BASICに、定番LAMP実行環境として、Apache2.4+PHP5.6+MySQL5.6+Memcached1.4.4 の環境を構築します。(2015/02/08作成)

0.環境情報

1.インストール要件

2.事前作業

1)「EPEL」リポジトリが使用可能にします。

2)「rpmbuild」コマンドを使用可能にします。

3.httpd 2.4.10

依存関係モジュール

1)APR1.5.1のインストール

2)reetds-develのインストール

3)APR-util1.5.4のインストール

4)distcache-develのインストール

5)mailcapのインストール

6)Apache2.4.10のインストール

7)インストール後の設定

※MPMの変更)Apache2.4.10ではデフォルトで使用されるMPMはeventになっています。PHPを使用する場合等、使用するMPMをpreforkにしたい場合は、Apacheの設定ファイル「/etc/httpd/conf/httpd.conf」で、MPMのモジュールを読み込む設定を以下のように変更します。

8)SSLを有効にする

mod_sslのインストール、mod_ssl関連の「httpd.conf」設定を行います。

4.php5.6.4

PHP5.6インストール

1)libcurl-develのインストール

2)postfixのインストール

3)libjpeg-turbo-develのインストール

4)firebird-develのインストール

5)ibmcrypt-develのインストール

6)PHP5.6.4のRPM作成

7)php56u-pearのインストール

8)php56u-pecl-jsoncのインストール

9)php56u-pecl-apcuのインストール

10)php56u-pecl-geoipのインストール

※「GeoIP C ライブラリインストール 」と「GeoLite Country, GeoLite City バイナリデータ」の配置は下記事を参考にインストールします。

[DTI]ServersMan@VPS:PHP GeoIP のインストール

11)PHP5.6.4のインストール

12)Apacheの設定ファイルの編集

5.MySQL 5.6.22

6.Memcached 1.4.4

1)依存するモジュール群をインストール

2)php56u-pecl-memcached インストール

7.起動・自動起動設定

以上