Como posso verificar os detalhes de expiração de muitos certificados SSL implantados em servidores Windows 2008/2012?

2

Temos mais de 300 servidores Windows para fins de hospedagem .NET e muitos certificados SSL importados nesses servidores. Podemos extrair os detalhes de expiração de certificados de todos os servidores de um único servidor Windows / Linux usando o PowerShell ou o Python?

    
por johny99411 18.08.2015 / 16:55

2 respostas

5

Get-ChildItem cert:\LocalMachine\My listará todos os certificados de máquina instalados.

para fazer o mesmo com um servidor remoto, use o remoting:

Invoke-Command -ComputerName $servername -ScriptBlock {Get-ChildItem cert:\LocalMachine\My}

ou todos os seus servidores:

$certs = Get-ADComputer -SearchBase 'ou=servers,dc=something,dc=com' -filter *
    | % { Invoke-Command -ComputerName $_.name -ScriptBlock
        { Get-ChildItem cert:\LocalMachine\my }
    }'
    
por 18.08.2015 / 17:09
0

A maneira mais fácil de fazer isso seria com um simples enrolar do site usando os seguintes sinalizadores:

curl -ILv https://yourdomainhere.com

na saída, você encontrará uma sequência de expiração "data de expiração" semelhante a esta:

*    expire date: 2016-05-19 20:59:53 GMT

use o pycurl para fazer isso funcionar, ingeri-o como uma string e, em seguida, retire os dados relevantes. OU, você poderia usar o seguinte script python para caixas * nix para testar (é um pouco difícil e poderia usar ajustes para aceitar todos os hosts / domínios a serem verificados):

import os
os.system("echo|openssl s_client -connect mydomain.com:443 | openssl x509 -noout -dates > ~/testfile.txt")
    
por 19.08.2015 / 02:44