Desconfiando de uma CA intermediária no Linux?

18

De este blog .

Intermediate CAs are certificates signed by a root CA that can sign arbitrary certificates for any websites.

They are just as powerful as root CAs, but there's no full list of the ones your system trusts, because root CAs can make new ones at will, and your system will trust them at first sight. There are THOUSANDS logged in CT.

This month an interesting one popped up, generated apparently in September 2015: "Blue Coat Public Services Intermediate CA", signed by Symantec. (No certificates signed by this CA have reached the CT logs or Censys so far.)

I thought it would be a good occasion to write up how to explicitly untrust an intermediate CA that would otherwise be trusted in OS X. It won't stop the root CA from handing a new intermediate to the same organization, but better than nothing.

Quando experimentei as etapas do blog no Ubuntu, eu baixei o link do certificado. Quando eu abro o .crt ele importa para o Gnome Keyring, mas depois eu não consegui achar uma maneira de "desconfiar" do certificado depois de importá-lo.

    
por raphael 27.05.2016 / 00:23

2 respostas

8

Apenas para dificultar as coisas, o Linux tem mais de uma biblioteca para trabalhar com certificados.

Se você estiver usando o NSS da Mozilla, é possível confiar ativamente (em sua terminologia) um certificado usando certutil -t trustargs option:

$ certutil -d <path to directory containing database> -M -t p -n "Blue Coat Public Services Intermediate CA"

Para o Firefox, <path to directory containing database> geralmente é ~/.mozilla/firefox/<???>.profile , em que <???> são caracteres aleatórios. (certutil é, por exemplo, no pacote libnss3-tools do ubuntu)

A análise é a seguinte:

-M para modificar o banco de dados

-t p para definir a confiança como Proibido

-n para realizar a operação no certificado nomeado

Mesmo no NSS, nem todos os aplicativos compartilham o mesmo banco de dados; então você pode ter que repetir esse processo. Por exemplo, para fazer o mesmo no Chrome, altere o -d <path> para -d sql:.pki/nssdb/ .

$ certutil -d sql:.pki/nssdb/ -M -t p -n "Blue Coat Public Services Intermediate CA"

No entanto, nem todos os aplicativos usam o NSS, portanto, essa não é uma solução completa. Por exemplo, não acredito que seja possível fazer isso com a biblioteca OpenSSL.

Como conseqüência, qualquer aplicativo que use o OpenSSL para fornecer a cadeia de certificados (TLS, IPSec, etc) confiaria em uma cadeia com um certificado Blue Coat e não há nada que você possa fazer a respeito da remoção da CA raiz que assinou da sua loja âncora de confiança (o que seria bobo, considerando que é uma Symantec Root CA, pois você acabaria desconfiando de metade da Internet), enquanto aplicativos que dependem do NSS podem ser configurados mais detalhadamente para desconfiar de qualquer cadeia que tenha o Blue Coat. certificado dentro dele.

Por exemplo, acredito que o OpenVPN usa o OpenSSL como biblioteca para certificados, portanto o big brother pode estar ouvindo o seu tráfego OpenVPN sem o seu conhecimento se você estiver se conectando a um provedor de VPN comercial que usa o OpenVPN. Se você está realmente preocupado com isso, verifique quem é a CA raiz do seu provedor de VPN comercial - se é a Symantec / Verisign, então talvez seja hora de trocá-los por outra pessoa?

Observe que o SSH não usa certificados X509, portanto, você pode se conectar e encapsular usando o SSH sem se preocupar com ataques MITM do Blue Coat.

    
por 27.05.2016 / 09:08
0

Eu não posso comentar ainda, então eu vou ter que comentar aqui que no Ubuntu Gnome 15.10, quando eu uso a abordagem do @ garethTheRed, eu recebo:

~$ certutil -d ~/.mozilla/firefox/<directory>.default -M -t p -n "Blue Coat Public Services Intermediate CA" 
certutil: could not find certificate named "Blue Coat Public Services Intermediate CA": SEC_ERROR_BAD_DATABASE: security library: bad database.

~$ certutil -d sql:.pki/nssdb/ -M -t p -n "Blue Coat Public Services Intermediate CA"
certutil: could not find certificate named "Blue Coat Public Services Intermediate CA": SEC_ERROR_UNRECOGNIZED_OID: Unrecognized Object Identifier.

"Blue Coat Systems, Inc." não funciona também.

(Este é o certificado que importei: link )

    
por 27.05.2016 / 15:31