SMOLNET PORTAL home about changes
iAdd ssl-expiration probe to check if a ssl certificate is about to expire under a specified time. - reed-alert - Lightweight agentless alerting system for server	Err	bitreich.org	70
hgit clone git://bitreich.org/reed-alert/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/reed-alert/	URL:git://bitreich.org/reed-alert/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/reed-alert/	bitreich.org	70
1Log	/scm/reed-alert/log.gph	bitreich.org	70
1Files	/scm/reed-alert/files.gph	bitreich.org	70
1Refs	/scm/reed-alert/refs.gph	bitreich.org	70
1Tags	/scm/reed-alert/tag	bitreich.org	70
1README	/scm/reed-alert/file/README.gph	bitreich.org	70
1LICENSE	/scm/reed-alert/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit c1bb305f9dd246538db890519a70394b4b7c6d1b	/scm/reed-alert/commit/c1bb305f9dd246538db890519a70394b4b7c6d1b.gph	bitreich.org	70
1parent 72d28cf74b8fd6ff4c21e0f609ab87bd54ec3f14	/scm/reed-alert/commit/72d28cf74b8fd6ff4c21e0f609ab87bd54ec3f14.gph	bitreich.org	70
hAuthor: Solene Rapenne <solene@perso.pw>	URL:mailto:solene@perso.pw	bitreich.org	70
iDate:   Sat, 20 Oct 2018 20:28:20 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iAdd ssl-expiration probe to check if a ssl certificate is about to	Err	bitreich.org	70
iexpire under a specified time.	Err	bitreich.org	70
i	Err	bitreich.org	70
iContribution from Denis Fondras	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M README                              |      25 ++++++++++++++++++++++++-	Err	bitreich.org	70
i  M example-full.lisp                   |       5 +++++	Err	bitreich.org	70
i  M probes.lisp                         |      12 ++++++++++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i3 files changed, 41 insertions(+), 1 deletion(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/README b/README	/scm/reed-alert/file/README.gph	bitreich.org	70
i@@ -294,6 +294,7 @@ This may be the most useful probe because it let the user do any check needed.	Err	bitreich.org	70
i 	Err	bitreich.org	70
i Example : `(=> alert command :command "tail -n 10 /var/log/messages | grep -v CRITICAL")`	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+	Err	bitreich.org	70
i service	Err	bitreich.org	70
i -------	Err	bitreich.org	70
i Check if a service is started on the system.	Err	bitreich.org	70
i@@ -303,6 +304,7 @@ Check if a service is started on the system.	Err	bitreich.org	70
i 	Err	bitreich.org	70
i Example : `(=> alert service :name "mysql-server")`	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+	Err	bitreich.org	70
i file-less-than	Err	bitreich.org	70
i --------------	Err	bitreich.org	70
i Check if a file has a size less than a specified limit.	Err	bitreich.org	70
i@@ -315,9 +317,11 @@ Check if a file has a size less than a specified limit.	Err	bitreich.org	70
i 	Err	bitreich.org	70
i Example : `(=> alert file-less-than :path "/var/log/nginx.log" :limit 60)`	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+	Err	bitreich.org	70
i curl-http-status	Err	bitreich.org	70
i ----------------	Err	bitreich.org	70
i-Do a HTTP request and return an error if the return code isn't 200. Requires curl.	Err	bitreich.org	70
i+Do a HTTP request and return an error if the return code isn't	Err	bitreich.org	70
i+200. Requires curl.	Err	bitreich.org	70
i 	Err	bitreich.org	70
i > Set the url to request.	Err	bitreich.org	70
i     :url "STRING"	Err	bitreich.org	70
i@@ -325,6 +329,25 @@ Do a HTTP request and return an error if the return code isn't 200. Requires cur	Err	bitreich.org	70
i > Set the time to wait before aborting.	Err	bitreich.org	70
i     :timeout INTEGER	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+ssl-expiration	Err	bitreich.org	70
i+--------------------	Err	bitreich.org	70
i+Check if a remote SSL certificate expires in less than a specified	Err	bitreich.org	70
i+time. Requires openssl.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+> Set the hostname for the request.	Err	bitreich.org	70
i+    :host "STRING"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+> Set the expiration time limit in seconds.	Err	bitreich.org	70
i+    :seconds INTEGER	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+> Set the port for the request (OPTIONAL).	Err	bitreich.org	70
i+    :port INTEGER (default to 443)	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Example : `(=> alert ssl-expiration :host "domain.local" :seconds (* 7 24 60 60))	Err	bitreich.org	70
i+Example : `(=> alert ssl-expiration :host "domain.local" :seconds 86400 :port 6697)	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i The configuration file	Err	bitreich.org	70
i ======================	Err	bitreich.org	70
i 	Err	bitreich.org	70
1diff --git a/example-full.lisp b/example-full.lisp	/scm/reed-alert/file/example-full.lisp.gph	bitreich.org	70
i@@ -55,6 +55,11 @@	Err	bitreich.org	70
i ;; check if web page :url answer under :limit	Err	bitreich.org	70
i (=> empty command :command "curl -m 10 http://google.fr/";)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+;; check if a certificate is still valid within a time range	Err	bitreich.org	70
i+(=> mail ssl-expiration :host "google.fr"    :seconds 1296000)	Err	bitreich.org	70
i+(=> mail ssl-expiration :host "freenode.net" :seconds (* 7 24 60 60))	Err	bitreich.org	70
i+(=> mail ssl-expiration :host "freenode.net" :seconds 1296000 :port 6697)	Err	bitreich.org	70
i+	Err	bitreich.org	70
i ;; we declare a new probe here	Err	bitreich.org	70
i (create-probe	Err	bitreich.org	70
i  check-http-pattern	Err	bitreich.org	70
1diff --git a/probes.lisp b/probes.lisp	/scm/reed-alert/file/probes.lisp.gph	bitreich.org	70
i@@ -120,3 +120,15 @@	Err	bitreich.org	70
i   (list "curl" "-f"	Err	bitreich.org	70
i         (format nil "-m~a" (getf params :timeout 5))	Err	bitreich.org	70
i         (getf params :url))))	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+(create-probe	Err	bitreich.org	70
i+ ssl-expiration	Err	bitreich.org	70
i+ (command-return-code	Err	bitreich.org	70
i+  (concatenate 'string	Err	bitreich.org	70
i+               "echo | openssl s_client -showcerts -servername "	Err	bitreich.org	70
i+               (getf params :host) " -connect "	Err	bitreich.org	70
i+               (getf params :host) ":" (princ-to-string	Err	bitreich.org	70
i+                                        (getf params :port 443))	Err	bitreich.org	70
i+               " 2>/dev/null | openssl x509 -inform pem -noout -checkend "	Err	bitreich.org	70
i+               (princ-to-string	Err	bitreich.org	70
i+                (getf params :seconds)))))	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/reed-alert/commit/c1bb305f9dd...
Content-Typetext/plain; charset=utf-8