Instale o ngrep e faça algo como
#!/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 ([^\.\[]+).*//p')
if [ ! -z "${X}" ]; then
U=$(echo $DATA |base64 -d 2>/dev/null| cut -d: -f1)
case "${U}" in
john)
tom)
dick)
harry)
echo "Vendor ${U} login " | YOUR_ALERT_OR_MAIL_APP
;;
*)
# do nothing
;;
esac
fi
done
done
Você pode externalizar os nomes de usuários ou combinar com AuthGroupFile ou semelhante a apenas alertar usuários em um grupo específico. Você pode obter o IP remoto da variável $ line.
O ngrep está em: link
Obviamente, não funcionará para https, mas tem a vantagem de trabalhar em todos os vhosts, independentemente das configurações de log, etc.
Editar: melhorado