2008-12-12 7 views
1

Pas une question de programmation en soi, mais intéressant pour les personnes qui font du développement web commercial.Comment suivez-vous les dates d'expiration des certificats d'hébergement/domaine/SSL pour les clients?

Comment suivez-vous l'hébergement, l'enregistrement de domaine et les dates d'expiration des certificats SSL de vos clients? Est-ce que vous conservez simplement une feuille de calcul ou y a-t-il un logiciel utile pour cela?

J'ai cherché intensivement et ne peux pas trouver un morceau de logiciel utilisable et suis tenté d'écrire quelque chose. Avec plus de 100 clients à gérer, et avec l'hébergement et les noms de domaine répartis sur plusieurs sociétés d'hébergement et bureaux d'enregistrement, mes moyens ad hoc sont défaillants.

+0

Avez-vous eu de la chance? J'ai exactement le même problème, étant un développeur web avec de nombreux clients d'hébergement. Il devient difficile de garder une trace des choses avec des fichiers Excel, c'était bien quand j'avais une douzaine de clients mais maintenant c'est une douleur. Veuillez nous mettre à jour si vous avez trouvé une solution ou en avez fait une. Merci! –

Répondre

1

Vous feriez probablement mieux d'utiliser n'importe quel outil que vous utilisez habituellement pour gérer votre temps/horaire que d'avoir un outil spécialisé. Qu'il s'agisse d'Outlook, de Sunbird, de Lightning, d'un PDA, d'un téléphone cellulaire, d'un calendrier papier, etc. Utilisez simplement l'outil que vous utilisez habituellement pour garder une trace des dates.

[AJOUT]

Pour élaborer, la raison pour laquelle vous voulez tout au même endroit que le reste de vos dates importantes est qu'il assure (au moins un peu) que vous faites attention à la liste. Si vous utilisez un autre type de programme, il est trop facile de rester occupé pendant quelques semaines et d'oublier de regarder votre outil spécial et de laisser expirer quelque chose qui ne devrait pas expirer.

+0

alors qu'une vue de calendrier des données est bonne, le problème avec l'utilisation d'un programme de calendrier pour le stocker est qu'il n'est pas stocké par le client ou le nom de domaine. De plus, vous pouvez également vouloir des vues de registrar ou d'entreprise d'hébergement des mêmes données. Mais oui, j'avais pensé à un calendrier Google pour ça. – Quog

+0

Re: Addition Je suis d'accord avec cela. Si j'écris quelque chose, je devrai exposer les dates via une API de calendrier quelconque. – Quog

2

Que diriez-vous de le transformer en une question de programmation! Vous pourriez utiliser ce code (C#), bien que je recommanderais de le modifier un peu (par exemple mettre l'URL dans un fichier) et de le lancer dans un service.

Ce code configure un rappel de validation de certificat que HttpWebRequest appellera à chaque fois qu'il rencontrera un certificat. Cela nous permet de jeter un coup d'œil sur le certificat, généralement utilisé pour valider le certificat, mais nous allons regarder le délai d'expiration et si nous le faisons dans un délai de 3 mois, nous enverrons un email à nous-mêmes. Une minuterie est configurée pour exécuter la vérification une fois par jour.

using System.Net; 
using System.Diagnostics; 
using System.Net.Mail; 
using System.Threading; 

static void Main(string[] args) 
{ 
    // List of URL's to check 
    string[] urls = new string[]{ 
     "https://www.6bit.com/", 
     "https://www.google.com/" 
    }; 

    HttpWebRequest req = null; 

    // Certificate check callback 
    ServicePointManager.ServerCertificateValidationCallback = (state, cert, certChain, sslerr) => 
    { 
     DateTime expiration = DateTime.Parse(cert.GetExpirationDateString()); 
     if (expiration < DateTime.Now.AddMonths(3)) 
     { 
      Debug.WriteLine("Cert expiring on " + expiration.ToShortDateString()); 
      MailMessage msg = new MailMessage("[email protected]", "[email protected]", "SSL Certificate Expiring", "The ssl certificate for" + req.RequestUri.ToString() + " will expire on " + expiration.ToShortDateString()); 
      SmtpClient sc = new SmtpClient(); 
      sc.Send(msg); 
     } 

     return true; 
    }; 

    // Request each url once a day so that the validation callback runs for each 
    Timer t = new Timer(s => 
    { 
     Array.ForEach(urls, url => 
     { 
      try 
      { 
       req = (HttpWebRequest)HttpWebRequest.Create(url); 
       HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 
       resp.Close(); 
      } 
      catch (Exception ex) 
      { 
       Debug.WriteLine("Error checking site: " + ex.ToString()); 
      } 
     }); 
    }, null, TimeSpan.FromSeconds(0), TimeSpan.FromDays(1)); // Run the timer now and schedule to run once a day 
} 
1

En ce qui concerne la gestion des certificats SSL, vous pouvez écrire un script qui appelle OpenSSL ou si vous voulez quelque chose de prêt à l'emploi, vous pouvez essayer ceci:

SSL Certificate Discovery and Monitoring Tool

Il trouvera et les certificats de catalogue vos réseaux et envoyer des alertes par courriel à l'approche de l'expiration. Les résultats peuvent être importés dans un outil Web appelé Centre de certification.

0

Donnez essayer de epazote vous pouvez essentiellement créer une liste de sites (services) sur un fichier YAML et recevoir une alerte email// notification HipChat avant l'expiration du certificat, par exemple:

services: 
    google: 
     url: https://www.google.com 
     seconds: 60 
     expect: 
      status: 302 
      ssl: 
       hours: 72 

Dans ce cas, un courriel pourrait être envoyé, 72 heures avant l'expiration du certificat.

Plus de détails ici: https://epazote.io/post/how-to-use-it/

0

Vous pouvez utiliser un service comme https://IsItWorking.info pour suivre l'enregistrement de domaine, et l'expiration du certificat SSL.

Vous pouvez définir le moment auquel vous souhaitez recevoir des notifications (par exemple, 60 jours avant l'expiration) et il peut vous en informer par e-mail, par mou ou par poussée.

(divulgation complète: je l'ai écrit!)

Questions connexes