OpenSSL - Desativa o TLSv1 e certas cifras inseguras em todo o sistema?

1

Sou novo na configuração do OpenSSL e estou tentando determinar se o OpenSSL pode ter TLSv1 e certas cifras inseguras desabilitadas para todo o sistema de qualquer maneira no Linux, usando configuração de todo o sistema ou compilação personalizada do OpenSSL ?

Pelo que eu li na web, parece que isso não pode ser feito no nível do sistema, mas apenas no nível do aplicativo, pois aplicativos como Apache e Nginx são vinculados a uma versão específica do OpenSSL, que é então configurado através da própria configuração da aplicação.

Portanto, para desabilitar o TLSv1 no Apache, seria uma alteração na configuração do Apache e, para desabilitar o TLSv1 no Nginx, seria uma alteração na configuração do Nginx.

A minha pergunta é: Uma versão customizada do OpenSSL pode ser construída, o que desativa o TLSv1 e criptografias específicas, que são instaladas em todo o sistema e usadas pelo Apache e

Mesmo se o Apache e o Nginx usassem versões diferentes do OpenSSL, duas versões personalizadas do OpenSSL poderiam ser construídas e implantadas no sistema que seriam usadas por esses aplicativos?

Estou analisando o OpenSSL Cookbook e o OpenSSL wiki , mas sinto que gostaria de obter alguns conselhos sobre como proceder.

    
por Brad Parks 25.06.2018 / 14:26

2 respostas

2

My question is: Can a custom version of OpenSSL be built which disables TLSv1 and particular ciphers, which is then installed system wide and used by Apache and Ngnix, and any applications that need OpenSSL on the system?

Se eu estou entendendo sua pergunta corretamente, você deseja desabilitar o TLSv1 em tempo de compilação, então openssl não suportará o protocolo. Se é isso que você procura, há duas opções que se aplicam, e essa é a descrição oficial :

no-<prot>

Don't build support for negotiating the specified SSL/TLS
protocol (one of ssl, ssl3, tls, tls1, tls1_1, tls1_2,
tls1_3, dtls, dtls1 or dtls1_2). If "no-tls" is selected then
all of tls1, tls1_1, tls1_2 and tls1_3 are disabled.
Similarly "no-dtls" will disable dtls1 and dtls1_2. The
"no-ssl" option is synonymous with "no-ssl3". Note this only
affects version negotiation. OpenSSL will still provide the
methods for applications to explicitly select the individual
protocol versions.


no-<prot>-method

As for no-<prot> but in addition do not build the methods for
applications to explicitly select individual protocol
versions. Note that there is no "no-tls1_3-method" option
because there is no application method for TLSv1.3. Using
individual protocol methods directly is deprecated.
Applications should use TLS_method() instead.

Você deve prestar atenção à nota final na bandeira no-tls , que afirma que afeta apenas a negociação.

    
por 05.07.2018 / 07:59
2

Infelizmente, você não pode garantir que os aplicativos parem de usar configurações inseguras com um arquivo de configuração do sistema. O OpenSSL (e potencialmente todos os aplicativos vinculados a ele) precisam ser recompilados com as opções inseguras de protocolo e criptografia desativadas.

E se você tiver o OpenSSL bloqueado, algum aplicativo usa o GnuTLS, o NSS ou outra implementação.

Portanto, se você quiser garantir que seus aplicativos usem uma configuração sã de TLS, será necessário usar arquivos de configuração específicos do aplicativo.

Dito isso, Redhat parece suporte para todo o sistema arquivos de configuração crypto no Fedora, que um dia pode acabar no RHEL.

    
por 05.07.2018 / 10:25

Tags