From a1046bda7918e159bd0ccbe75a6e5059eaa8e1a5 Mon Sep 17 00:00:00 2001 From: Patrick Eigner-Pausz Date: Tue, 14 Apr 2026 14:04:35 +0200 Subject: [PATCH] Added Spamcheck, adspam and donaspam-scritps for wh20 --- README.md | 7 +++- wh20/README.md | 13 +++++- wh20/adspam/README.md | 64 ++++++++++++++++++++++++++++++ wh20/adspam/adspam.sh | 8 ++++ wh20/donaspam/README.md | 79 +++++++++++++++++++++++++++++++++++++ wh20/donaspam/donaspam.sh | 8 ++++ wh20/spamcheck/README.md | 58 +++++++++++++++++++++++++++ wh20/spamcheck/spamcheck.sh | 13 ++++++ 8 files changed, 248 insertions(+), 2 deletions(-) create mode 100644 wh20/adspam/README.md create mode 100644 wh20/adspam/adspam.sh create mode 100644 wh20/donaspam/README.md create mode 100644 wh20/donaspam/donaspam.sh create mode 100644 wh20/spamcheck/README.md create mode 100644 wh20/spamcheck/spamcheck.sh diff --git a/README.md b/README.md index e4ed035..80ef9d9 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,12 @@ Optimierte Bash-Konfigurationen für verschiedene Support-Umgebungen: Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers. - [`wh20`](./wh20) Dieses Skript verbindet zum angegbenen Webserver via SSH - +- [`adspam`](./adspam) + Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf Adino-Servern direkt von der Connect aus. +- [`donaspam`](./donaspam) + Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf inname-Servern direkt von der Connect aus. +- [`spamcheck`](./spamcheck) + Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf einem Plesk-Server. --- ## Quick Start diff --git a/wh20/README.md b/wh20/README.md index 242d6e9..a7d16f5 100644 --- a/wh20/README.md +++ b/wh20/README.md @@ -20,12 +20,23 @@ Die Dokumentationen werden in Unterordnern zu den jeweiligen Skripten gepflegt. ### [`plesk`](./plesk) Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers. +- [Dokumentation & Beispiele](./plesk/README.md) ### [`wh20`](./wh20) Dieses Skript verbindet zum angegbenen Webserver via SSH +- [Dokumentation & Beispiele](./wh20/README.md) -- [Dokumentation & Beispiele](./plesk/README.md) +### [`spamcheck`](./spamcheck) +Dieses Skript ermöglicht den schnellen Check nach MS365-Fehlercodes, sowie für Spamhaus-Blockmeldungen. +- [Dokumentation & Beispiele](./spamcheck/README.md) +### [`adspam`](./adspam) +Dieses Skript ermöglicht den schnellen Check nach MS365-Fehlercodes, sowie für Spamhaus-Blockmeldungen auf Adino-Server direkt von der Connect aus. +- [Dokumentation & Beispiele](./adspam/README.md) + +### [`donaspam`](./donaspam) +Dieses Skript ermöglicht den schnellen Check nach MS365-Fehlercodes, sowie für Spamhaus-Blockmeldungen auf DONA-Server direkt von der Connect aus. +- [Dokumentation & Beispiele](./donaspam/README.md) ## Lizenz / Sichtbarkeit diff --git a/wh20/adspam/README.md b/wh20/adspam/README.md new file mode 100644 index 0000000..7bb9188 --- /dev/null +++ b/wh20/adspam/README.md @@ -0,0 +1,64 @@ +# adspam - schneller Spamcheck für MS365 und Spamhaus auf Adino-Server + +## Funktion + +Dieses Skript führt am jeweiligen adino-Host ein grep für geläufige MS365-Fehlercodes sowie Spamhaus auf /var/log/maillog durch und gibt die Anzahl der Treffer für dieses an. +Sofern keine Ergebnisse für den jeweiligen Tag gefunden werden, werden nur die Beginn- und Endzeile des Checks ausgegeben. + +## Voraussetzungen + +- SSH-Zugriff auf den Zielserver +- Das [`spamcheck`](../spamcheck/spamcheck.sh)-Skript muss auf den Zielservern installiert und ausführbar sein. +- Das [`adspam`](./adspam.sh)-Skript ist korrekt auf der connect installiert und ausführbar. + +## Installation + +```bash +cd +mkdir bin && cd bin +vi adspam +chmod +x adspam +``` + +## Verwendung + +```bash +USER@connect-lej ~ $ adspam +=== Todays Spamcheck on Mo 13. Apr 13:59:27 CEST 2026=== + +=== srv244.adino.at Spamcheck === +=== srv244.adino.at Spamcheck done === +=== srv251.adino.at Spamcheck === +=== srv251.adino.at Spamcheck done === +=== srv252.adino.at Spamcheck === +=== srv252.adino.at Spamcheck done === +=== srv268.adino.at Spamcheck === +=== srv268.adino.at Spamcheck done === +=== srv272.adino.at Spamcheck === +=== srv272.adino.at Spamcheck done === +``` + +## Syntax + +```bash +adspam +``` + +## Beispiele + +```bash +# Von der Connect aus abgesetzt. +adspam +``` + +## Troubleshooting + +# zu hohe Anzahl an S3150 +Am jeweiligen adino-Webserver prüfen durch gezieltes grep nach `S3150`, ob es sich hierbei um einen anderen String handelt, da Plesk leider auch den String verwendet. --> +```bash +sudo grep -F 'S3150' /var/log/maillog +``` + +--- + +*Maintainer: peignerpausz* \ No newline at end of file diff --git a/wh20/adspam/adspam.sh b/wh20/adspam/adspam.sh new file mode 100644 index 0000000..3d74919 --- /dev/null +++ b/wh20/adspam/adspam.sh @@ -0,0 +1,8 @@ +#! /usr/bin/env bash +# Automatisierter Spamcheck für MS365 error-codes und Spamhaus rejections auf Adino-Server +# Maintainer: peignerpausz + +printf '=== Todays Spamcheck on %s=== \n \n' "$(date)" +for a in 244 251 252 268 272 + do ssh srv$a.adino.at -- bash -lc '~/bin/spamcheck' +done \ No newline at end of file diff --git a/wh20/donaspam/README.md b/wh20/donaspam/README.md new file mode 100644 index 0000000..35f1dd9 --- /dev/null +++ b/wh20/donaspam/README.md @@ -0,0 +1,79 @@ +# adspam - schneller Spamcheck für MS365 und Spamhaus auf inname-Server + +## Funktion + +Dieses Skript führt am jeweiligen inname-Host ein grep für geläufige MS365-Fehlercodes sowie Spamhaus auf /var/log/maillog durch und gibt die Anzahl der Treffer für dieses an. +Sofern keine Ergebnisse für den jeweiligen Tag gefunden werden, werden nur die Beginn- und Endzeile des Checks ausgegeben. + +## Voraussetzungen + +- SSH-Zugriff auf den Zielserver +- Das [`spamcheck`](../spamcheck/spamcheck.sh)-Skript muss auf den Zielservern installiert und ausführbar sein. +- Das [`adspam`](./donaspam.sh)-Skript ist korrekt auf der connect installiert und ausführbar. + +## Installation + +```bash +cd +mkdir bin && cd bin ## nur wenn der Folder nicht bereits vorhanden ist +vi donaspam +chmod +x donaspam +``` + +## Verwendung + +```bash +USER1@connect-lej ~ $ donaspam +=== Todays Spamcheck on Mo 13. Apr 14:02:58 CEST 2026 === + +=== ws20.inname.net Spamcheck === +|=> Anzahl Spamhaus: 1 +=== ws20.inname.net Spamcheck done=== +=== ws21.inname.net Spamcheck === +=== ws21.inname.net Spamcheck done === +=== ws22.inname.net Spamcheck === +=== ws22.inname.net Spamcheck done === +=== ws23.inname.net Spamcheck === +=== ws23.inname.net Spamcheck done === +=== ws24.inname.net Spamcheck === +|=> Anzahl S775: 4 +=== ws24.inname.net Spamcheck done === +=== ws25.inname.net Spamcheck === +=== ws25.inname.net Spamcheck done === +=== ws26.inname.net Spamcheck === +=== ws26.inname.net Spamcheck done === +=== ws27.inname.net Spamcheck === +=== ws27.inname.net Spamcheck done === +=== ws28.inname.net Spamcheck === +|=> Anzahl S775: 5 +=== ws28.inname.net Spamcheck done === +=== ws29.inname.net Spamcheck === +=== ws29.inname.net Spamcheck done === +=== ws30.inname.net Spamcheck === +=== ws30.inname.net Spamcheck done === +``` + +## Syntax + +```bash +donaspam +``` + +## Beispiele + +```bash +# Von der Connect aus abgesetzt. +donaspam +``` + +## Troubleshooting + +# zu hohe Anzahl an S3150 +Am jeweiligen inname-Webserver prüfen durch gezieltes grep nach `S3150`, ob es sich hierbei um einen anderen String handelt, da Plesk leider auch den String verwendet. --> +```bash +sudo grep -F 'S3150' /var/log/maillog +``` + +--- + +*Maintainer: peignerpausz* \ No newline at end of file diff --git a/wh20/donaspam/donaspam.sh b/wh20/donaspam/donaspam.sh new file mode 100644 index 0000000..358d707 --- /dev/null +++ b/wh20/donaspam/donaspam.sh @@ -0,0 +1,8 @@ +#! /usr/bin/env bash +# Automatisierter Spamcheck für MS365 error-codes und Spamhaus rejections auf inname-Server +# Maintainer: peignerpausz + +printf '=== Todays Spamcheck on %s=== \n \n' "$(date)" +for a in {20..30} + do ssh ws$a.inname.net -- bash -lc '~/bin/spamcheck' +done \ No newline at end of file diff --git a/wh20/spamcheck/README.md b/wh20/spamcheck/README.md new file mode 100644 index 0000000..ef59fb5 --- /dev/null +++ b/wh20/spamcheck/README.md @@ -0,0 +1,58 @@ +# spamcheck - schneller Spamcheck für MS365 und Spamhaus + +## Funktion + +Dieses Skript führt am jeweiligen Plesk-Host ein grep für geläufige MS365-Fehlercodes sowie Spamhaus auf /var/log/maillog durch und gibt die Anzahl der Treffer für dieses an. + +## Voraussetzungen + +- SSH-Zugriff auf den Zielserver +- Das Skript muss am Zielserver unter `$HOME/bin` oder `$HOME/spamcheck.sh` abgelegt werden. +- Das Skript muss ausführbar sein (`chmod +x spamcheck` oder `chmod +x spamcheck.sh`) + +## Installation + +tba. + +## Verwendung + +```bash +spamcheck +Anzahl S3150: 0 +Anzahl S775: 0 +Anzahl S7771: 0 +Anzahl S7772: 0 +Anzahl S7773: 0 +Anzahl S7774: 0 +Anzahl S7775: 0 +Anzahl S7776: 0 +Anzahl S7777: 0 +Anzahl S7778: 0 +Anzahl S7779: 0 +Anzahl Spamhaus: 0 +``` + +## Syntax + +```bash +spamcheck +``` + +## Beispiele + +```bash +# random Plesk-Server +spamcheck +``` + +## Troubleshooting + +# zu hohe Anzahl an S3150 +Prüfen durch gezieltes grep nach `S3150`, ob es sich hierbei um einen anderen String handelt. --> +```bash +sudo grep -F 'S3150' /var/log/maillog +``` + +--- + +*Maintainer: peignerpausz* \ No newline at end of file diff --git a/wh20/spamcheck/spamcheck.sh b/wh20/spamcheck/spamcheck.sh new file mode 100644 index 0000000..5948e6d --- /dev/null +++ b/wh20/spamcheck/spamcheck.sh @@ -0,0 +1,13 @@ +#! /usr/bin/env bash +# Spamcheck für MS365 error-codes und Spamhaus rejections +# Maintainer: peignerpausz + +printf '=== %s Spamcheck === \n' "$(hostname)" +for a in S3150 S775 S7771 S7772 S7773 S7774 S7775 S7776 S7777 S7778 S7779 Spamhaus +do + count=$(sudo grep -c "\($a\)" /var/log/maillog 2>/dev/null) + if [ "$count" -gt 0 ]; then + printf "|=> Anzahl %s: %s\n" "$a" "$count" + fi +done +printf '=== %s Spamcheck done === \n' "$(hostname)" \ No newline at end of file