ねっとわーくえんじにあとか > > WEBサーバのセキュリティを高める簡単な方法

WEBサーバのセキュリティを高める簡単な方法

スポンサーリンク

“あなたのサイトセキュリティは大丈夫?”

以前の記事にてSSL関連のセキュリティ診断を実施した。
結果については惨敗である。
そこで!挽回すべく、サーバのセキュリティを高める設定を追加する。
具体的にはApacheにて暗号強度が弱いchiper suite(暗号スイート)を無効にしてやればよい
http://www.neteng.co/?p=3

 

スポンサーリンク
スポンサーリンク

Apatch によるChiper Suiteの制限方法

Apachにて対策するには大きく分けて二つ設定を変えればよい

・プロトコルの制限(SSLv2/3やTLS1/1.1/1.2)などの制限
こちらについてはSSLv3以下は脆弱性が問題視されているため無効にさせる。

・暗号スイートの制限
脆弱性や暗号強度が弱い暗号化スイートを無効にさせる

Apatchにてプロトコルの制限や暗号スイートの制限をするためにはssl.confの設定を変更するのみでできる。

 

ssl.confをテキストエディタで開く

 # emacs /etc/httpd/conf.d/ssl.conf

・プロトコルの制限(SSLv2/3やTLS1/1.1/1.2)などの制限
SSLProtocol には「 -All +TLSv1 +TLSv1.1 +TLSv1.2」を入力
※すべてのプロトコルを無効にした上でTLS1/1.1/1.2を有効化させる

・暗号スイートの制限
SSLCipherSuiteには「ECDH+AES256:RSA+AES128:ECDH+AES128:+SHA:+SHA256:!aNULL」
近年よく見る、長く暗号スイートを記載するサイトがあるがホワイトリスト形式(必要なのだけ許可)すると簡単に記載できる、

 

ssl.confの編集箇所は以下のとおり
93    SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
94
95    #   SSL Cipher Suite:
96    # List the ciphers that the client is permitted to negotiate.
97    # See the mod_ssl documentation for a complete list.
98      SSLCipherSuite ECDH+AES256:RSA+AES128:ECDH+AES128:+SHA:+SHA256:!ADH

 

Apacheを再起させて完了

# /etc/init.d/httpd restart

 

 セキュリティ診断をしてみよう!

前回はボロボロな結果と終わったが・・・今回はどうだろうか?

〝https://sslcheck.globalsign.com/ja〟にアクセスしセキュリティ診断を実施する。 WS000015プロトコルのサポート
鍵交換
暗号強度

にて高い評価を得ることができた!

ただし・・・SSL証明書についてはオレオレ証明書といわれるCA認証局から発行されていないものを使っているため低い評価となっている。

 

セキュリティ診断をしてみよう!パート2

先ほどの画面にQULAYS’ SSL LABSと記載があったと思います。

そもそもGMOのサイトについては技術提供を受けて作成しています。そのため本家のサイトでも実施しましょう!

SSL Server Test (Powered by Qualys SSL Labs)
A comprehensive free SSL test for your public web servers.

※必ずDo not show the results on the boardsにチェックを入れて実施してください。

WS000017

こちらにはGMOに記載がなかった、各OSやスマフォの対応状況も確認できます。

WS000016

 

【参考】OpenSSLにて暗号スイートの内容を確認する。

OpenSSLコマンドにて現在サポートしている暗号スイートを表示させる。

 # openssl ciphers -v 'DEFAULT'

ずらずら長い文字の羅列がでてくるが、長すぎるため省略
ciphersにて暗号強度が低いものや匿名の暗号を禁止するために以下の確認コマンドを入力。

# openssl ciphers -v 'ALL:!EXPORT56:!EXP:!ADH:!LOW:!NULL:!SSLv2:!aNULL:!eNULL:!PSK:!SRP:!DSS:!KRB5:!MD5:!RC4: !3DES:!DH:!IDEA:!CAMELLIA:EECDH+HIGH:EECDH+HIGH:!SEED:!AES128-SHA'
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
 ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
 ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
 ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
 ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
 ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA384
 ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
 ECDH-RSA-AES256-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(256)  Mac=SHA1
 ECDH-ECDSA-AES256-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA1
 AES256-GCM-SHA384       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(256) Mac=AEAD
 AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
 AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
 ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
 ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
 ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA256
 ECDHE-RSA-AES128-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
 ECDHE-ECDSA-AES128-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
 ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
 ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
 ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA256
 ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA256
 ECDH-RSA-AES128-SHA     SSLv3 Kx=ECDH/RSA Au=ECDH Enc=AES(128)  Mac=SHA1
 ECDH-ECDSA-AES128-SHA   SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(128)  Mac=SHA1
 AES128-GCM-SHA256       TLSv1.2 Kx=RSA      Au=RSA  Enc=AESGCM(128) Mac=AEAD
 AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256

コメント