Я написал программу для блокировки IP-адресов, как вы просили пару лет назад, но сделал это для Заказчика как работу по найму. Так как сегодня вечером у меня было немного «свободного» времени, я решил заново реализовать все это с нуля, написать некоторую полезную документацию и вообще сделать ее презентабельной программой. Так как я слышал от нескольких людей, что это было бы удобно, кажется, что это стоит того времени. Надеюсь, что вы и другие члены сообщества сможете извлечь из этого пользу.
Windows sshd_block
sshd_block - это программа VBScript, которая действует как приемник событий WMI для получения записей журнала событий Windows, зарегистрированных в sshd. Он анализирует эти записи журнала и действует на них следующим образом:
Если IP-адрес пытается войти в систему с именем пользователя, помеченным как «немедленно забанить», IP-адрес немедленно забаняется.
Если IP-адрес пытается войти в систему чаще, чем разрешено в данный период времени, IP-адрес запрещается.
Имена пользователей и пороги немедленного запрета, связанные с повторными попытками входа в систему, настраиваются в разделе «Конфигурация» сценария. Настройки по умолчанию следующие:
- Немедленно забаньте имена пользователей - администратор, root, гость
- Разрешены попытки входа в систему - 5 за 120 секунд (2 минуты)
- Продолжительность бана - 300 секунд (5 минут)
Раз в секунду любые IP-адреса, которые были забанены на время запрета, отменяются (путем удаления маршрута черной дыры из таблицы маршрутизации).
Вы можете скачать программное обеспечение здесь и просмотреть архив здесь .
Редактировать:
По состоянию на 2010-01-20 я обновил код для поддержки использования «Расширенного брандмауэра» в Windows Vista / 2008/7/2008 R2 для выполнения «черного» трафика через создание правил брандмауэра (что намного больше соответствует поведение "fail2ban"). Я также добавил несколько дополнительных подходящих строк, чтобы перехватить версии OpenSSH, которые являются «недопустимым пользователем», а не «нелегальным пользователем».
На Linux denyhosts делает трюк, не может сказать вам, будет ли он работать на Windows / Cygwin или нет. Попробуйте.
источник
Это очень интересно, мы сейчас оцениваем это решение:
Syspeace тесно сотрудничает с Windows, чтобы обнаруживать возможные угрозы с оптимальной производительностью. События в журнале событий постоянно отслеживаются на предмет подозрительного поведения. Если событие считается угрозой для системы, Syspeace переходит на следующий уровень путем проверки внутренней базы правил, которая просто блокирует IP-адрес и добавляет правило в брандмауэр Windows.
Местный белый список
Пользователь всегда может добавить IP-адреса в локальный белый список, чтобы, например, предотвратить блокировку любых внутренних сетей или временно добавить отдельные ПК. Это следует использовать с осторожностью, так как любые IP-адреса в этом списке считаются заслуживающими доверия Syspeace и всегда будут игнорироваться.
Локальный черный список
Любые угрозы будут автоматически добавлены в локальный черный список Syspeace. Вы всегда можете просмотреть черный список и добавлять или удалять их по своему усмотрению. Однако мы рекомендуем не вносить никаких изменений в этот список, поскольку вы можете случайно проложить путь неизвестному хакеру.
Глобальный черный список
Ключевой особенностью Syspeace является возможность упреждающего блокирования известных глобальных IP-адресов. Выбрав эту опцию, Syspeace импортирует глобальный черный список на ваш клиент и будет действовать соответствующим образом, добавляя все глобально занесенные в черный список IP-адреса в набор правил брандмауэра одним нажатием кнопки.
обмен сообщениями
Всякий раз, когда происходит важное событие, служба запускается или останавливается, правила помещаются в брандмауэр или удаляются из него, или статус связи с центральной лицензией и глобальный сервер черного списка изменяется, Syspeace имеет возможность отправлять почту соответствующим людям в ваша организация.
Отчеты
Получение электронной почты, когда происходит важное событие, может быть хорошим, но иногда вы также хотели бы получить сводку. Syspeace составляет ежедневный отчет обо всех попытках атаки в вашей системе и отправляет вам сообщение с информацией. Syspeace также составляет еженедельный отчет таким же образом.
www.syspeace.com
источник
Буквально все попытки входа в систему из Китая / США / Индии на моем сервере пытаются выполнить вход администратора, который я отключил.
Не будет ли проще отключить вход администратора, а затем написать сценарий, который блокирует все IP-адреса, которые пытаются войти, используя «Администратор» в качестве имени пользователя?
источник
Возможно, вам придется возиться с брандмауэром Windows; Cygwin не будет иметь такой тип функциональности.
источник
Вы можете рассмотреть возможность использования SSHBlock - скрипта Perl для управления попытками перебора.
Я еще никогда не использовал его на Cygwin.
Однако здесь есть ссылка на другую статью, описывающую sshblock с некоторыми другими способами:
Защита от ssh-атак brute force
источник