Доброго времени суток. Попробуем дополнить и расширить статью SSH-туннели — пробрасываем порт. Рассмотренными примерами мы убьем сразу 2 задачи:
1. Межсетевая коммуникация через промежуточный сервер, когда между сетями пути нет.
2. Создание безопасного соединения через не доверенную сеть.
Предположим, что у нас есть unix like машина в сети, с запущенным sshd.
Первый вариант создания криптотуннеля это соединение, условно которое можно назвать точка-точка. В частности, при соединении сервером на стороне клиента открывается локальный порт, обращения на который будут передаваться удаленной машине через установленный криптотуннель. Что бы было понятно рассмотрим пример:
Наша машина: IP 10.0.0.2
Сервер: IP 10.0.0.1 (внешняя сеть там же где и мы) и 192.168.0.1 (внутренняя сеть, где находится целевой хост)
Целевой хост: 192.168.0.10
Для того, что бы безопасно пройти внешнюю, не контролируемую нами сеть 10.0.0.0, мы устанавливаем соединение с сервером по следующему шаблону:
То есть
Если соединение установлено успешно, то на нашей машине открылся локальный порт 12345, при обращении на который мы попадем на веб сервер (80й порт) 192.168.0.10. Попробовать можно введя в браузере
Фактически, тем самым мы обезопасили себя от утечки информации через не безопасный канал связи и получили доступ к внутреннему ресурсу сети из вне.
Рассмотрим второй вариант. Находясь в не доверенной сети (например в Интернет кафе или чужих контролируемых сетях) мы хотим воспользоваться сервисом, который принципиально не имеет шифрования. Будь то http (конфиденциальна не только переписка, но и учетная запись), icq, pop3 или любое подобное. Для этого, мы сначала устанавливаем соединение с нашим сервером, открывая тем самым криптотуннель, и работаем уже через него. В данном случае открытый у нас локальный порт будет работать аналогично socks5. Рассмотрим установку соединения:
Как очевидно, все довольно просто. Далее уже легко настроить наши клиенты на работу через открытый socks на localhost.
В GNOME это можно сделать нажав Система-> Праметры -> Параметры прокси-сервера:
![](http://imagepost.ru/thumbs/83/Uoo3vjzFY21B_8vFNT9BusVRDdri10P_lT4yLpH0Uv2K_WZ6rCOp49HPP0R.png)
Отдельно можно легко в параметрах подключения настроить браузер, icq и многое другое.
Естественно, воспользоваться такой возможностью можно в Windows. Аналогичные соединения можно установить через клиент ssh putty:
![](http://imagepost.ru/thumbs/83/Bt92hskYV0Sw_PuTTY_Configuration.png)
Заставить в Windows работать большинство приложений через socks умеет widecap
![](http://imagepost.ru/thumbs/83/chain_list_assign.png)
И несколько советов:
1. Еще немного повысить уровень безопасности в некоторых случаях можно воспользовавшись не чужим ПО (в смысле с чужого компьютера), а используя возможность X forwarding в том же sshd. Но это отдельная тема. Скажу только что в роле X сервера в Windows может выступать Xming
![](http://imagepost.ru/thumbs/83/dbimage.phpPidR76214)
2. Не забывайте про возможность Firefox и Chrome режима приватного просмотра.
Успехов.
1. Межсетевая коммуникация через промежуточный сервер, когда между сетями пути нет.
2. Создание безопасного соединения через не доверенную сеть.
Предположим, что у нас есть unix like машина в сети, с запущенным sshd.
Первый вариант создания криптотуннеля это соединение, условно которое можно назвать точка-точка. В частности, при соединении сервером на стороне клиента открывается локальный порт, обращения на который будут передаваться удаленной машине через установленный криптотуннель. Что бы было понятно рассмотрим пример:
Наша машина: IP 10.0.0.2
Сервер: IP 10.0.0.1 (внешняя сеть там же где и мы) и 192.168.0.1 (внутренняя сеть, где находится целевой хост)
Целевой хост: 192.168.0.10
Для того, что бы безопасно пройти внешнюю, не контролируемую нами сеть 10.0.0.0, мы устанавливаем соединение с сервером по следующему шаблону:
ssh -L локальный_порт:удаленный_хост:удаленный_порт сервер
То есть
ssh -L 12345:192.168.0.10:80 192.168.0.1
Если соединение установлено успешно, то на нашей машине открылся локальный порт 12345, при обращении на который мы попадем на веб сервер (80й порт) 192.168.0.10. Попробовать можно введя в браузере
http://localhost:12345.
Фактически, тем самым мы обезопасили себя от утечки информации через не безопасный канал связи и получили доступ к внутреннему ресурсу сети из вне.
Рассмотрим второй вариант. Находясь в не доверенной сети (например в Интернет кафе или чужих контролируемых сетях) мы хотим воспользоваться сервисом, который принципиально не имеет шифрования. Будь то http (конфиденциальна не только переписка, но и учетная запись), icq, pop3 или любое подобное. Для этого, мы сначала устанавливаем соединение с нашим сервером, открывая тем самым криптотуннель, и работаем уже через него. В данном случае открытый у нас локальный порт будет работать аналогично socks5. Рассмотрим установку соединения:
ssh -D локальный_порт сервер
Как очевидно, все довольно просто. Далее уже легко настроить наши клиенты на работу через открытый socks на localhost.
В GNOME это можно сделать нажав Система-> Праметры -> Параметры прокси-сервера:
![](http://imagepost.ru/thumbs/83/Uoo3vjzFY21B_8vFNT9BusVRDdri10P_lT4yLpH0Uv2K_WZ6rCOp49HPP0R.png)
Отдельно можно легко в параметрах подключения настроить браузер, icq и многое другое.
Естественно, воспользоваться такой возможностью можно в Windows. Аналогичные соединения можно установить через клиент ssh putty:
![](http://imagepost.ru/thumbs/83/Bt92hskYV0Sw_PuTTY_Configuration.png)
Заставить в Windows работать большинство приложений через socks умеет widecap
![](http://imagepost.ru/thumbs/83/chain_list_assign.png)
И несколько советов:
1. Еще немного повысить уровень безопасности в некоторых случаях можно воспользовавшись не чужим ПО (в смысле с чужого компьютера), а используя возможность X forwarding в том же sshd. Но это отдельная тема. Скажу только что в роле X сервера в Windows может выступать Xming
2. Не забывайте про возможность Firefox и Chrome режима приватного просмотра.
Успехов.