pfSense Stuff

Scripte

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.