Сегодня утром, когда я регулярно сканировать ресурсов историю использования сервера, я заметил подозрительную активность сети между 1 и 5 часами утра. Некоторые чтение последних файлов журнала скоро определены трафика были вызваны атакой по словарю на моем SSH сервер. Я воспользовался возможностью, чтобы выразить мои текущие настройки для сценариев детских враг называется fail2ban . Это программа следит за потенциально в лог-файл любые услуги для неудачных попыток Войти и если их количество превышает определенный предел, он блокирует выдачу хоста с помощью Iptables правила.
К сожалению, первый запуск новой услуги оказались взорвать памяти около 100 Мб, которая является неприемлемым в отношении дефицитные ресурсы из моих виртуальных частных серверов. Как выяснилось, другие были подобный опыт и перешли на DenyHosts в связи с этим вопросом. Мой опыт работы с создания Trac две недели назад научил меня, что приложение Python (как fain2ban) могут потреблять много памяти только из-за относительно негабаритных умолчанию размер стека на Linux.
Средств сокращения умолчанию размер стека в Linux широко известно, что файл limits.conf и ULIMIT команды. Но, как использовать эти два в моей ситуации? Решение оказывается один вкладыш на Debian Lenny: Все что мне оставалось сделать, это добавить ULIMIT команду моего / etc/default/fail2ban файл.
Это изменилось / etc/default/fail2ban файл:
# Этот файл является частью fail2ban. # # fail2ban является свободным программным обеспечением; вы можете распространять его и / или модифицировать # это в соответствии с условиями лицензии GNU General Public License, опубликованной # Free Software Foundation; либо версии 2 Лицензии, либо # (по вашему выбору) любой более поздней версии. # # fail2ban распространяется в надежде, что она будет полезной, #, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, даже без подразумеваемой гарантии # или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Показать # GNU General Public License для более подробной информации. # # Вы должны были получить копию GNU General Public License # вместе с fail2ban, а если нет, напишите в Free Software # Foundation, Inc, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Автор: Кирилл Jaquier # # $ Revision: 1.2 $ # Параметры командной строки для fail2ban. Обратитесь к "fail2ban-Клиент-H" для # допустимых параметров. FAIL2BAN_OPTS = "" ULIMIT-S 256
С помощью этого набора по умолчанию размер стека для случаев Python работает fail2ban до 256 Кб и снижает потребление памяти fail2ban примерно в 10 раз.
https://fabianmoser.at/en/blog/2009/05/15/how-to-reduce-fail2ban-memory-usage/
Просмотров: 2281