X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-config;h=2772994279e09af224ec7ac7e5e3233ce194a413;hb=b3923761df2779305961f11dc4e953dc31624f00;hp=4a59c65b2b2f343713a4a113be667b3b64a02db8;hpb=9a6b631bdab790a7baede2423769b43d51bcdc85;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-config b/dsa-nagios-checks/checks/dsa-check-config index 4a59c65..2772994 100755 --- a/dsa-nagios-checks/checks/dsa-check-config +++ b/dsa-nagios-checks/checks/dsa-check-config @@ -40,25 +40,39 @@ check_aliases() { log warn "debian-admin not found in root entry in aliases" } -check_ldap_conf() { - if ! [ -e /etc/ldap/ldap.conf ]; then - log unknown "/etc/ldap/ldap.conf not found" +check_ssh_hostkeys() { + if [ -e /etc/ssh/ssh_host_ed25519_key ] ; then + if ! [ -e /etc/ssh/ssh_host_ed25519_key.pub ]; then + log warn "Have /etc/ssh/ssh_host_ed25519_key without .pub" + return + fi + if cat /etc/ssh/ssh_known_hosts | awk -v hostname=$(hostname -f) '{split($1,a,","); if (a[1] == hostname) { print } }' | grep -q -F -f /etc/ssh/ssh_host_ed25519_key.pub; then + log ok "ed25519 host key in known_hosts" + return + else + log warn "ed25519 host key missing from known_hosts" + return + fi + else + log ok "no ed25519 host key" return fi +} - if egrep '^URI.*ldap://db.debian.org' /etc/ldap/ldap.conf > /dev/null && - egrep '^BASE.*dc=debian,dc=org' /etc/ldap/ldap.conf > /dev/null && - egrep '^TLS_CACERT.*/etc/ssl/servicecerts/db.debian.org.crt' /etc/ldap/ldap.conf > /dev/null && - egrep '^TLS_REQCERT.*hard' /etc/ldap/ldap.conf > /dev/null ; then - log ok "ldap.conf configured properly" - return +check_ipv6_dad() { + if ip a | grep -q dadfailed; then + log warn "some configured ipv6 addresses failed DAD" + else + log ok "no DAD failures" fi - log warn "ldap.conf does not have URI, BASE, TLS_CACERT, TLS_REQCERT all configured correctly" } + + check_aliases -check_ldap_conf +check_ssh_hostkeys +check_ipv6_dad [ "$critical" = "" ] || echo -n "Critical: $critical; " [ "$warn" = "" ] || echo -n "Warning: $warn; "