Add check-emudhra.sh
This commit is contained in:
1 parent
a5d99acc78
commit
41adb1d363
1 file changed
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
### https://emudhra.we-have-a-problem.com/
|
||||
|
||||
# set -x
|
||||
set -eou pipefail
|
||||
|
||||
containers=($(docker ps --format {{.Names}}))
|
||||
URL="https://dv-g3b-emudhra.we-have-a-problem.com"
|
||||
cert_problem=()
|
||||
check_problem=()
|
||||
|
||||
for i in "${containers[@]}"; do
|
||||
echo "Checking container $i:"
|
||||
|
||||
# Checking with curl
|
||||
if docker exec $i which curl > /dev/null; then
|
||||
if docker exec $i curl --silent $URL > /dev/null; then
|
||||
cert_problem+=("${i} (curl)")
|
||||
fi
|
||||
|
||||
# Checking with wget
|
||||
elif docker exec $i which wget > /dev/null; then
|
||||
if docker exec $i wget --quiet $URL > /dev/null; then
|
||||
cert_problem+=("${i} (wget)")
|
||||
fi
|
||||
|
||||
# Checking with OpenSSL
|
||||
elif docker exec $i which openssl > /dev/null; then
|
||||
result=$(docker exec $i openssl s_client -connect dv-g3b-emudhra.we-have-a-problem.com:443 </dev/null)
|
||||
if echo $result | grep -q "Verify return code: 0"; then
|
||||
cert_problem+=("${i} (openssl)")
|
||||
fi
|
||||
else
|
||||
check_problem+=($i)
|
||||
fi
|
||||
echo
|
||||
done
|
||||
|
||||
## Result
|
||||
if [[ ${#cert_problem[@]} -eq 0 ]]; then
|
||||
echo "All containers are safe!"
|
||||
else
|
||||
echo "Following containers stil use compromised certificates:"
|
||||
printf '%s\n' "${cert_problem[@]}"
|
||||
fi
|
||||
|
||||
if ! [[ ${#check_problem[@]} -eq 0 ]]; then
|
||||
echo
|
||||
echo "Following containers have no curl, wget or openssl:"
|
||||
printf '%s\n' "${check_problem[@]}"
|
||||
fi
|
||||
Reference in new issue
Block a user