Ключевые слова конфигурации Apache / OpenSSL `SSLProtocol` против` SSLCipherSuite`

Согласно документам Apache, я могу настроить набор шифров с помощью (ao) двух разных ключевых слов и примеров в Интернете, которые часто используют оба (но не обязательно идентичные приведенному ниже примеру).

В чем разница между SSLProtocol и SSLCipherSuite , следует ли использовать их как для одного, так и для обоих?

 SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ALL:!SSLv2:!SSLv3 

Или лучше перечислять отдельные шифры для SSLCipherSuite ?

 SSLCipherSuite ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA:RC4-SHA ... 

Являются ли оба ключевых слова принципиально разными в том, что они настраивают? У меня такое чувство, что я не вижу здесь ничего существенного.

Выше конфигурации не обязательно хорошая практика, они просто пример, чтобы объяснить мои сомнения.

SSLProtocol настраивает, какие протоколы (SSL или TLS) и какие конкретные версии этих протоколов будут разрешены.

Например, это:

 SSLProtocol all -SSLv2 -SSLv3 

означает включение всех поддерживаемых протоколов, кроме SSLv2 и SSLv3.

SSLCipherSuite настраивает, какие SSLCipherSuite сюиты можно использовать. Каждый из протоколов поддерживает разные перекрывающиеся множества шифров; с этим вы можете применить мелкозернистую настройку точно, какие шифры вы хотите разрешить.

В дополнение к указанию списков отдельных шифров вы также можете использовать псевдонимы, такие как SSLv3 (что означает все шифры, разрешенные протоколом SSLv3) или TLSv1 (все шифры разрешены протоколом TLSv1).

Если вы хотите контролировать, какие протоколы поддерживаются, вы должны использовать SSLProtocols , потому что он явно заявляет, что данные протоколы не будут разрешены, а не полагаться на блокировку использования всех шифров, разрешенных протоколами.