Du kannst einen HAProxy davor setzen und mit einem Stick Table die IPs verfolgen und bei zu vielen Login Versuchen blockieren.
# Stick Table mit gpc0
stick-table type ip size 200k expire 15m store gpc0
# Als Login wird ein POST Request auf /owa/auth.owa gezählt
acl is_owa_login path -i /owa/auth.owa
acl is_post method POST
# IP des Client merken (src)
http-request track-sc0 src
# gpc0 für jedes Login erhöhen
http-request sc-inc-gpc0(0) if is_owa_login is_post
# Wenn öfter als 5 mal in 15 Minuten setze owa_too_many
acl owa_too_many sc_get_gpc0(0) ge 5
# Wenn owa_too_many gesetzt ist gibst du ein 429 Status zurück
http-request deny deny_status 429 if owa_too_many