Security

Ошибка автоблокировки Cygwin SSHd при входе в систему

Я использую Cygwin с SSH daemon на машине Windows. Я просматривал Event Viewer и заметил до 5-6 неудачных попыток входа в систему в секунду (грубая сила) за последнюю неделю или около того с разных IP. Как я могу автоблокировать эти IP и не блокировать их по одному вручную?

Ответ 1

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

sshd_block для Windows

sshd_block – это программа на VBScript, которая действует как поглотитель событий WMI для получения записей журнала событий Windows, регистрируемых sshd. Она анализирует эти записи журнала и действует следующим образом:

  1. Если IP-адрес пытается войти в систему с именем пользователя, помеченным как «запретить немедленно», IP-адрес немедленно запрещается.

  2. Если IP-адрес пытается войти в систему чаще, чем разрешено в данный период времени, IP-адрес запрещается.

Имена пользователей «запретить немедленно» и пороговые значения, связанные с повторными попытками входа, настраиваются в разделе «Конфигурация» сценария. Настройки по умолчанию следующие:

  1. Запретить немедленно Имена пользователей – администратор, root, гость.

  2. Разрешенные попытки входа – 5 за 120 секунд (2 минуты).

  3. Продолжительность бана – 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

Легко ли подделать IP-адреса?

SOAP: система безопасности и персонализации, службы каталогов
Security

SOAP: система безопасности и персонализации, службы каталогов

Обфускация и деобфускация кода: всё про этот метод защиты ПО
Security

Обфускация и деобфускация кода: всё про этот метод защиты ПО

Security

Насколько сложно настроить почтовый сервер?