Как подружить 911 и ssh tunnel?

Deka

Carder
Messages
30
Reputation
0
Reaction score
16
Points
8
Ответ на данный пост поможет в работе с Enroll.
 

Jollier

Professional
Messages
1,127
Reputation
6
Reaction score
1,105
Points
113
Как настроить прокси-сервер Socks с помощью туннеля SSH
Мы можем настроить прокси-сервер socks поверх туннеля SSH. Помимо общих функций прокси, таких как просмотр веб-страниц, прокси поверх туннеля SSH также обеспечивает безопасность между браузером и прокси-сервером (сервером SSH). В этом посте мы представляем и объясняем, как настроить прокси-сервер через SSH-туннель и его механизм.

Оглавление
  • Создание прокси-сервера ssh
    • 1) Прокси-сервер слушает только порт localhost
    • 2) Прокси-сервер, прослушивающий определенный IP-адрес
  • Прокси-сервер squid для перенаправления портов
  • Глобальный прокси в GNOME с NetworkManager в Linux
  • Создание и использование прокси-сервера Socks в Windows
  • Использование Socks Proxy на iOS
Начнем с простого примера. У нас есть доступ к sshd-серверу sshd_server, и мы хотим использовать его в качестве прокси-сервера socks5. Это просто с помощью ssh:
Code:
$ ssh -D 8080 username@sshd_server
или, чтобы разрешить удаленным хостам также использовать прокси socks5,
Code:
$ ssh -g -D 8080 username@sshd_server
После этого настройте браузер, например прокси-сервер Firefox, на использование прокси-сервера socks5 127.0.0.1:8080. Это оно!
Затем проверьте, является ли ваш IP-адрес прокси-сервером с точки зрения веб-сайтов.

Создание прокси-сервера ssh
Мы можем настроить более сложный прокси-сервер через ssh. Например, у нас есть sshd-сервер s2 и другой сервер s1 в качестве прокси-сервера. Затем мы можем настроить систему прокси-сервера с использованием туннеля ssh. s1 будет действовать как прокси-сервер, а s2 подключается к поставщику услуг (s3). Систему в целом можно представить так:
Code:
c0:p0 <--> s1:p1 <==> s2:p2 <--> s3
Возможно, в большинстве случаев c0 и s1 - это те же машины, что и в простом примере в начале сообщения.
Использование ssh в качестве прокси для просмотра веб-страниц очень полезно в некоторых ситуациях: ограничение локального доступа, например, за строгим брандмауэром в какой-либо стране, компании или учебном заведении; Вы находитесь в небезопасной сетевой среде, пока хотите войти в свою учетную запись.
Теперь давайте посмотрим, как настроить прокси с помощью туннеля ssh. При этом используется «динамическая» функция переадресации портов ssh с использованием параметра «-D». ssh выделяет сокет для прослушивания порта на локальной стороне, необязательно привязанный к указанному IP-адресу. При каждом подключении к этому порту оно пересылается по каналу ssh, а затем используется протокол приложения, чтобы определить, куда подключиться с удаленного компьютера.

1) Прокси-сервер слушает только порт localhost
Этот прокси-сервер можно использовать только на localhost, что означает, что другие пользователи не могут его использовать. c0 и s1 на графике выше - это одна и та же машина.
Команда такая:
Code:
$ ssh -D p1 username@sshd_server
p1 - это порт на локальном хосте. Любой порт больше 1024 может быть выбран как p1. После настройки этого прокси-туннеля установите для параметра прокси в браузере значение 127.0.0.1:p1 и используйте socks5. Тогда дело сделано. Наслаждайтесь сейчас :).

2) Прокси-сервер, прослушивающий определенный IP-адрес
Такой прокси-сервер может предоставлять услуги другим пользователям. Пользователи (и, конечно, вы сами) могут использовать этот прокси socks5 с адресом s1_ip и портом p1.
Команда такая:
Code:
$ ssh -D s1_ip:p1 username@sshd_server
Эта команда устанавливает прокси-сервер socks5 на s1. Адрес прокси: s1_ip: p1 .
* Некоторые полезные аргументы ssh

