Как защитить ejabberd от атак перебором?

Нет одного конца - все самое важное почтового тестирования конфигурации, потому что никто кроме себя не знает, как Вы хотите свой настроенный сервер.

Существуют тесты, как другие люди предположили, которые позволяют Вам тестировать очень особые условия, которые часто вызывают проблемы для почтовых администраторов. Другой такой является тестом abuse.net для открытых реле: http://www.abuse.net/relay.html

В конце проверьте, что можно отправить почту в домен при помощи внешнего почтового сервера (такого как Gmail или Yahoo), что можно получить почту, которую Вы отправили, и что, когда Вы отвечаете на почту, Ваш счет по внешним расчетам получает ответ.

После того, как Вы будете иметь основную функциональность вниз, протестируете снова, поскольку Вы изменяете конфигурацию.

2
задан 14 March 2012 в 19:37
3 ответа

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

Этот пример предназначен для TCP-порта 22 (ssh) и допускает 3 попытки подключения в минуту перед отбрасыванием пакетов с этого IP-адреса.

iptables -A INPUT -p tcp --dport 22 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 --syn -j DROP
2
ответ дан 3 December 2019 в 11:59

fail2ban предоставит полезный дополнительный логический уровень поверх iptables. Запрос на сайте ejabberd предложил возможный подход к использованию fail2ban, используя log_modsession . Он включен в ejabberd-modules .

Чтобы регистрировать неудачные попытки аутентификации, ядро ​​ejabberd должно быть исправлено. К счастью, log_modsession поставляется с этим патчем, поэтому вам просто нужно применить его и перекомпилировать ejabberd.

0
ответ дан 3 December 2019 в 11:59

Another way is to use the same approach used by fail2ban, since they use the file alteration monitor (fam) library, I guess we can create a custom daemon that monitor the ejabberd log file and outputs in a format compatible with fail2ban, and there are python and perl bindings for that.

Sometimes tweaking the sources of another program to fit your needs adds you an additional work of download / patch / compile so you can't benefit from your distro security updates, you have to do that work, on the other side you can submit your patch to the authors in charge of ejabberd and wait for their answer if they find that valuable and the whole community could benefit.

But IMHO I would go with the custom daemon.

0
ответ дан 3 December 2019 в 11:59

Теги

Похожие вопросы