Installiere ngrep und mache etwas wie
#!/bin/bash while [ 1 -eq 1 ]; do ngrep -p -q -n 1 -W none -d eth0 "Authorization: Basic [^ ]+" port 80 | \ while read line; do X=$(echo $line| sed -rn 's/.*Authorization: Basic ([^\.\[]+).*/\1/p') if [ ! -z "$" ]; then U=$(echo $DATA |base64 -d 2>/dev/null| cut -d: -f1) case "$" in john) tom) dick) harry) echo "Vendor $ login " | YOUR_ALERT_OR_MAIL_APP ;; *) # do nothing ;; esac fi done done
Sie können die Benutzernamen externalisieren oder mit AuthGroupFile oder ähnlichem kombinieren, um nur für Benutzer in einer bestimmten Gruppe zu warnen. Sie können die Remote-IP von der $ line-Variablen erhalten.
ngrep ist unter: http://ngrep.sourceforge.net/
Offensichtlich funktioniert es nicht für https, aber es hat den Vorteil, dass es über alle vhosts hinweg funktioniert, unabhängig von der Protokollierungskonfiguration usw
Edit: verbessert