Есть еще несколько аргументов ssh, которые могут сделать переадресацию портов более удобной для нас:
Code:
-C Запрашивает gzip-сжатие всех данных
-T Отключить выделение псевдо-tty
-N Не выполнить удаленную команду. Это является полезным для всего переадресации портов.
-f просит SSH, чтобы перейти на фоне только что перед тем выполнением команды.
-n Перенаправляет stdin из / dev / null (фактически предотвращает чтение из stdin).
-q Тихий режим. Причины наиболее предупреждения и диагностические сообщения, чтобы быть подавлены.

Эти аргументы можно использовать с -D для различных целей. Мне нравится использовать эту комбинацию:
Code:
$ ssh -CnfND 8080 username@sshd_server

Когда я хочу закрыть туннель прокси-сервера ssh, мне нужно найти его pid с помощью
Code:
$ ps aux | grep ssh
а затем убить его.

Или пусть запускается в оболочке:
Code:
$ ssh -CTND 8080 username@sshd_server

Вы также можете настроить его для прослушивания всех адресов на хосте:
Code:
$ ssh -D "*:8080" username@sshd_server

Прокси-сервер squid для перенаправления портов
Этот пост в основном посвящен использованию ssh для построения прокси-системы. Но соединение между клиентом и другим прокси-сервером, таким как squid, также может использовать ssh-туннель. Я привожу здесь только простой пример, а более подробную информацию о переадресации портов ssh можно найти в теме «Переадресация портов с использованием ssh tunnel». Например, прокси-сервер и порт - это прокси:порт. Теперь мы можем перенаправить на него порт 8080 на локальном хосте следующим образом:
Code:
$ ssh -L 8080:proxy:port username@sshd_server

Глобальный прокси в GNOME с NetworkManager в Linux
Если вы используете Linux с NetworkManager, очень удобно настроить глобальный прокси-сервер GNOME для использования прокси-сервера socks, созданного SSH.
2013-08-05-9877-gnome-global-proxy.png


Прокси-сервер с использованием SSH-туннеля в Windows
Механизм похож на тот, что описан с «Прокси-сервером, прослушивающим только порт localhost».
  • Настройте PuTTY и создайте туннель SSH
  • Настройте свои программы для использования прокси
PuTTY - это программное обеспечение, которое мы используем здесь для переадресации портов. Загрузите его.

Настройте PuTTY и создайте туннель SSH
Скачайте PuTTY. Сначала введите имя пользователя и имя хоста, как показано на следующем рисунке. В качестве примера мы используем "[email protected]" на порту 22. Вы можете ввести только хост, и PuTTY запросит имя пользователя.
Putty-host.png


Во-вторых, установите динамическую переадресацию портов, как показано на следующем рисунке. Здесь мы используем порт 8080 в качестве локального прокси-порта.
Putty-port-forwarding.png


После нажатия кнопки «добавить» вы должны увидеть конфигурацию, показанную на следующем рисунке.
Putty-tunnel.png


Наконец, нажмите кнопку «Открыть», чтобы подключиться к серверу SSH. PuTTY спросит у вас пароль. После успешного подключения PuTTY к серверу туннель SSH готов.
Вы также можете сохранить свои конфигурации как сеанс, вернувшись в окно «Сеанс» и сохранив сеанс перед последним шагом, чтобы ваши конфигурации можно было повторно использовать, и вам не нужно было устанавливать их каждый раз.

Настройте свои программы для использования прокси
Теперь вы можете настроить свои программы в Windows, такие как Internet Explorer и Chrome, на использование прокси-сервера socks:
Code:
localhost:8080

Пример конфигурации Internet Explorer (он также используется в Chrome) показан на следующем рисунке.
Windows-proxy.png


Как настроить iOS для использования прокси-сервера Socks через SSH с хостом Linux / Unix
Socks-прокси, очень хорошо работает как в Linux, так и в Windows. Однако, когда я пытаюсь настроить свой iPhone и iPad с iOS, я обнаруживаю, что iOS не поддерживает прокси-сервер socks в интерфейсе настроек. Я не знаю, почему он не добавляется, хотя прокси-сервер socks действительно поддерживается операционной системой iOS. В этом посте рассказывается, как настроить iOS для использования прокси-сервера socks, созданного туннелем SSH.
Здесь мы предполагаем, что вы уже настроили один прокси (следовательно, вам нужен один хост Linux или Unix или другие, на которых вы можете настроить SSH-прокси, прослушивающие общедоступные IP-адреса), который прослушивает IP-адрес, который может быть подключен устройством iOS. .
Одна из типичных конфигураций может заключаться в том, что и хост Linux, и устройство iOS подключены к той же сети Wi-Fi, к которой подключено ваше устройство iOS. Предположим, что адрес и порт прокси-сервера socks через SSH-туннель proxy_host:proxy_port. Таким образом, вам нужно
  • Устройство iOS подключить к Wi-Fi.
  • Хост Linux / Unix подключается к тому же Wi-Fi для настройки прокси-сервера socks через SSH.
  • Веб-хост для размещения вашего собственного файла PAC. Один в вашей локальной сети тоже подойдет.
