SSLサイト安全性評価の上げ方

2016/12/20 技術系 投稿者:

ssl_01-https_key

あなたのSSLサイトは安全ですか?

正しいサーバー証明書を利用していたとしても、Webサーバーのアップグレードが正しく行われていなかったり、利用する暗号化の設定が古かったりすると、脆弱性を突かれてしまいせっかくのSSLの目的(通信の暗号化)が果たせなくなります。
設定時に問題はなくても、後から脆弱性が見つかるということがありますので、機密性・安全性を確保するために運営しているSSLサイトの定期的な安全性のチェックは必須です。

しかし、SSLサイトが正しく機能するための要素は複数あり、一般的なサイト管理者には理解しにくい要素も少なくありません。

そこで便利なのが、SSLサイトの安全性評価を簡単に行えるこちらの Qualys SSL LABS SSL Server Test です。Qualys SSL LABS SSL Server Test は誰でも無料で利用できます。

 Qualys SSL LABS SSL Server Test https://www.ssllabs.com/ssltest/

ssl_02

評価項目は、グラフ表示の「Certificate(証明書)」「Protocol Support(サポートされているプロトコル)」「Key Exchange(鍵交換)」「Cipher Strength(暗号強度)」で、100点満点で表示されます。

詳細評価項目について

評価に追加情報がある場合は more_info のリンクがあります。詳細評価は以下に分類されています。

詳細評価項目

評価に追加情報がある場合は more_info のリンクがあります。詳細評価は以下に分類されています。

  • Authentication(証明書評価)

    証明書そのものの評価です。証明書の設定は含まれません。
    著名なCAの証明書を利用していれば100%になるはずです。

    • Server Key and Certificate #1 証明書と秘密鍵
    • Additional Certificates (if supplied) 中間証明書
    • Certification Paths 証明書のパス
  • Configuration(各種設定)

    Configuration(各種設定)はサーバーのバージョン、セキュリティパッチ、暗号化手法などです。
    ここで問題がある場合は、セキュリティ情報などを確認して修正する必要があります。

    • Protocols プロトコル
    • Cipher Suites 暗号アルゴリズムリスト
    • Handshake Simulation 接続確認
    • Protocol Details セキュリティと関係の深いプロトコル詳細
    • Miscellaneous その他

判定結果は、各項目別の結果の他にA+ ~ Fまでの8段階レベルでも表示されるのですが、今回はこちらの判定結果のレベルを代表的なセキュリティ設定を行うことで上げる方法についてご紹介したいと思います。
(なお、今回紹介する内容の設定を行うことでサイトの安全性が完全に守られるわけではございませんのでご注意ください)

SSLプロトコルについて

初めにSSLとひと言で言っても様々なバージョンがありますので、そちらについて紹介します。

SSLプロトコルの種類

略称 正式名称 開発元
SSL Secure Socket Layer ネットスケープコミュニケーション
TLS Transport Layer Security IETF

SSLプロトコル 各バージョンごとの概要

バージョン 安全性 概要
SSL1.0 × 最初のSSLとして設計したが、設計レビューの時点でプロトコルの脆弱性が発見されたため破棄されている。
SSL2.0 × SSL1.0の問題を修正して設計後、1994年にSSL2.0として発表。その後、いくつか脆弱性が発見されてSSL3.0が登場するが、未使用でもSSL2.0が有効な状態の場合に提示する最弱のアルゴリズムを使用させるダウングレード攻撃などを受ける可能性があるので、明示的に無効にする必要がある。
SSL3.0 × SSL2.0の問題を修正して機能追加も行い1995年にSSL3.0として発表。ただ、古くなってきている。CVE-2014-3566で脆弱性が発生したため明示的に無効にする必要がある。
TLS1.0 SSL3.0とTLS1.0の両者間には正確な互換性はないがほぼ同じ。CVE-2011-3389(BEAST)による一部脆弱性を含む。
TLS1.1 TLS 1.0からの変更点は、新しく発見された攻撃手法に対する耐性の強化が中心である。
TLS1.2 ハッシュのアルゴリズムにSHA-256が追加されたほか、ブロック暗号について、従来のCBCモードだけではなく、GCM、CCMといった認証付き暗号が利用可能となった。

上記の通り、SSLv1 / SSLv2 / SSLv3 は脆弱性があるので、 現時点で使用できるものはTLSv1以上となります。

暗号化スイートについて

サーバーでの設定で重要なのが、上記で説明したSSLプロトコルと暗号化スイートの指定になりますので、続いて暗号化スイートについての説明も行います。

暗号化スイーツの指定は、SSLCipherSuite の項目で行われ、下記のような形式で記述します。

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

暗号方式の詳細

  • !は暗号スイートを使わせない
  • +は暗号スイートの追加

重要なのは、脆弱性が発見された下記の暗号化スイートを利用出来なくする設定を行うことです。

内容 設定 備考
40bitの暗号方式を削除 !EXP 米国輸出規制緩和により使用可能となった暗号化方式。非常に弱い
56bit, 60bitの暗号方式を削除 !Low 同じく非常に弱い
通信を暗号化しない方式を削除 !eNULL
通信の認証をしない方式を削除 !aNULL
匿名暗号方式を削除 !ADH 匿名なので削除
DSS(DSA)を削除 !DSS RSAと違って、「通信の暗号化」はカバーしてるが、「ユーザ認証」を行っていないため、暗号強度が低い
メッセージ認証符号にMD5を使用するものを削除 !MD5 MD5は選択プレフィックス衝突攻撃に対し脆弱性が存在します
PSKを削除 !PSK 基本的には使用しない
SRPを削除 !SRP 基本的には使用しない
暗号方式にRC4を使用するもの削除 !RC4 RC4は解読が容易になるようなアルゴリズムが存在するため危殆化しています
3DES暗号方式を追加 +3DES RC4を削除するとWinXP + IEで接続出来なくなるため追加

サーバーでの設定方法

①opensslのバージョンアップ

まず初めにopensslのバージョンを上げましょう。CentOSであればyumコマンドで簡単にバージョンを上げることが可能です。

# yum update openssl

②「SSLProtocol」と「SSLCipherSuite」の設定

続いて前述した「SSLProtocol」と「SSLCipherSuite」の設定を行います。ssl.conf内で下記の記述を行います。

上記の設定を行ったら、WEBサーバーをリスタートします。

最後に、Qualys SSL LABS SSL Server Test で実際にレベルが変わったか確認してみましょう。

まとめ

いかがでしたでしょうか?

冒頭でも記載しましたが、正しい設定を行っていないとせっかくの証明書を生かすことが出来ません。

話は少しそれますがGoogleが2014年にウェブマスター向けの公式ブログで、「HTTPS をランキング シグナルに使用します」というタイトルの記事を投稿したのをご存じでしょうか?

https://webmaster-ja.googleblog.com/2014/08/https-as-ranking-signal.html

これは、SSL化されたWebサイトをSEOの評価として優遇します(=HTTPSであることが、SEO上のプラスになります)というものです。
あくまで要素の1つとしているようで、今のところSEO的な影響度としてはそこまで大きくないようですが、常時SSL化も推奨され始めた今日、SEO目的での利用も増えることでSSLサイトは今後も増えていくものと思われます。

正しい設定でサイトの安全性を確保していきましょう。

カレンダー

1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
   1234
567891011
12131415161718
19202122232425
26272829   
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
Wide Netのクラウドバックアップ
クラウド型ファイル共有サービスRushDrive
ワイドオフィス
ネディアのSDGsへの取り組み