Telegram Login Failure Message
Anpassungen bitte vornehmen bei Chat ID sowie der API Key!
Das Script kann unter /root abgelegt werden
#!/bin/sh
# Telegram Bot Token und Chat-ID
TELEGRAM_BOT_TOKEN="65XXXXX924:AAFbcxjfehef-Ac_2EXXXXXXXXX"
CHAT_ID="12345678901"
# Protokolldatei, die überwacht werden soll
LOG_FILE="/var/log/auth.log" # Passe dies an, falls deine Protokolldatei anders ist
# Temporäre Datei, um die letzte überprüfte Zeile zu speichern
LAST_CHECKED_FILE="/tmp/last_checked_line"
# Letzte überprüfte Zeilennummer abrufen
if [ -f "$LAST_CHECKED_FILE" ]; then
LAST_CHECKED=$(cat "$LAST_CHECKED_FILE")
else
LAST_CHECKED=0
fi
# Überprüfen auf spezifische Protokolleinträge
NEW_LINES=$(tail -n +$((LAST_CHECKED + 1)) "$LOG_FILE")
# D E B U G
# Debugging-Ausgabe: Zeilen, die überprüft werden
echo "Überprüfe folgende neue Zeilen:"
echo "$NEW_LINES"
# D E B U G E N D E
# Filtern nach den gewünschten Schlüsselwörtern
MATCHED_LINES=$(echo "$NEW_LINES" | grep -e "webConfigurator authentication error" -e "sshd")
# Debugging-Ausgabe: Gefundene Übereinstimmungen
echo "Gefundene Übereinstimmungen:"
echo "$MATCHED_LINES"
if [ ! -z "$MATCHED_LINES" ]; then
# Nachricht an Telegram senden
MESSAGE="*Warnung: Protokolleintrag erkannt:*$(echo "$MATCHED_LINES" | sed 's/^/• /')"
RESPONSE=$(curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$MESSAGE" \
-d "parse_mode=Markdown")
# Überprüfen, ob die Nachricht erfolgreich gesendet wurde
if echo "$RESPONSE" | grep -q '"ok":true'; then
echo "Benachrichtigung erfolgreich gesendet."
else
echo "Fehler beim Senden der Benachrichtigung."
echo "Antwort von Telegram: $RESPONSE"
fi
fi
# Letzte überprüfte Zeilennummer aktualisieren
wc -l < "$LOG_FILE" > "$LAST_CHECKED_FILE"
Per SSH denn Cron installieren: pkg install pfSense-pkg-Cron
Cron über die pfSense GUI konfigurieren und das Script hinterlegen.