Вам нужны дополнительные хосты и конфигурации. Преимущество заключается в том, что прокси-сервер, предоставляемый хостом Linux / Unix, очень надежен и стабилен.

Подготовить файл PAC на хосте
Вам понадобится файл автоматической настройки прокси (PAC), чтобы настроить iOS для использования прокси-сервера socks. Файл PAC - это текстовый файл, который содержит следующее содержимое:
Code:
function FindProxyForURL(url, host)
{
return "SOCKS proxy_host:proxy_port";
}

Здесь вам нужно заменить proxy_host:proxy_port настройку прокси-сервера.
Вам понадобится веб-сервер для размещения файла PAC. Один в вашей локальной сети или один, подключенный к Интернету, оба подходят. Для этого есть много вариантов. Вы можете настроить свой собственный веб-сервер, использовать Dropbox, выбрать общий хостинг-сервер или использовать github.
Здесь, в этом руководстве, мы предполагаем, что этот файл PAC имеет имя proxy.pac и хранится по адресу http://www.my-server.com/proxy.pac.

Настройте устройство iOS для использования прокси-сервера socks
Теперь мы можем настроить iOS на использование прокси-сервера socks, указав его на файл PAC.
В iOS перейдите в «Настройки» -> «Wi-Fi» и щелкните синюю стрелку вправо справа от беспроводной сети, выберите «Авто» в разделе «HTTP-прокси» и заполните URL-адрес файла PAC (http://www.my-server.com/proxy.pac в нашем примере).
К настоящему времени вы настроили свое устройство iOS для использования прокси-сервера socks через туннель SSH. Проверьте и вы уже должны были быть за прокси.
 

Teacher

Professional
Messages
2,673
Reputation
9
Reaction score
688
Points
113
Proxy over SSH tunnel плагин
Плагин "Proxy over SSH tunnel" (рус. прокси через SSH туннель) позволяет вам подключаться к SOCKS прокси через SSH сервер.

В целом, SSH (англ. Secure Shell - «безопасная оболочка») используется для удалённого управления операционной системой и туннелирования TCP-соединений. Однако, вы можете использовать ваш SSH сервер в качестве SOCKS прокси. Трафик проходит через SOCKS прокси и затем SSH сервер направляет трафик через SSH соединение - так называемое SSH туннелирование.

Крупнейшее преимущество в использовании SSH туннеля вместо обычных HTTP или SOCKS прокси заключается в том, что SSH туннель легко настраивается и не требует никаких дополнительных установок на стороне сервера. Также SSH туннели шифруют весь ваш трафик, что даёт большую безопасность вашим данным. Однако, в отличие от прокси, найти хороших провайдеров SSH туннелей довольно-таки сложно.

Для использования SSH туннелирования в Индиго, вам понадобится:
  • Хост (адрес) и порт SSH сервера
  • Логин и пароль для SSH сервера

Как только у вас имеются все приведённые выше данные, вы можете приступать к настройке:
  1. Введите хост и порт сервера в формате хост:порт (Пример: 123.151.215.241:241)
  2. Введите логин и пароль в соответствующие поля
Чтобы использовать SSH плагин на операционных системах Windows Server, нужно включить "режим разработчика" в настройках Windows и перезапустить ПК.
image-png


Рестарт SSH подключения из браузера
Рестарт SSH подключения доступен в версиях 3.2 и выше.

Часто бывает так, что SSH подключение теряется в середине работы с сессией. "Restart SSH" позволяет переподключиться с помощью лишь одного клика.
  1. Нажмите Indigo кнопку в правом верхнем углу профиля
  2. Нажмите “Restart SSH
 
Top