LINUX.ORG.RU
ФорумAdmin

Что лучше - дропать или режектить?

 , , ,


0

1

Повадились на почтовый сервак всякие боты с разных стран подбирать email, например -

 550 5.1.1 <adam@chukcha.info>: Recipient address rejected: User unknown in virtual alias table; from=<0xt2aqt6mis3@daipra.it> to=<adam@chukcha.info> proto=ESMTP helo=<[193.32.160.151]> (total: 1)

Периодически блокирую их в файроволе, и тут возник вопрос: как лучше с ними бороться - дропать или режектить?

★★★

Ответ на: комментарий от no-such-file

Вот спасибо! Будем знать! :))
Единственное, опасаюсь, не получится ли при дропе атака типа наводнения, или sync, или еще какая-нибудь?

chukcha ★★★ ()
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Можно ж своё правило написать.

Где именно - в фаере или fail2ban?


Точнее: ботов - дропаем клиентов - реджектим не важно из какой они сети.

Где тут должна быть запятая?
А то получается :) -

Казнить нельзя помиловать! :))

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

Где тут должна быть запятая?

А то получается :) - Там был перенос на следующую строку, но спасибо лоровскому форматировантю который его удалил.

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

Хорошо, но пока не получил ответа на вопрос -

Хорошо, а чем выгоднее прописывать правила в fail2ban, чем в файере?

Догадываюсь, конечно, но лучше послушать знатоков ;)

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

Ну да, они частенько меняются.
Кроме того, через какое-то некоторые из них, как это выразится - утихомируются, и их надо снова разбанивать.
В файере все это надо постоянно контролировать и перестраивать вручную, а fail2ban все это делает автоматически.
Правильны ли мои догадки? :)

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

Ну да, fail2ban для этого и создан. Парсить в реальном времени логи, применять меры и следить за сроком действия принятых мер. Кроме локальных действий, еще и с тем же CloudFlare работает через API. Удобно.

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

Не подскажите ли, как в этом fail2ban настроить защиту от этих самых email-ботов?

А то настроил только защиту от ssh-попыток залогиниться, и считал, что настроил всё :)

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

И что нужно вписать в postfix.conf , чтобы отвадить спам-ботов?

Там у меня пока такое: или оно уже готово к работе?

# Fail2Ban filter for selected Postfix SMTP rejections
#
#
[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

_daemon = postfix(-\w+)?/(?:submission/|smtps/)?smtp[ds]

failregex = ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5\.7\.1 .*$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 Client host rejected: cannot find your hostname, (\[\S*\]); from=<\S*> to=<\S+> proto=ESMTP helo=<\S*>$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 : Helo command rejected: Host not found; from=<> to=<> proto=ESMTP helo= *$
            ^%(__prefix_line)sNOQUEUE: reject: EHLO from \S+\[<HOST>\]: 504 5\.5\.2 <\S+>: Helo command rejected: need fully-qualified hostname;
            ^%(__prefix_line)sNOQUEUE: reject: VRFY from \S+\[<HOST>\]: 550 5\.1\.1 .*$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.1\.8 <\S*>: Sender address rejected: Domain not found; from=<\S*> to=<\S+> proto=ESMTP helo=<\S*>$
            ^%(__prefix_line)simproper command pipelining after \S+ from [^[]*\[<HOST>\]:?$

ignoreregex = 

[Init]

journalmatch = _SYSTEMD_UNIT=postfix.service

# Author: Cyril Jaquier

chukcha ★★★ ()
Ответ на: комментарий от no-such-file

Любопытно, если этот fail2ban такой белый и пушистый, то почему он идет отдельно, а не встраивают его сразу в дистрибутивы?

Помниться, еще в древнейшей Вынь 2000 есть встроенная фича для настройки числа попыток залогиниться и времени «заморозки».

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

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

Почему iptables идет отдельным пакетом, а брандмауэр в оффтопике встроенный? Почему openssh идет отдельным пакетом, а в оффтопике RDP встроенный?

И еще 100500 таких же аналогий... Я думаю ты понял к чему я веду, да?

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

Да, так что делать с этим дефолтовыми правилами?

failregex = ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5\.7\.1 .*$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 Client host rejected: cannot find your hostname, (\[\S*\]); from=<\S*> to=<\S+> proto=ESMTP helo=<\S*>$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 : Helo command rejected: Host not found; from=<> to=<> proto=ESMTP helo= *$
            ^%(__prefix_line)sNOQUEUE: reject: EHLO from \S+\[<HOST>\]: 504 5\.5\.2 <\S+>: Helo command rejected: need fully-qualified hostname;
            ^%(__prefix_line)sNOQUEUE: reject: VRFY from \S+\[<HOST>\]: 550 5\.1\.1 .*$
            ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.1\.8 <\S*>: Sender address rejected: Domain not found; from=<\S*> to=<\S+> proto=ESMTP helo=<\S*>$
            ^%(__prefix_line)simproper command pipelining after \S+ from [^[]*\[<HOST>\]:?$

- поменять reject на drop и добавить эту? -
^%(__prefix_line)sdisconnect from \S+\[\]

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

Если нет ошибки, значит всё хорошо (спам-боты обкакаются от радости, что их почта "доходит" на все адреса). Конечно, с локальной почтой ты увидишь в логе что письмо было дропнуто, но по какой причине — сиди, гадай. Даже если у тебя всё работает, это не даёт никаких гарантий что в один "прекрасный" день ничего не отвалится после обновления или ты вдруг не опечатаешься в поле To:.

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

Конечно, с локальной почтой ты увидишь в логе что письмо было дропнуто, но по какой причине — сиди, гадай.

Так а если у меня нет локальной почты? Поскольку у меня внешний почтовый сервер на белом IP.

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

filter.d папка в директории fail2ban - там лежат правила фильтрации. В моём случае - exim_auth.

Это я понял. Заинтересовало другое - слово «проверка».
Обычно этот термин предполагает какое-то действие. так что тут не понял.

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

Это я проверял там инструментом failregex (входит в fail2ban) свои логи в той теме и в квадратных скобках было кол-во найденных совпадений. Сейчас убрал это чтобы Вас не смущало. Вообщем забейте :)

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

Ну почему же, этот инструментарий интересен и полезен, пусть остается.
А случаем, подобных правил для Postfix у вас нет? ;)
Потому что на одних серверах у меня стоит Exim, на других Postfix

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

targitaj
Народ, похоже, что среди множества всяческих мыльных опер на тему «защиты почтового сервера от mail-ботов с помощью fail2ban » мне удалось найти действительно полезную статью - конкретную и без размазывания соплей: Настройка fail2ban для защиты Postfix на Centos

Готов ее заюзать, но прежде просьба к знатокам fail2ban глянуть - нет ли в ней ошибок? Могли чисто случайно вкрасться.

chukcha ★★★ ()