Я использую Cygwin с SSH daemon на машине Windows. Я просматривал Event Viewer и заметил до 5-6 неудачных попыток входа в систему в секунду (грубая сила) за последнюю неделю или около того с разных IP. Как я могу автоблокировать эти IP и не блокировать их по одному вручную?
Ответ 1
Я написал программу для блокировки IP-адресов, как вы просите, пару лет назад, но сделал это для клиента в качестве работы по найму. Поскольку сегодня вечером у меня оказалось немного «свободного» времени, я решил переделать все с нуля, написать полезную документацию и вообще сделать программу презентабельной. Так как я слышал от многих людей, что это было бы удобно иметь, кажется, что это стоит потраченного времени.
sshd_block для Windows
sshd_block – это программа на VBScript, которая действует как поглотитель событий WMI для получения записей журнала событий Windows, регистрируемых sshd. Она анализирует эти записи журнала и действует следующим образом:
Если IP-адрес пытается войти в систему с именем пользователя, помеченным как «запретить немедленно», IP-адрес немедленно запрещается.
Если IP-адрес пытается войти в систему чаще, чем разрешено в данный период времени, IP-адрес запрещается.
Имена пользователей «запретить немедленно» и пороговые значения, связанные с повторными попытками входа, настраиваются в разделе «Конфигурация» сценария. Настройки по умолчанию следующие:
Запретить немедленно Имена пользователей – администратор, root, гость.
Разрешенные попытки входа – 5 за 120 секунд (2 минуты).
Продолжительность бана – 300 секунд (5 минут).
Раз в секунду все IP-адреса, которые были запрещены на время запрета, разблокируются (при этом маршрут «черного хода» удаляется из таблицы маршрутизации).
По состоянию на 2020-01-20, я обновил код для поддержки использования «Advanced Firewall» на Windows Vista/7/10 для выполнения черного удержания трафика через создание правил брандмауэра (что гораздо больше соответствует поведению «fail2ban»). Я также добавил некоторые дополнительные строки соответствия, чтобы поймать версии OpenSSH, в которых заменен «недействительный пользователь» на «нелегального пользователя».
Вы можете скачать эту программу здесь:
http://opensource.wellbury.com/projects/windows_sshd_block/newest-release/
Ответ 2
Syspeace тесно сотрудничает с Windows для обнаружения возможных угроз при оптимальной производительности. События в журнале событий постоянно отслеживаются на предмет подозрительного поведения. Если событие считается угрозой для системы, Syspeace переходит на следующий уровень, проверяя внутреннюю базу правил, которая просто блокирует IP-адрес и добавляет правило в брандмауэр Windows.
Локальный белый список
Пользователь всегда может добавить IP-адреса в локальный белый список, чтобы, например, предотвратить блокирование каких-либо внутренних сетей или временно добавить отдельные ПК. Это следует использовать с осторожностью, так как любые IP-адреса в этом списке считаются Syspeace надежными и всегда будут игнорироваться.
Локальный черный список
Любые угрозы будут автоматически добавляться Syspeace в локальный черный список. Вы всегда можете просмотреть черный список и добавить или удалить их по своему усмотрению. Однако мы рекомендуем вам не вносить никаких изменений в этот список, так как вы можете случайно открыть дорогу неизвестному хакеру.
Глобальный черный список
Ключевой особенностью Syspeace является возможность предварительного блокирования известных IP-адресов, занесенных в глобальный черный список. Если выбрать эту опцию, Syspeace будет импортировать глобальный черный список на ваш клиент и будет действовать соответствующим образом, добавляя все IP-адреса из глобального черного списка в набор правил брандмауэра одним нажатием кнопки.
Передача сообщений
Когда происходит важное событие, служба запускается или останавливается, правила помещаются или удаляются из брандмауэра или изменяется статус связи с центральной лицензией и сервером глобального черного списка, Syspeace имеет возможность отправить сообщение соответствующим людям в вашей организации.
Отчеты
Получать электронные письма о важных событиях – это, конечно, хорошо, но иногда хочется получить и сводку. Syspeace составляет ежедневный отчет со всеми попытками атак на вашу систему и отправляет вам сообщение с этой информацией. Аналогичным образом Syspeace составляет еженедельный отчет.
www.syspeace.com
Ответ 3
Всем, кто спрашивает о блокировке RDP (или другого не-SSH порта): я рекомендую делать все через ssh-туннели!
Например, для RDP (со стандартными портами для RDP и SSH) на клиентской машине откройте консоль и запустите эту команду (хорошо работает и с PuTTY):
ssh -L33890:<SERVER-MACHINE-NAME>:3389 -x -o <USER>@<SERVER-MACHINE-IP> sleep 100
Затем у вас есть 100 секунд, чтобы открыть RDP-соединение с этим адресом:
localhost:33890
(где 33890 может быть любым неиспользуемым номером порта < 65535, но, конечно, он должен быть одинаковым в обоих местах).
На всех компьютерах, которые я администрирую, (обычно) открыт только SSH-порт.
Ответ 4
Вы можете рассмотреть возможность использования SSHBlock – Perl-скрипта для контроля попыток доступа с применением грубой силы.
SSHBlock – это демон для мониторинга журнала syslog на предмет попыток взлома с помощью SSH, а также для автоматического блокирования недопустимых хостов путем добавления строк в /etc/hosts.allow (TCP Wrappers). Предварительно определено несколько пороговых значений, чтобы иметь возможность блокировать тех, кто пытается сделать много попыток в течение более или менее длительного периода. Используйте -h для просмотра опций командной строки. Я еще не использовал эту программу в Cygwin.
Security