Also ich setze fail2ban ja auch schon seit vielen Jahren ein, ja ist schön das dadurch Fehlversuche bemerkt und Quell-IP-Adressen gesperrt werden.
Was aber bei mir 99% der Angriffsversuche überhaupt reduziert hat ist Geolocation aka Geo-IP-Blocking aka Country Blocking.
Kann man je nach Firewall schon dort einsetzen (z.B. pfSense / OpenSense dann pro Portfreigabe) oder auf dem Proxy-Server pauschal oder pro Webseite/Subdomain. Die Lösungen arbeiten in der Regel alle mit der MaxMind-Datenbank, ein kostenlosen Konto bei denen Reicht aber dafür.
So ist meine Webseite zum Beispiel meine Webseite weltweit erreichbar, die Subdomänen für Monitoring / Grafana / Seafile nur aus Deutschland (obwohl die Server teilweise in Frankreich bei OVH stehen).
Oder mein Mailserver ist weltweit Port 25 SNMP erreichbar, das Webinterface für die Benutzer/Outlook oder Mobil nur aus Deutschland.
Wie bereits geschrieben, es nicht so das es dann gar keine Angriffe mehr gibt, aber extrem reduziert.
Ich nehme an das gibt es auch für Nginx, für den Apache hätte ich sogar eine Anleitung.
Da gibt es 2 vorgehensweisen - entweder bestimmte Länder verbieten oder nur bestimmte Länder erlauben. Zweites ist bedeutend einfacher.