LINUX.ORG.RU
решено ФорумAdmin

fail2ban

 ,


0

1

Привет всем. Подскажите список регулярных выражений для exim в fail2ban, или как ещё обезопасить почтовый сервер от взлома. Вроде fail2ban работает и блокирует неверно введенный пароли, но каким то образом замечаю, что одна из почт начинает делать массовые рассылки спама, в отправленных письма не сохраняются, вижу только отчеты. Я чищу очередь и меняю пароль (пароли генерирую из не менее 25 знаков), пароль есть только у меня.

Вот правила из fail2ban: (jail.conf)

enabled = true
filter = exim
action = iptables[name=SMTP, port=25, protocol=tcp]
	 mail[name=EximAuth, dest=root@gmi.ru]
logpath = /var/log/exim/main.log
maxretry = 3
bantime  = 86400

и (exim.conf)

\[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
	    \[<HOST>\] I=\[[0-9\.]+\]:25: 535 Incorrect authentication data
	TLS error on connection from (.*)\[<HOST>\]
	no host name found for IP address <HOST>
	\[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
	SMTP syntax error in ".+" H=\[<HOST>\]
	SMTP call from \[<HOST>\]

вот несколько строк из лога, как я понял тут даже нет адреса обращения к почтовому серверу:

2020-10-13 08:12:22 1kSCa6-0006yd-DE -> renee0740@hotmail.com R=dnslookup T=remote_smtp H=hotmail-com.olc.protection.outlook.com [104.47.1.33] X=TLSv1:AES256-SHA:256 C="250 2.6.0 <6dc710d1-19da-410b-9905-acd6acfa01a8@VE1EUR01FT019.eop-EUR01.prod.protection.outlook.com>"
2020-10-13 08:12:22 1kSCbm-00079Q-O7 <= <> R=1kSCa6-0006yd-DE U=exim P=local S=2453 from <> for slog@giri.ru
2020-10-13 08:12:22 1kSCa6-0006yd-DE Completed

Перед эти были такие соединения:

<= slog@giri.ru H=([94.102.51.175]) [94.102.51.175] I=[31.72.221.221]:25 P=esmtp S=1145 from <slog@giri.ru> for scott_hulet@hotmail.com scott_linnebur@hotmail.com scott_stacey20@hotmail.com scott_tyson4@hotmail.com scottadrag@hotmail.com scottaheath@hotmail.com scottallendean83@hotmail.com scottaruiz@hotmail.com scottbader56@hotmail.com scottbsr01@hotmail.com scottbuchmann@hotmail.com scottcgardner@hotmail.com scottcheffer@hotmail.com scottdswansinger@hotmail.com scotte.martin-realtor@hotmail.com scotte413@hotmail.com scotterbgood@hotmail.com scottf1981@hotmail.com scottfam93@hotmail.com scottferriter@hotmail.com
2020-10-13 08:11:18 1kSCak-0006ye-EH no immediate delivery: more than 10 messages received in one connection

а первое странное напоминания как я понимаю с чего всё началось это вот эти строки:

2020-10-13 00:11:29 no host name found for IP address 36.110.26.10
2020-10-13 00:11:48 1kS56V-0007XQ-6Y <= <> H=(yml-server.lan) [36.110.26.10] I=[31.72.221.221]:25 P=smtp S=32353 id=20201009155844.6CC0E6204E5@yml-server.lan from <> for slog@giri.ru
2020-10-13 00:11:49 1kS56V-0007XQ-6Y => slog <slog@giri.ru> R=dovecot_user T=dovecot_delivery

Return-path: <slog@giri.ru>
Received: from [94.102.51.175]
	by mail.giri.ru with esmtp (Exim)
	(envelope-from <slog@giri.ru>)
	id 1kSCaI-0006yd-TG; Tue, 13 Oct 2020 08:10:50 +0300
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Description: Mail message body
Subject: Dear Sir/ Madam 
To: Recipients <slog@giri.ru>
From: "Mrs Jenifer Bailey" <slog@giri.ru>
Date: Mon, 12 Oct 2020 22:10:48 -0700
Reply-To: bvcbhcdbhch@gmail.com
X-SA-Do-Not-Run: Yes
X-Virus-Scanned: Clear

Вот такой ответ приходит мне на почту на письма которые я не отправлял.

По последнему логу, судя по from <> for slog@giri.ru это именно такой ответ, так как обсуждалось что <> это скорее всего отчет о недоставке.

supp0rtmail2019 ()

Переделал правила может поможет, но не уверен что в fail2ban проблема:

failregex = \[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
	\[<HOST>\] I=\[[0-9\.]+\]:25: 535 Incorrect authentication data
	no host name found for IP address <HOST>
	rejected because <HOST>
	rejected HELO from (.*)\[<HOST>\] I=\[[0-9\.]+\]
	SMTP command timeout on connection from (.*)\[<HOST>\] I=\[[0-9\.]+\]:25
	\[<HOST>\] .*(?:rejected by local_scan|Unrouteable address)
	TLS error on connection from (.*)\[<HOST>\]
	synchronization error (.*) H=\[<HOST>\]
	\[<HOST>\] (.*)rejected after DATA

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

Вот такой ответ приходит мне на почту на письма которые я не отправлял.

Судя по всему, кто-то продолжает рассылать спам от Вашего имени. Бороться с этим невозможно, да и смысла большого нет. fail2ban здесь не поможет. Проще всего игнорировать эти письма.

Serge10 ★★★★★ ()
Ответ на: комментарий от Serge10

вся беда в том что google намертво банит всю доменную почту, так как письма висят в очереди моего сервера на рассылку у меня два варианта пока в голову приходят, или fail2ban не справляется и пропускает какое либо правило и надо его перенастроить, либо где то в обход fail2ban есть дыра, но я не пойму куда смотреть, по логам я не могу разглядеть эту бреш в защите.

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

так как письма висят в очереди моего сервера на рассылку

Ваш сервер продолжает спам рассылать? Тогда с этим надо в первую очередь разбираться, причем тут fail2ban?

Serge10 ★★★★★ ()
Ответ на: комментарий от supp0rtmail2019

либо где то в обход fail2ban есть дыра

fail2ban не система защиты от дыр ни разу. Это средство снизить нагрузку на сервисы и уменьшить объём логов. Побочный эффект - некоторое затруднение, но и только, эксплуатации дыр в виде слабых паролей и т.п.

AS ★★★★★ ()
Ответ на: комментарий от supp0rtmail2019

то может сможет подсказать куда можно глянуть чтобы выявить проблему(дыру).

В случае почтового сервера это всегда логи MTA и заголовки сообщений. Кто пришёл, как послал и т.п. На самом деле всё достаточно элементарно должно быть, но я логов Exim не видел никогда. В основном у меня Sendmail. Чуть-чуть Postfix.

Смотри, откуда взялось сообщение. В заголовке в Received каждым сервером фиксируется ID очереди, который должен быть и в логе соответствующего сервера, плюс в есть Message-ID самого сообщения, что тоже фиксруется. Вот и определяй, исходное от тебя ушло, или от кого-то, но с твоим mail from. Если через тебя, смотри почему.

AS ★★★★★ ()
Ответ на: комментарий от AS

вот такой ответ от outlook.com:

Received: from DB3EUR04FT025.eop-eur04.prod.protection.outlook.com
 (2a01:111:e400:7e0c::47) by
 DB3EUR04HT222.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::394)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Thu, 8 Oct
 2020 14:18:54 +0000
Authentication-Results: spf=fail (sender IP is 202.77.104.172)
 smtp.mailfrom=giri.ru; outlook.com; dkim=none (message not signed)
 header.d=none;outlook.com; dmarc=none action=none header.from=giri.ru;
Received-SPF: Fail (protection.outlook.com: domain of giri.ru does not
 designate 202.77.104.172 as permitted sender)
 receiver=protection.outlook.com; client-ip=202.77.104.172;
 helo=web.hadiprana.co;
Received: from web.hadiprana.co (202.77.104.172) by
 DB3EUR04FT025.mail.protection.outlook.com (10.152.24.144) with Microsoft SMTP
 Server id 15.20.3455.23 via Frontend Transport; Thu, 8 Oct 2020 14:18:54
 +0000
X-IncomingTopHeaderMarker: OriginalChecksum:B2CD47500B33E8431FF20661FDD8C1DFD90BE2EC0B330A20A0E25973F52A1104;UpperCasedChecksum:E0045081AA1E4C94BAF1DCDFB3DED439647808826E42CA8F7E874E8A28B867CE;SizeAsReceived:477;Count:10
Received: from [94.102.54.251] (unknown [192.168.168.1])
    by web.hadiprana.co (Postfix) with ESMTP id 321046466DB;
    Thu,  8 Oct 2020 21:49:56 +0700 (WIT)
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Description: Mail message body
Subject: 08/10/2020....
To: Recipients <slog@giri.ru>
From: "Mr Jeremy Sanders" <slog@giri.ru>
Date: Thu, 08 Oct 2020 06:30:33 -0700
Reply-To: dm2690511@gmail.com
X-IncomingHeaderCount: 10
Message-ID: <b876ea34-9ccb-4057-a338-065d082a6c75@DB3EUR04FT025.eop-eur04.prod.protection.outlook.com>
Return-Path: slog@giri.ru
X-EOPAttributedMessage: 0
X-EOPTenantAttributedMessage: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa:0
X-MS-PublicTrafficType: Email
X-MS-UserLastLogonTime: 7/30/2019 1:51:11 AM
X-MS-Office365-Filtering-Correlation-Id: aca8bd1a-7d20-4006-f7a4-08d86b9516b8
X-MS-DelayedDelivery: true

Тут нет не одного моего Ip адреса, но кроме локального, но он за натом так что хрень какя-то.

Вот эта запись как я понимаю говорит о том что sfp запись сработала:

Received-SPF: Fail...

Реального письма спама у меня нет, я сразу заблокировал очередь и очисти её, только если взломают вновь, буду блокировать и копаться в заголовках спам письма.

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019
Received-SPF: Fail (protection.outlook.com: domain of giri.ru does not
 designate 202.77.104.172 as permitted sender)
 receiver=protection.outlook.com; client-ip=202.77.104.172;
 helo=web.hadiprana.co;
Received: from web.hadiprana.co (202.77.104.172) by
 DB3EUR04FT025.mail.protection.outlook.com (10.152.24.144) with Microsoft SMTP
 Server id 15.20.3455.23 via Frontend Transport; Thu, 8 Oct 2020 14:18:54
 +0000

Напиши в MS, что они мудаки. Я серьёзно, если ты, конечно, SPF не недавно поменял.

$ host -t txt giri.ru
giri.ru descriptive text «v=spf1 redirect=beget.com»

А у beget.com везде -all, на сколько я вижу.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)

https://debian.pro/1541 Пробовали? На Exim не настраивал но на рассылочном серваке postfix такие вещи блокируются на ура, без участия fail2ban.

gidrotormoz ()
Последнее исправление: gidrotormoz (всего исправлений: 1)
Ответ на: комментарий от AS

Вот поймал лог спам сообщения из очереди при очередном взломе

exim -Mvh 1kSfks-0001bA-29
1kSfks-0001bA-29-H
root 0 0
<slog@giri.ru>
1602677982 0
-helo_name [94.102.54.251]
-host_address 94.102.54.251.49293
-interface_address 31.72.221.221
-received_protocol esmtp
-aclm 0 39
clamd:/var/run/clamd.clamsrv/clamd.sock
-body_linecount 76
-deliver_firsttime
XX
20
artemisias.autumn@gmail.com
artemjeva.marya@yahoo.com
artemka-kokorka@gmail.com
artemkaida@yahoo.com
artemkrassov@gmail.com
artemon20021@msn.com
artempashnikovzlla@gmail.com
artemrevenkoa@yahoo.com
artemroman@yahoo.com
artemsait@yahoo.com
artemsaliy@gmail.com
artemus07rus@gmail.com
artemvoroncov@yahoo.com
artemyevajanna@yahoo.com
artemzver@yahoo.com
artesgladys@yahoo.com.ar
artfinkell@hotmail.com
artfolch@yahoo.es
artfortv@hotmail.com
artgentry@yahoo.com

150P Received: from [94.102.54.251]
        by mail.giri.ru with esmtp (Exim)
        (envelope-from <slog@giri.ru>)
        id 1kSfks-0001bA-29; Wed, 14 Oct 2020 15:19:42 +0300
047  Content-Type: text/plain; charset="iso-8859-1"
018  MIME-Version: 1.0
044  Content-Transfer-Encoding: quoted-printable
039  Content-Description: Mail message body
044  Subject: Dear Email Owner/Fund Beneficiary,
029T To: Recipients <slog@giri.ru>
040F From: "Mr Jeremy Sanders" <slog@giri.ru>
038  Date: Wed, 14 Oct 2020 12:19:39 -0700
030R Reply-To: dm2690511@gmail.com
021  X-SA-Do-Not-Run: Yes
023  X-Virus-Scanned: Clear

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

Очистил очередь и сменил пароль, а через 30 секунд опять очередь полная, походу локально выполняется рассылка и пофиг ей на пароль

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

giri.ru и ip изменены на всякий случай, но sfp настроен давно

Тут вопрос в -all и приёме сервером Микрософта этого. В общем, подставил ты Микрософт. :-) Менял бы на example.com, было бы понятно. И да, изучать чужой лог с такими изменениями вообще бесполезно. Но я и так не хочу с логом Exim разбираться на ощупь.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
[Definition]
failregex = \[<HOST>\]: 535 Incorrect authentication data
            no host name found for IP address <HOST>
            rejected because <HOST>
            rejected HELO from (.*)\[<HOST>\]
            rejected EHLO from (.*)\[<HOST>\]
            SMTP command timeout on connection from (.*)\[<HOST>\]
            TLS error on connection from (.*)\[<HOST>\]
            \[<HOST>\] dropped: too many unrecognized commands
            \[<HOST>\] unrecognized command
            \[<HOST>\] (.*)Unknown user
            \[<HOST>\] (.*)relay not permitted
            synchronization error (.*)\[<HOST>\]
            \[<HOST>\] (.*)rejected after DATA
