Содержание
Не знаю, как вам, а мне лично данная фича SSH оказалась очень полезна, хотя я только недавно взял её на вооружение. Если кто-то ещё не знал, что так можно – прошу читать и просвещаться. Надеюсь, кому-то тоже пригодится.
Суть туннелирования
Суть в том, что мы можем создать разновидность туннеля внутри созданной SSH-сессии и трафик будет передаваться в шифрованном виде как будто в трубе. Принцип возможно понятен будет из картинки (честно стыреной с Интернета):
Удалённый клиент устанавливает соединение с SSH-сервером на границе корпоративной сети. Затем он, по установленному соединению, может обращаться к внутренним узлам сети так, как если бы он был этим самым SSH-сервером. Здесь можно увидеть параллели VPN и NAT-технологий. Давайте подумаем над сценариями использования:
Сценарий 1. Устранение неполадок внутри сети удалённо
Как-то раз я столкнулся с тем, что в сети что-то пошло не так с гипервизором VMWare ESXi, а я при этом находился дома. Разумеется, в целях безопасности, доступ к консоли гипервизора был организован только с внутренних узлов сети. У меня было несколько вариантов:
- Скорее бежать на работу. Было чрезвычайно ранее время и я очень не хотел этого делать.
- Подключиться удалённо к шлюзу, совмещающему функции межсетевого экрана, добавить правило форвардинга в файрволл, пробросить себя дальше вглубь сети. Но это создаст некую “дверь” в защите, которую потом желательно бы не забыть убрать.
- Подключиться удалённо к шлюзу и внутри этой сессии прыгнуть со шлюза дальше, прописав правило туннелирования. Делается это так:
В конфигурации PuTTY в разделе “Connection -> SSH -> Tunnels” добавим незанятый порт источник и адрес гипервизора:порт назначения, тип выберем “Local” и нажмём кнопку “Add”.
PuTTY начнёт прослушивать этот локальный порт, в этом нетрудно убедиться выполнив команду netstat -abn с правами Администратора:
Теперь откроем в браузере адрес 127.0.0.1:12345 и …. попадём на страничку гипервизора:
Когда решим все проблемы – просто разрываем SSH-сессию и всё, никаких изменений в межсетевом экране подправлять не придётся. При желании можно прокинуть не один порт, а несколько. И не на один сервис, а на разные, хоть на RDP, хоть на веб, хоть на SSH до внутреннего оборудования.
Сценарий 2. Защита административных интерфейсов.
Чтобы не городить с множеством файрволлов, можно сделать вот какую тему:
- Поднять один SSH-сервер в сети, защитить его как следует – файрволл, PortKnocking, авторизация по ключам – не важно, главное, чтобы он был один. Один сервер защитить всегда проще;
- Для всего остального “админского” царства задать доступ только с этого адреса. Не нужно прописывать все айпишники админов, если их несколько. Только один адрес для управления. Можно даже экзотический порт, чтоб наверняка;
- С целью администрирования подключаться по SSH на этот сервер, затем через туннель нырять дальше, куда хочешь. Хочешь – на циску, хочешь – на гипервизор, хочешь – на другой сервер по RDP.
Главное, что этот стартовый сервер может быть нормально защищён (SSH), а также будет вести логи – кто откуда к нему цеплялся и куда прыгал.
Эти сценарии не единственно возможные, можно придумывать различные комбинации и вариации! Но без сомнения, данный инструмент в копилке админа будет наверняка нужным!
Comments: