
тл,др:
- У пользователя есть домашний сервер, доступ к которому осуществляется через SSH им и его коллегами. Недавно коллеги начали испытывать проблемы с подключением, сталкиваясь с другими ключами SSH, чем ожидалось.
- Пользователь в локальной сети не испытывает подобных проблем из-за возможной обратной связи NAT.
- Они обнаружили, что коллеги видят сервер Dropbear SSH, а не ожидаемый OpenSSH, что говорит о вмешательстве модема/маршрутизатора.
- Модем/маршрутизатор RTF8115VW, поставляемый интернет-провайдером, не имеет легко настраиваемых настроек, что приводит к неопределенности относительно потенциальных взломов/нарушений безопасности или проблем с конфигурацией.
- Пользователь ищет совет относительно дальнейших действий.
Полная версия:
У меня дома есть сервер, к которому я подключаюсь по SSH (локальная сеть), и мои коллеги также получают к нему доступ по SSH (интернет) напрямую через мой IP.
Несколько дней назад у моих коллег начались проблемы с подключением, терминал жаловался, что открытый ключ не тот. Мы начали расследование.
Я обнаружил, что при доступе через локальную сеть я видел тот же отпечаток, который сообщает сервер, если я подключаюсь к нему напрямую, начиная с yury4
. Это происходит даже при доступе к моему внешнему IP: похоже, что модем/маршрутизатор выполняет какую-то петлевую трансляцию NAT, и все работает. Однако мои коллеги видят другой отпечаток, начинающийся с XyTk/
, постоянно и больше не могут подключиться.
Понаблюдав немного больше, мы заметили, что они видели другой сервер SSH, о котором сообщалось: Dropbear. То, что я увидел, было OpenSSH. После расследования я обнаружил, что Dropbear, похоже, идеально подходит для встраиваемых систем, что заставило меня заподозрить модем/маршрутизатор. Бинго: если я спрошу у модема/маршрутизатора, каков его отпечаток, он ответит тем, который начинается с XyTk/
.
Проблема в том, что я не могу определить, что происходит. Мое базовое понимание заключается в том, что модем/маршрутизатор не должен вмешиваться в пакеты, а просто передавать их, верно? Я также не знаю, как решить эту проблему. Модем/маршрутизатор от провайдера доступа, и некоторые настройки, похоже, недоступны. На самом деле, я даже не знаю, была ли эта маленькая штука взломана и происходит ли посредник, или это просто проблема конфигурации.
Каким будет следующий шаг диагностики?
EDIT: устройство — RTF8115VW.
решение1
Это может быть хорошим исследованием, чтобы найти причины. Но то, что вы пишете, заставляет меня подозревать, что вас, возможно, взломали.
Поэтому спросите себя, что в первую очередь следует сделать в таком случае.
- Если вам нечего терять, вы можете провести неплохую экспертизу и расследование, чтобы выяснить, как и где были замечены проблемы.
- Если есть что-то важное, вам следует подумать об изоляции и немедленном резервном копировании, но не трогать существующие резервные носители. — В худшем случае, если в данный момент программа-вымогатель молча шифрует ваши файлы и через несколько часов или дней появится, чтобы попросить денег.
- Менее агрессивный сценарий заключается в том, что маршрутизатор становится частью ботнета и становится доступен злоумышленникам одним касанием, чтобы они могли совершать какие-то гадости на других веб-сайтах.
Почему я принимаю взлом во внимание?
Первый замечательный намек, что вы открыли стандартный порт SSH в сторону Интернета.
Мое мнение: в маршрутизаторе "все в одном"никогда никогдасделайте это для стандартного порта для SSH или любой другой сетевой службы. – Если (в этом маршрутизаторе или сервере, на который вы перенаправляете) есть какая-либо ошибка реализации или ошибка конфигурации, они вас взломают. По крайней мере, стандартные порты постоянно сканируются плохими парнями, днем и ночью, по всему миру, полностью автоматически, как нескончаемый дождь.Проблема возникла через некоторое время после того, как она работала нормально. Так почему же эта функциональность должна меняться?
Демон ssh маршрутизатора, очевидно, обслуживает сторону Интернета. (Или переадресация портов заканчивается не на сервере, а на маршрутизаторе. Но почему?) Это произошло внезапно, и вы даже не знаете, как включить порт ssh маршрутизатора.
Поскольку вы (и ваш коллега) утверждаете, что ничего не меняли (вы уверены?), следует принять во внимание один из следующих моментов:
- обновление прошивки или конфигурации маршрутизатора могло быть ошибочным.
- Специалист по обслуживанию интернет-провайдера что-то неправильно настроил.
- произошел взлом.
Я бы предположил наихудший сценарий и был бы рад, если бы он оказался ложным.
Что дальше?
Дважды проверьте, что Dropbear действительно размещен на маршрутизаторе. В зависимости от истинности этого утверждения, весь сценарий может измениться.
Если правда:
Я подозреваю, что ваш маршрутизатор и сервер были скомпрометированы (по крайней мере), и кто-то несанкционированно открыл порт SSH.
Собирать информацию
- Если вы можете и хотите провести анализ трафика, сделайте это сейчас, а затем отключите свои системы от Интернета.
- Проверьте журналы (маршрутизатора, сервера, клиентов) на предмет подозрительных записей (они могли быть изменены), особенно в тот промежуток времени, когда функционал изменился.
- Проверьте свои данные и установки.
Устранение потенциальных рисков
Было бы неплохо воспользоваться профессиональными инструментами, например, средствами проверки на наличие вредоносного ПО.
- Если вы еще этого не сделали, отключите интернет.
- Сделайте экстренное резервное копирование (не используя обычные резервные носители, а сохраняя их в автономном режиме)
- Сбросьте настройки роутера и желательно установите (переустановите) прошивку. Больше вы вряд ли сможете сделать против бэкдоров.
Вы можете скопировать конфигурацию маршрутизатора, но НЕ "сохраняйте конфигурацию" и после сброса "восстанавливайте конфигурацию из файла". Вы, возможно, повторно примените некоторые нежелательные настройки. - Подумайте, что делать с вашим сервером. Благодаря переадресации портов потенциальный хакер имел прямой контакт с ним, возможно, взломав его сначала, а затем скомпрометировав всю локальную сеть.
- Подумайте и примите решение относительно возможного риска того, что ваши клиенты могут быть скомпрометированы (включая клиента вашего коллеги!).
После перезагрузки есть над чем подумать
- Проверьте маршрутизатор на предмет открытого порта ssh на стороне Интернета и на стороне локальной сети, прежде чем применять свою персональную конфигурацию. Обязательно выясните, как это можно включить/отключить.
- Если вам требуется внешний SSH-доступ для вашего коллеги, выберите необычный порт, желательно в диапазоне от 10000 до 65535, не используя «22» в номере.
- Будьте уверены в том, что вы настраиваете. Просто действуйте"О, теперь это работает"плохая идея. — Аккуратно убирайте остатки проб и ошибок.
- Подумайте о настоящем брандмауэре, который изолирует ваши серверы, доступные в Интернете, от вашей локальной сети.
- Защитите свой сервер, так как он открыт для доступа в Интернет
- Если вам нужно использовать провайдера Dynamic DNS, не выбирайте услугу, предоставляемую производителем маршрутизатора. Это приманка для аппаратных хаков.
- Чтобы отключиться от базы данных хакера, выберите другое DNS-имя. Если у вас фиксированный внешний IP-адрес, по возможности измените его.
решение2
Проблема в том, что я не могу определить, что происходит. Мое базовое понимание в том, что модем/маршрутизатор не должен вмешиваться в пакеты, а просто передавать их, верно?
Ну, не совсем так.
Во-первых, хотя верно, что маршрутизаторыобычноне вмешивайтесь в пакеты на уровне IP или выше (кроме уменьшения IP TTL), у вас также есть NAT в дополнение к простой маршрутизации, и NAT буквально является формой «воздействия на пакеты», поскольку она включает в себя перезапись заголовков L3 (IP) и L4 (TCP/UDP). (И это еще до того, как мы перейдем к ALG, также известным как «помощники NAT» — например, маршрутизаторы фактически перезаписывают FTPкоманды и ответычтобы заставить его работать через NAT…)
Но в вашем случае дело не в пакетах, а вотсутствие таковогочто является причиной различий:
Помните, что когда вы подключаетесь извне, вы подключаетесь кмаршрутизаторыпубличный IP-адрес. Когда правило «перенаправления портов» активно (что по сути является DNAT), маршрутизатор перезаписывает поле «IP назначения» каждого пакета перед их передачей (чтобы они направлялись на внутренний IP-адрес сервера).
Когда правило «перенаправления порта»нетОднако в активном режиме ничего не перезаписывается, поэтому, если вы подключаетесь к IP-адресу маршрутизатора, вы на самом деле подключаетесь просто к… маршрутизатору.
Вполне нормально, что маршрутизатор имеет свой собственный SSH-сервер. Однако обычно внешние соединения 1) отклоняются обычными правилами брандмауэра маршрутизатора и 2) переопределяются правилом DNAT "перенаправления порта", так что маршрутизатор даже не считает их входящими. Но в вашем случае, похоже, ни одно из этих правил не работает правильно – переписывание DNAT не происходитиФильтр брандмауэра не блокирует входящее соединение.
Итак, если бы мне пришлось угадывать (основываясь на том факте, что внутренняя «петля NAT»делает(похоже, работает), это какая-то проблема конфигурации — возможно, интернет-провайдер развернул новую конфигурацию за одну ночь — из-за чего и фильтр, и правила NAT ожидают другой интерфейс в качестве «входящего интерфейса». (Например, интерфейс WAN может быть eth0.3, но правила ожидают, что WAN будет eth0.4...)
- Проверьте, исчезнет ли проблема после перезагрузки маршрутизатора или удаления и повторного добавления правила перенаправления портов.
- Проверьте, происходит ли это по-прежнему, если вы настроите перенаправление порта на другой порт, нежели обычно. (Это не решит проблему)
- Поскольку маршрутизатор заблокирован интернет-провайдером, это действительно проблема интернет-провайдера; позвоните в его техническую поддержку, попросите заменить маршрутизатор или что-нибудь в этом роде.