[Eisfair] Mailserver Angriffe <> bfb

Rolf Bensch azubi at bensch-net.de
Do Feb 6 10:58:35 CET 2025


Hallo Olaf,

Am 06.02.25 um 00:37 schrieb Olaf Jaehrling:
> Hallo Rolf,
> 
> Rolf Bensch schrieb am 04.02.25 um 12:03:
>> Moin zusammen,
>>
>> seit ca. 3 Wochen sehe ich hier massive Angriffsversuche auf den Mailserver. Das Problem sind wechselnde IP-Adressen der Angreifer:
>>
>> exim-mainlog:
>> 2025-02-04 10:03:25 cram_server authenticator failed for ([183.66.113.58]) [183.66.113.58]: 535 Incorrect authentication data (set_id=root at mydomain.de)
>> 2025-02-04 10:03:25 cram_server authenticator failed for ([189.6.78.182]) [189.6.78.182]: 535 Incorrect authentication data (set_id=administrator at mydomain.de)
> 
> das kenne ich zur Genüge. Deshalb blocke ich mir die mit einem anderen Script und schubse diese IP in nftables in die CHAIN "BOESE_IPS".
> Dort sind mittlerweile fast 30k IP-Adressen.

Hmm, sollte ich da wirklich alle IPs aufnehmen, die da gelistet werden? Das sind mehrere hundert die teilweise auch in deutsche Netze aufgelöst werden.

>>
>> Heute 00:00 - 11_50 Uhr ca 8500 Angriffe mit ständig wechselnden IPs.
>>
>> BFB scheint hier an eine Kapazitätsgrenze zu stoßen:
>> Feb  4 10:30:13 eis64-3 initfile[31156]: cat: /brute_force_blocking/atackingips: No space left on device
>> Feb  4 10:30:13 eis64-3 initfile[31217]: cat: /brute_force_blocking/atackingips: No space left on device
>> Feb  4 10:49:45 eis64-3 initfile[10271]: cat: /brute_force_blocking/atackingips: No space left on device
>> Feb  4 10:50:15 eis64-3 initfile[1126]: /brute_force_blocking/brute_force_blocking: line 2635: echo: write error: No space left on device
>> Feb  4 10:50:15 eis64-3 initfile[26881]: cat: /brute_force_blocking/atackingips: No space left on device
>> Feb  4 10:50:16 eis64-3 initfile[1126]: /brute_force_blocking/brute_force_blocking: line 2633: echo: write error: No space left on device
> 
> was sagt denn df -i

traumhaft:
# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda2      1632000 131540 1500460    9% /
devtmpfs        513788    393  513395    1% /dev
tmpfs           516054      1  516053    1% /dev/shm
tmpfs           819200    631  818569    1% /run
/dev/sda1        24576     26   24550    1% /boot
tmpfs           516054     29  516025    1% /brute_force_blocking
tmpfs           103210     23  103187    1% /run/user/2022
tmpfs           103210     17  103193    1% /run/user/0

Der letzte Neustart fand vorgestern statt.

>> dagegen:
>>> df -h /brute_force_blocking/
>> Filesystem      Size  Used Avail Use% Mounted on
>> tmpfs           2.0M  484K  1.6M  24% /brute_force_blocking
>>
> 
> Ja, scheinbar ist genügend Platz. ggf starte BFB mal neu. Wer weiß was da im Argen liegt.

Das hatte ich selbstverständlich schon getan.
> 
>> also ist noch Platz in der RAM-Disk und bfb wurde zwischenzeitlich auch nicht neu gestartet:
>>> systemctl status brute_force_blocking
>> ● brute_force_blocking.service - Brute Force Blocking service
>>       Loaded: loaded (/usr/lib/systemd/system/brute_force_blocking.service; static)
>>       Active: active (exited) since Fri 2025-01-31 05:34:23 CET; 4 days ago
>> TriggeredBy: ● brute_force_blocking.timer
>>      Process: 558 ExecStart=/usr/local/brute_force_blocking/initfile start (code=exited, status=0/SUCCESS)
>>     Main PID: 558 (code=exited, status=0/SUCCESS)
>>        Tasks: 2 (limit: 4817)
>>          CPU: 2d 18h 8min 31.807s
>>       CGroup: /system.slice/brute_force_blocking.service
>>               ├─1126 /usr/bin/bash /brute_force_blocking/brute_force_blocking
>>               └─7073 sleep 10
>>
>> Feb 04 11:17:36 eis64-3 initfile[14000]: connect: Connection refused
>> Feb 04 11:17:36 eis64-3 BFB[14067]: address 5.164.185.13 blocked after 3 attempt to abuse MAIL
>> Feb 04 11:18:08 eis64-3 initfile[26771]: connect: Connection refused
>> Feb 04 11:18:08 eis64-3 BFB[26837]: address 96.79.249.93 blocked after 3 attempt to abuse MAIL
>> Feb 04 11:31:10 eis64-3 initfile[9812]: connect: Connection refused
>> Feb 04 11:31:29 eis64-3 initfile[13318]: connect: Connection refused
>> Feb 04 11:31:48 eis64-3 initfile[17432]: connect: Connection refused
>> Feb 04 11:32:25 eis64-3 initfile[28020]: connect: Connection refused
>> Feb 04 11:39:53 eis64-3 initfile[16142]: connect: Connection refused
> 
> Das ist schon sehr komisch.

