Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: К SSH из другой подсети!  (Прочитано 6860 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iveg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
К SSH из другой подсети!
« : 20 Марта 2012, 10:43:18 »
Добрый день!
Комп А <-> Шлюз А <-> VPN over Internet <-> Шлюз Б <-> Комп Б. Между сетями никаких натов, разрешено все. По ssh к Комп А из своей сети подключается. Также подключается с Комп Б при пробросе порта на шлюзе. Напрямую с Комп Б к Комп А не получается. В логе: Mar 20 10:36:25 user sshd[7061]: Did not receive identification string from 192.168.1.18

Что и где прописать, чтобы ssh принимал подключения из других подсетей?

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #1 : 20 Марта 2012, 10:54:29 »
В конфиге sshd (/etc/ssh/sshd_config), но это тебе не поможет, по-умолчанию там разрешены все подключения.
Ты ведь сам понимаешь, дело-то не в sshd ибо
Цитировать
Также подключается с Комп Б при пробросе порта на шлюзе.
Т.е всё таки NAT есть. И что за шлюзы, я так понимаю, должны догадаться форумчане (может у кого-то всё-таки сорался libastral).
Я тебе все же предлагаю более подробно описать твою сеть.
OpenWrt 19.07

Оффлайн iveg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #2 : 20 Марта 2012, 17:02:01 »
Нету там ната. При пробросе порта шлюз подменяет адрес источника своим внутренним адресом (DNAT) и Комп А думает что пакет пришел из его подсети. В случае же попытки соединения напрямую от Комп Б(192.168.1.18) к Компу А(192.168.0.15) он принимает пакет (Mar 20 10:36:25 user sshd[7061]: Did not receive identification string from 192.168.1.18), но так как он из другой подсети то не знаю чего он делает, но соедениться не дает. Кстати пинги между ними прекрасно ходят, telnet на 25 порт прекрасно подключается.

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #3 : 21 Марта 2012, 00:20:52 »
Т.е всё таки NAT есть. И что за шлюзы, я так понимаю, должны догадаться форумчане (может у кого-то всё-таки сорался libastral).
Не, у меня точно не собралась. Так что хотелось бы все-таки реальных данных: шлюзы, правила и т.д.

Оффлайн iveg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #4 : 21 Марта 2012, 09:30:00 »
Шлюзы виндовые, ISA Server, VPN site-to-site. Если поможет: Network rule между сетями - route, wirewall rule - All outbound traffic. ISA c пакетами ничего не делает, только маршрутизирует. А вот Ubuntu отфутболивает ssh, на стороне клиента пишет:ssh_exchange_identification: read: Connection reset by peer. Да и на стороне сервера видно что пакеты до него доходят (писал ранее). Так что шлюзы здесь не причем.

Оффлайн skytrain

  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #5 : 18 Декабря 2014, 14:58:53 »
АП.

Есть у кого что либо сказать по этому вопросу.
Ситуация аналогичная.
Подсети шлюзует OpenVPV.
Маршруты ровные. Пакеты ходят.
Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #6 : 18 Декабря 2014, 15:39:16 »
В аналогичной ситуации требования к информации аналогичные, как и к первичной:
хотелось бы все-таки реальных данных: шлюзы, правила и т.д.

Оффлайн skytrain

  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #7 : 18 Декабря 2014, 16:15:01 »
Да. Именно так. Требования те-же. Шлюз OpenVPN в режиме бриджа.

Я решил так.
На  ВПН шлюзе сети Б
Что-бы sshd видел в качестве отправителя адрес своей сети.
sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 22 -j MASQUERADE
Та-же песня и с VNC.
sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 5900 -j MASQUERADE

Я думаю что дело в самих протоколах. А не в шлюзе. (А может и в шлюзе)
Скорее всего из соображений безопасности длину маршрута соединения для удаленного администрирования ограничили до одного прыжка. Видимо для защиты от какой-то сетевой атаки. Либо шлюз обрывает соединения тем самым защищая свои машины от атак , либо протоколы защищают себя сами.

Во всех других случаях (при подключении из инета по проброшенному порту) трафик идет через нат. И для SSHD пакеты с шлюза своей сети считаются доверенными.
И если грамотно.... то между сетями должен быть межсетевой экран в любом случае. Если его нет, то это в любом случае плохо.
 
Но все-таки интересно.... Как это отключить? Так.. для развития и кругозора.
Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #8 : 18 Декабря 2014, 16:21:37 »
Вообще-то это было предложением предоставить хоть какую-то техническую информацию о конфигурации сети.

Пользователь решил продолжить мысль 18 Декабря 2014, 16:25:42:
Скорее всего из соображений безопасности длину маршрута соединения для удаленного администрирования ограничили до одного прыжка.
А ничего, что NAT и TTL две разные песни и друг друга не задевают?
« Последнее редактирование: 18 Декабря 2014, 16:25:42 от fisher74 »

Оффлайн skytrain

  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #9 : 18 Декабря 2014, 16:41:41 »
Сеть А 192.168.3.0/24
(Нажмите, чтобы показать/скрыть)
Фаервол
В шлюз 192.168.3.246 никакой трафик не блокируется.

Сеть Б 192.168.1.0/24
(Нажмите, чтобы показать/скрыть)
Фаервол
(Нажмите, чтобы показать/скрыть)



Пользователь решил продолжить мысль [time]18 Декабрь 2014, 17:45:51[/time]:
Цитировать
Скорее всего из соображений безопасности длину маршрута соединения для удаленного администрирования ограничили до одного прыжка.

А как еще рациональнее объяснить такое поведение? Аутенитификация проходит только от клиентов СВОЕЙ доверенной сети. И это факт... по моему.

Ну черт с этим SSH... но VNC почему ведет себя так-же?
« Последнее редактирование: 18 Декабря 2014, 17:00:28 от skytrain »
Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #10 : 18 Декабря 2014, 17:24:27 »
sudo iptables -L -v -t nat
Пользователь решил продолжить мысль 18 Декабря 2014, 17:26:19:
А как еще рациональнее объяснить такое поведение? Аутенитификация проходит только от клиентов СВОЕЙ доверенной сети. И это факт... по моему.
Это факт притянутый за уши. С какого адреса подключение фиксируется?
« Последнее редактирование: 18 Декабря 2014, 17:26:19 от fisher74 »

Оффлайн skytrain

  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #11 : 18 Декабря 2014, 17:53:34 »
(Нажмите, чтобы показать/скрыть)


Цитировать
С какого адреса подключение фиксируется?
Плохо понял вопрос..
Аутентификация на SSH сервере проходит только от клиентов доверенной (своей) сети.
В случае с правилами выше, при подключении из другой подсети, выхлоп tcpdump сервера SSH выглядит так
(Нажмите, чтобы показать/скрыть)
ГДЕ 192.168.1.3 - адрес eth0 на шлюзе сети Б
192.168.1.41 - Адрес сервера SSH.

А вот если правила iptables убрать, то до сервера доходит только 2 ssh пакета c РЕАЛЬНЫМ АДРЕСОМ ОТПРАВИТЕЛЯ и подключение разрывается.
Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #12 : 18 Декабря 2014, 18:02:28 »
Плохо понял вопрос..
grep sshd /var/log/auth.log | tailбез тех правил.

Кстати, погуглил... скорее всего с ssh придётся применять маскарадный костыль. Видимо openssl не терпит себя же внутри тоннеля... Но это уже мои догадки.
С VNC видимо такая же беда. Не уверен (просто не интересно), но шифрование вроде так же openssl использует.

Пользователь решил продолжить мысль 18 Декабря 2014, 18:11:52:
А ещё... можно глянуть конфиги OpenVPN?
« Последнее редактирование: 18 Декабря 2014, 18:11:52 от fisher74 »

Оффлайн skytrain

  • Участник
  • *
  • Сообщений: 162
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #13 : 18 Декабря 2014, 18:26:57 »
Такой ход конем я думаю отразит суть.
(Нажмите, чтобы показать/скрыть)
Цитировать
Видимо openssl не терпит себя же внутри тоннеля
Не знаю. Если-б оно так было, то маскарадинг бы не помог 100%. Ибо в тонель инкапсулируется все под ряд. Он для того и VPN.

 
Цитировать
ssh придётся применять маскарадный костыль
Ну зачем так грубо... костыль...
Думаю это лишний раз натолкнет админов на умную мысль об организации нормальных межсетевых экранов. Даже в формате внутренних ЛВС.
Вирусни в корпоративном секторе станет еще меньше.



Не пытайся убежать от себя и от пули. Умрешь уставшим...

Оффлайн shyatan007

  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: К SSH из другой подсети!
« Ответ #14 : 18 Декабря 2014, 18:38:31 »
Попробуйте сделать трасировку по порту ssh с  хоста к серверу и обратно
sudo traceroute -Tp 22 xx.xx.xx.xx

 

Страница сгенерирована за 0.025 секунд. Запросов: 21.