ignoreregex =
suffix ★★ ()
Ответ на: комментарий от suffix

Спасибо, уже находил этот пост, немного отредактировал, а то мой собственный адрес попадал в бан, но сейчас примерно по этому шаблону и работаю, минус несколько правил которые загоняли рабочих на удаленке в бан.

В данный момент стало ясно что это не брутфорс, так как со сменённым 30 секунд назад паролем и отключенным ящиком спам всё равно отправляется.

По гайду в интернете включил логирование php может что даст, жду следующую волну спама и буду пытаться ловить, если это конечно скрипт php…

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

Скрипт я так и не нашел, но проанализировав все я постепенно пришел к выводу что это скорее всего открытое реле. Злоумышленник подключается к серверу по ip и начинает сразу слать спам, до этого нет логов о данном ip, используется мой существующий адрес почтового ящика (причем только он единственный), я думаю это тоже не спроста, в заголовке спам письма отсутствует строка -auth_id. Я уже несколько раз пересмотрел конфиг exim и даже пробовал менять некоторые настройки, но все без результата. Может кто сможет подсказать где и что нужно прописать для блокировки этого спама.

supp0rtmail2019 ()
Ответ на: комментарий от supp0rtmail2019

Разобрался я с проблемой, после долгого поиска и изучения конфигураций exim, нашел проблему, до меня кто-то прописал этот адрес в белый лист тех кто может использовать открытое реле. Уже несколько дней нет спама с сервера) Спасибо всем за помощь.

supp0rtmail2019 ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.