Was ist denn da komisch? "Connection refused"?

> 
>>
>> Wie steht das im Zusammenhang? Der Server reagiert zunehmen träge.
>>
>> Gibt es ein Mittel (außer sichere Passwörter) diese Angriffe erfolgreich abzuwehren?
> 
> Nein, leider nicht, Es sei denn du blockst die mittels eigenem Script. Da käme es aber darauf an wie du blockst. mit iptables oder nftables? Nur eine bestimmte Zeit oder einfach bis zur händischen Freigabe?

Hier läuft nftables. Blockiert wird jeweils für 24 Stunden. Das Problem sind aber die wechselnden IPs. Ich wüsste jetzt nocht, wie bfb das auffangen könnte.

> Das Script kann ich dir zur Verfügung stellen. Es funktioniert nur mit nftables und im Moment nur mit ipv4. ipv6 gibbet im Moment noch nicht so viele Angriffe. Sollten die dann aber auch losgehen kann man das script schnell erweitern.

Das kannst Du gerne machen - auch wenn ich jetzt noch nicht weiß, wie ich damit umgehen werde.

Seit heute Nacht 3:30 Uhr ist schlagartig Ruhe mit den Angriffen. Das ist zeitgleich mit eiener Störung in der DSL-Leitung. Zufall? Die Fritzbox hat eine neue IP erhalten. Das hatte ich vor der Anfrage in dieser Gruppe auch schon einmalf forciert. Heute scheint allerdings mehr gelaufen zu sein. Im Protokoll der Fritzbox finde ich z.B. "Es besteht keine Verbindung mehr zu den verschlüsselten DNS-Servern.". Kann das irgendwie im Zusammenhang stehen? An den Uhrzeiten vom Status des Dienstes kann man das auch gut sehen:

# systemctl status brute_force_blocking
● brute_force_blocking.service - Brute Force Blocking service
      Loaded: loaded (/usr/lib/systemd/system/brute_force_blocking.service; static)
      Active: active (exited) since Wed 2025-02-05 11:49:06 CET; 22h ago
TriggeredBy: ● brute_force_blocking.timer
     Process: 782 ExecStart=/usr/local/brute_force_blocking/initfile start (code=exited, status=0/SUCCESS)
    Main PID: 782 (code=exited, status=0/SUCCESS)
       Tasks: 2 (limit: 4816)
         CPU: 9h 21min 24.271s
      CGroup: /system.slice/brute_force_blocking.service
              ├─ 1216 /usr/bin/bash /brute_force_blocking/brute_force_blocking
              └─19376 sleep 20

Feb 06 02:39:43 eis64-3 initfile[26715]: cat: /brute_force_blocking/atackingips: No space left on device
Feb 06 02:39:43 eis64-3 initfile[26776]: cat: /brute_force_blocking/atackingips: No space left on device
Feb 06 02:39:43 eis64-3 initfile[26838]: cat: /brute_force_blocking/atackingips: No space left on device
Feb 06 02:40:59 eis64-3 initfile[31694]: connect: Connection refused
Feb 06 03:08:43 eis64-3 initfile[2610]: connect: Connection refused
Feb 06 03:08:44 eis64-3 BFB[2676]: address 218.147.6.84 blocked after 3 attempt to abuse MAIL
Feb 06 03:12:15 eis64-3 initfile[20178]: connect: Connection refused
Feb 06 03:20:21 eis64-3 initfile[9098]: cat: /brute_force_blocking/atackingips: No space left on device
Feb 06 03:22:26 eis64-3 initfile[24674]: connect: Connection refused
Feb 06 09:07:00 eis64-3 initfile[31026]: connect: Connection refused

zwischen 03:22 und 09:07 Uhr war offensichtlich maximal Ruhe. Was besagt denn "Connection refused"?


Grüße

Rolf



Mehr Informationen über die Mailingliste Eisfair