4129 links
740 private links
  • Doo's links
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
  • ► Jouer les vidéos
Links per page: 20 50 100
  • Automatic check of expiration date of certificatesKoen Van Impe – vanimpe.eu
    #!/usr/bin/python
    #
    # Check Expiration Date of SSL certificates
    #
    # Koen Van Impe
    #
    # Uses the file ceds.checks as input ; one entry per line, format <host>:<port>
    #
    #  ceds.checks :            www.google.com:443
    #                           imap.mydomain.tld:993
    #                       
    
    from OpenSSL import SSL
    import socket, datetime
    import smtplib
    from email.mime.text import MIMEText
    
    servers_to_check = "ceds.checks"
    alert_days = 5
    mail_rcpt = "<>"
    mail_from = "<>"
    mail_server = "127.0.0.1"
    
    servers = open( servers_to_check, "r")
    cur_date = datetime.datetime.utcnow()
    response = ""
    cert_tested = 0
    
    for line in servers:
        host = line.strip().split(":")[0]
        port = line.strip().split(":")[1]
        try:
            context = SSL.Context(SSL.SSLv23_METHOD)
            sock = SSL.Connection(context, socket.socket(socket.AF_INET, socket.SOCK_STREAM))
    
            try:
                sock.connect( (str(host) , int(port)) )
                sock.send("\x00")       # Send empty to trigger response
                get_peer_cert=sock.get_peer_certificate()
                sock.close()
    
                exp_date =  datetime.datetime.strptime(get_peer_cert.get_notAfter(),'%Y%m%d%H%M%SZ')        
                days_to_expire = int((exp_date - cur_date).days)
                cert_tested = cert_tested + 1
    
                if days_to_expire < 0:
                    response = response + "\n %s : %s EXPIRED" % (host, port)
                elif alert_days > days_to_expire:
                    response = response + "\n %s : %s expires in %s dayes " % (host, port, days_to_expire)
                #else:
                    #response = response + "\n %s : %s OK" % (host,port)
            except:
                response = response + "\n Unable to connect to %s : %s " % (host, port)
        except SSL.Error,e:
            print e
    
    if response:
        response = response + "\n\nTotal certificates tested : %s \n" % cert_tested
        try:
            message = MIMEText( response )
            message["Subject"] = "Certificate check %s " % cur_date
            message["From"] = mail_from
            message["To"] = mail_rcpt
            smtpObj = smtplib.SMTP( mail_server )
            smtpObj.sendmail(mail_from, mail_rcpt, message.as_string())
            smtpObj.quit()
        except smtplib.SMTPException:
            print "Unable to send mail"

    en modifiant ça, je vias l'intégrer à mon prometheus. Merci l'open source :D

    October 12, 2016 05:25:15 PM GMT+02:00 * - permalink -
    QRCode
    - https://www.vanimpe.eu/2014/04/28/automatic-check-expiration-date-certificates/
    prometheus ssl
Links per page: 20 50 100
Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community - Help/documentation