Зомби-пользователи OpenVPN



  • Добрый день. От одного из OpenVPN серверов мне понадобилось отключить несколько пользователей без удаления сертификатов и файла конфигурации на их стороне. Я удалил их как пользователей в System / User Manager / Users, затем в System / Certificate Manager / Certificates удалил их сертификаты. Всё было бы хорошо, но двое из этих удалённых пользователей постоянно всплывают в логах с сообщениями user '***' could not authenticate. Где и что ещё почистить, чтобы избавиться от этих пользователей?

    Заранее спасибо!



  • @dtinside said in Зомби-пользователи OpenVPN:

    но двое из этих удалённых пользователей постоянно всплывают в логах с сообщениями user '***' could not authenticate

    Логично, вы же их запретили\отключили.

    Возможно у них остались ПК с установленным OpenVPN GUI в автозагрузке?



  • Все удалённые пользователи имели клиент в автозагрузке. Но рвутся назад только 2 из них. Что ещё необходимо сделать, чтобы отсечь их?



  • @dtinside said in Зомби-пользователи OpenVPN:

    Что ещё необходимо сделать, чтобы отсечь их?

    Если они лезут снаружи, что вы можете сделать изнутри?
    pfSense просто логгирует неудачные попытки входа. В логах же видны IP неудачных коннектов? Ищите по этим IP\логинам откуда и кто ломится.

    @dtinside said in Зомби-пользователи OpenVPN:

    в System / Certificate Manager / Certificates удалил их сертификаты.

    Можно было сертификаты не удалять, а включать в Certificate Revocation List.
    Убедитесь, что на сервере отмечено Strict User-CN Matching



  • @pigbrother Галочка стоит.

    Я понимаю, что мой изначальный вопрос может показаться немного странным, просто интересен сам механизм. Почему из 10 клиентов с одинаковыми настройками только 2 из них пытаются войти, а другие нет. Остальные тоже 100% онлайн и с автозагрузкой.



  • @pigbrother Если в логах есть их внешние IP, могу ли я добавить их в правила фаервола, чтобы они отсекались им? Если да, то как? Правило я вроде добавил, но в логах OpenVPN ничего не изменилось.

    0_1537880375398_Screenshot_1.png



  • Добрый.
    @dTinside
    Так не бывает. Если у клиентов нет опенвпн на машинах, то чему стучаться к вам?

    Все удалённые пользователи имели клиент в автозагрузке

    Опенвпн уж неск. лет как устанавливает службу. Просмотрите ее в списке служб на проблемных клиентах.



  • @werter У клиентов остался полный пакет всего, что нужно: клиент как служба с автозапуском, конфиг, сертификаты. Цель: сделать так, чтобы со всем этим они больше не могли пользоваться OpenVPN. Без доступа к их машинам. Всё, что я сделал отрубило часть этих клиентов, но 2 из них продолжают светиться в логах OpenVPN



  • Они и будут продолжать стучаться к вам. Пока не удалят\откл опенвпн у себя. Опенвпн, если не указать в настройках обратное, будет бесконечно пытаться подключиться. Возможно, у этих проблемных так и указано.



  • @werter Фаервол не спасёт?



  • У каждого пол-ля свой сертификат? Да - просто отзовите его. И откл. пол-ля, если аутен-ция и по нему идет.
    Если у вас один сертификат для 100500 пол-лей - "поздравляю".



  • @werter Пользователей уже удалил. Стучатся пользователи из списка удалённых. На каждого свой. Но я по-глупости удалил их, а не отозвал.



  • Перезагрузитесь.



  • @werter много раз уже это делал.



  • @dtinside
    Добрый вечер .
    1 адреса у " вредителей" статические или динамические ?
    2 правила добавлены на WAN интерфейсе или FLOAT ?
    3 на разрешающем правиле включите log и посмотрите , с каких ip адресов приходят пакеты и сравните с логами openvpn



  • @konstanti У каждого такого клиента свой статический IP. Правила на WAN



  • @dtinside
    Итак , как бы я действовал на Вашем месте
    1 Идем в Diagnostic-States и проверяем , нет ли там Ваших IP в состоянии ESTABLISHED . (или выполняем команду pfctl -ss | grep XXXXXXXX , где XXXXXX - искомые IP)
    Если есть , удаляем их принудительно и смотрим , что будет , заработает правило или нет
    Если заработало , то все ОК
    Если не заработало , ставим разрешающее на 1194 правило в положение "запретить" , включаем ЛОГ и перезагружаемся
    Если первое правило по-прежнему не работает , то смотрим ЛОГи второго правила и проверяем все IP на предмет правильности в первом правиле
    Если первое правило сработало , то ставим второе в положение разрешить и отключаем ЛОГ
    Если все IP верны , а правило не работает
    То включаем второе правило на разрешить и
    идем в DIAGNOSTICS -Command prompt
    и показываем здесь
    вывод команды pfctl -sr | grep "port = openvpn" ( только те строчки , которые касаются порта openvpn)
    т е вывод должен быть приблизительно таким
    pass in quick on igb0 reply-to (igb0 XXXXXXXXX) inet proto udp from any to XXXXXXX port = openvpn keep state label "USER_RULE: OpenVPN wizard"

    в Вашем случае строчек должно быть минимум 2



  • Добрый.
    @dTinside
    Если проблемные просто стучатся и светятся в логах fw - просто не обращайте внимания на это. Вас это смущает?



  • @werter said in Зомби-пользователи OpenVPN:

    У каждого пол-ля свой сертификат? Да - просто отзовите его.

    @dtinside said in Зомби-пользователи OpenVPN:

    в System / Certificate Manager / Certificates удалил их сертификаты

    @pigbrother said in Зомби-пользователи OpenVPN:

    Можно было сертификаты не удалять, а включать в Certificate Revocation List.

    @werter said in Зомби-пользователи OpenVPN:

    Если проблемные просто стучатся и светятся в логах fw - просто не обращайте внимания на это. Вас это смущает?

    @pigbrother said in Зомби-пользователи OpenVPN:

    pfSense просто логгирует неудачные попытки входа.

    Если у ваших "зомби" - динамические IP, блокировать их файрволлом - сизифов труд.
    Если сертификаты уникальные, и вы действительно включили
    Strict User-CN Matching - волноваться поводов нет.

    @dtinside said in Зомби-пользователи OpenVPN:

    Цель: сделать так, чтобы со всем этим они больше не могли пользоваться OpenVPN. Без доступа к их машинам.

    Без доступа к их машинам это невозможно.

    @dtinside said in Зомби-пользователи OpenVPN:

    @werter Пользователей уже удалил. Стучатся пользователи из списка удалённых. На каждого свой. Но я по-глупости удалил их, а не отозвал.

    Даже если бы вы их отозвали, клиенты все равно продолжили бы ломиться на сервер, а сервер их не пускал бы с иными записями неудачных попыток в лог.
    https://mdex-nn.ru/page/blokirovka-sertifikat-openvpn.html
    https://serverfault.com/questions/426315/how-to-revoke-openvpn-client-certificate-in-debian
    Я по наивности полагал, что отозванный сертификат будет обработан на клиентской стороне, однако этого (было давно, на старых версиях) не произошло. Клиент продолжал тупо долбиться на сервер.

    Искал, но не нашел (плохо искал?) в свое время возможность в OpenVPN ограничить число неудачных попыток входа по логину\CN.



  • @werter said in Зомби-пользователи OpenVPN:

    Опенвпн уж неск. лет как устанавливает службу.

    Кстати, последние версии клиента почему-то по умолчанию всегда используют исходящий порт 1194. Что в свете последних событий легко позволит ISP\тем кому это нужно легко его блокировать.

    Чтобы клиент всегда использовал рандомный порт надо добавить
    nobind
    в конфиг клиента.