Rolf B: WIKI - Zertifikat ist verschimmelt

Hallo alle,

unser Wiki hat derzeit kein gültiges https Zertifikat, es ist heute abgelaufen.

Rolf

--
sumpsi - posui - obstruxi
  1. Hallo,

    unser Wiki hat derzeit kein gültiges https Zertifikat, es ist heute abgelaufen.

    guter Hinweis - und dabei hat dedlfix mir bei einem ähnlichen Fall vor drei Monaten noch erklärt, der Vorgang sei [...] automatisiert, da müsse man nichts von Hand überwachen. 😉

    Live long and pros healthy,
     Martin

    --
    Fische, die bellen, beißen nicht.
  2. Tach!

    unser Wiki hat derzeit kein gültiges https Zertifikat, es ist heute abgelaufen.

    Also, ich seh da kein Problem (mehr).

    In der Konfiguration des bei uns laufenden Lets-Encrypt-Clients "dehydrated" war die URL vom Service explizit angegeben. Das war die von der alten V1-Version des Protokolls. Es war zwar angekündigt, dass diese Version beerdigt werden wird, aber ich wusste nicht genau, was bei uns läuft und was da eventuell zu tun ist. Also hab ich das erstmal weiterlaufen lassen, weil es ging und ich dachte, dass wir dann schon auf dem aktuellen Stand seien. Jetzt läuft es jedenfalls wieder.

    dedlfix.

    1. Hallo dedlfix,

      danke schön.

      Jedoch...

      Wowbagger ist ein hochtrabender Name für jemanden, dessen unendliche Verlängerung jetzt schon zum zweiten Mal ausgesetzt hat 😉

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Tach!

        Wowbagger ist ein hochtrabender Name für jemanden, dessen unendliche Verlängerung jetzt schon zum zweiten Mal ausgesetzt hat 😉

        Der Name resultiert daraus, dass er bessere Hardware als sein Vorgänger hatte. Er hatte sozusagen eine verlängerte Leistungsfähigkeit.

        dedlfix.

    2. Also hab ich das erstmal weiterlaufen lassen, weil es ging

      Ich versuche das erstmals 21 Tage vor dem Ablauf (und dann täglich), lasse mir Mails schicken. Das ist ja dank

      sudo dpkg-reconfigure exim4-config
      echo "smtp.example.org:admin@example.org:GeHeim#0815" | sudo tee -a /etc/exim4>passwd.client" 
      

      recht einfach.

      Hier das bash-Skript, welches ich täglich einmal starte:

      #!/bin/bash
      
      # Diesen Pfad anpassen (enthält Link zur aktuellen Datei "chain[0-9]{1,}.pem")
      chainDir='/etc/letsencrypt/live/home.fastix.org';
      
      # Dieser Wert wird von Let's encrypt bestimmt: Gültigkeit des Zertifikates in Tagen
      Days=90;
      
      # Anpassen: Renew n Tage vor Ablauf: (laut Let's Encrypt: maximal 30 Tage)
      DaysBevore=21;
      
      # Mailadresse für Fehler und Bestätigungen:
      Mail="nobody@example.org";
      
      # Subjekt des Mails:
      mailSubject="test.example.org: Zertifikat erneuern"
      
      # Anpassen: Tag für Systemlog:
      logTag="Zertifikat_erneuern";
      
      # Anpassen: Automatische Sperren von blocklist in iptables temporär deaktivieren? [yes, no]
      stopIptablesBlocklist="no";
      
      ###################################################################
      
      DaysU=$(($Days*86400));                 # in Sekunden seit 1.1.1970
      DaysBevoreU=$(($DaysBevore*86400));     # dto.
      MinTime=$(($DaysU-DaysBevoreU));        # 
      dFile=$(stat -c %Y -L ${chainDir}/chain.pem) 
      dTest=$(($dFile+$MinTime));
      dNow=$(date +%s);
      
      if [ $dTest -gt $dNow ]; then
              rest=$(($dFile+$Days*86400));
              rest=$(($rest-$dNow));
              rest=$(($rest/86400));
              errMsg="Das Zertifikat ist noch ${rest} Tage gültig: Exit";
              logger -t "${logTag}" "${errMsg}";      
              echo "${errMsg}";
              exit 1;
      fi
      
      # Einstellungen, Tempdir
      
      tmpdir=$(mktemp -d);
      outfile="${tmpdir}/output.txt";
      
      # Aufheben der Sperren in iptables:
      if [ "yes" = "${stopIptablesBlocklist}" ];
      then
      	iptables-save > "${tmpdir}/iptables.saved";
      	grep -vP 'BLOCKLIST|-A INPUT -s' < "${tmpdir}/iptables.saved" > "${tmpdir}/iptables.clear";
      	echo "y" | iptables-apply "${tmpdir}/iptables.clear";
      fi
      
      /usr/bin/certbot renew 1> "${outfile}" 2>&1
      err=$?;
      if [ 0 -eq $err ]; then
              logger -t "${logTag}" "Das Zertifikat wurde erneuert.";
      else
              logger -t "${logTag}" "Fehler: Das Zertifikat wurde nicht erneuert. ( Fehler: ${err} )";
              cat "${outfile}" | logger -t "${logTag}";
      fi
      /usr/bin/mail -s "${mailSubject}" "${Mail}" < "${outfile}";
      
      # Wiederherstellung der Sperren in IP-Tables:
      if [ "yes" = "${stopIptablesBlocklist}" ];
      then
      	echo "y" | iptables-apply "${tmpdir}/iptables.saved";
      fi
      
      # Löschen des temporären Verzeichnisses:
      rm -rf "${tmpdir}";
      
      1. echo "smtp.example.org:admin@example.org:GeHeim#0815" | sudo tee -a /etc/exim4/passwd.client" 
        

        natürlich.

        1. Hallo,

          natürlich.

          und natürlich $DaysBefore statt $DaysBevore, bitte…

          Gruß
          Kalk

          1. und natürlich $DaysBefore statt $DaysBevore, bitte…

            Hehe. Ich hab mich hier extra rausgehalten. 😇

            In der hingeschluderten Zeile war noch ein Quota zu viel (oder, je nach Ansicht, zu wenig).

            Hab mich für „zu wenig“ entschieden:

            echo "smtp.example.org:admin@example.org:GeHeim#0815" | sudo tee -a "/etc/exim4/passwd.client"