- Установка и настройка Dante SOCKS5 Proxy сервера на Ubuntu 18.04 LTS [годная инструкция по обходу блокировки мессенджера Telegram (и др сайтов) Роскомнадзором]
- SOCKS сервер Dante Server
- Шаг 1. Установка:
- Шаг 2. Основные настройки
- Шаг 3. Логины/пароли
- Шаг 4. Запуск.
- Можно пользоваться!
- Шаг 5. Безопасность.
- Установка прокси сервера SOCKS5 и Shadowsocks
- Автоматическая установка сервера SOCKS5
- Автоматическая установка сервера Shadowsocks в Debian 7/10, Ubuntu 14.04/18.04
- Использование HTTP proxy и SOCKS в Linux
- curl: передача данных через proxy
- wget: закачка файлов через proxy
- ssh: доступ к серверам
- Соксификатор dante
- DNS запросы через proxy
- Создание и настройка SOCKS5 прокси сервера в Ubuntu
- SOCKS через SSH
- Установка SOCKS сервера
- Установка новой версии Dante Server
- Установка старой версии Dante Server
- Как настроить прокси-сервер SOCKS в Linux
- Использование SSH
- Использование программы Microsocks
Установка и настройка Dante SOCKS5 Proxy сервера на Ubuntu 18.04 LTS [годная инструкция по обходу блокировки мессенджера Telegram (и др сайтов) Роскомнадзором]
Вспомнилась цитата с одно ещё не заблокированного интернет-ресурса:
— Скоро и на сковородку придется VPN ставить =/
— Главное, чтобы на унитаз не пришлось, а то пошёл посрать, а унитаз заблокирован.
— Придется срать через Нидерланды.
SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от «SOCKet Secure». SOCKS не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня.
Socks — это о-о-о-очень старый протокол. Вышел в свет аж в 1992-м году. Ясен пень, что в те далёкие времена ни о каком SSL никто ничего не слышал. Поэтому данные, в том числе логины и пароли на подключение к серверу всегда передаются открытым текстом. Далее, подняв такой прокси и передав доступ к нему всем желающим, вы несколько рискуете. Ведь если Вася подключится браузером или скайпом к вашему проксе, а потом сделает что-то нехорошее, то прилетит по шапке именно вам. Поэтому имеет смысл ограничивать сети с/на которые можно ходить, а также закрываться паролями. Правда, последнее тоже не является панацеей (см. выше).
Кстати о прокси серверах и авторизации. У человека из интернетов дошли руки исследовать эту тему, на которую обратили внимание в одной статье на geektimes (ее правда уже удалили), что даже при условии того, что вы укажете шелл /usr/sbin/nologin, это не спасает вас например от фишки ssh проброса портов. Вам не обязательно нужен шелл, чтобы, например, создать свой сокс сервер на чужом сокс сервере.
ssh -N -D 1337 user@host
Cпасибо ребятам, которые подсказали про ключ -N.
Ну и в дополнение, кроме -D вполне можно использовать и ключи -L -R, что потенциально поможет вам пробросить себя в сеть за уязвимым прокси-сервером или достучаться до служб, висящих на локалхосте.
Хотя этот протокол разработан достаточно давно, он является относительно новым (по сравнению с HTTP proxy). SOCKS позволяет работать с любыми (версия Socks 4 — с TCP, Socks 5 — с TCP и UDP) протоколами. SOCKS proxy просто передает данные от клиента к серверу, не вникая в содержимое самих данных (поэтому он может работать с HTTP, FTP, SMTP, POP3, NNTP, etc.).
SOCKS сервер Dante Server
Dante — это только SOCKS сервер. Если дополнительно нужна поддержка HTTP-прокси, то используйте 3proxy.
Свежая версия Dante в Ubuntu появилась только в версии 18.04. Если у вас 16.04 или 14.04, то вам пригодится статья по самостоятельной сборке deb пакета — https://bvn13.tk/posts/dante-server-on-ubuntu-16-04-lts или https://bvn13.tk/posts/dante-server-on-ubuntu-16-04-lts
Шаг 1. Установка:
При старте возможно появится ошибка, это, увы, нормально, её можно пропускать:
Шаг 2. Основные настройки
Конфигурационный файл расположен в по адресу: /etc/danted.conf
Ниже представлена типовая конфигурация:
Подробнее об уровнях логированиях на сайте Dante смотрите в разделе Server logging
Уже сейчас можно попробовать запустить сервис без пароля командой sudo service danted start Но для этого в конфигурационном файле должна быть разрешена работа без пароля: socksmethod: none
Шаг 3. Логины/пароли
Добавим нового пользователя proxy_user_01 для работы с SOCKS сервером.
При этом у пользователя не будет доступа к SSH, т.к. в качестве шелла указан nologin.
Шаг 4. Запуск.
Добавляем сервис в автозагрузку и запускаем его:
Прокси будет работать по ip вашего сервера и порт, который был указан в файле конфигурации (1080 — стандартный порт). Если у вас на сервере не висят https сайты или вроде того, то настоятельно рекомендую поменять порт, например на 443.
Можно пользоваться!
Шаг 5. Безопасность.
Вместо системных пользователей можно и нужно использовать PAM файл с логинами и паролями (аналог htpasswd).
Для этого необходимо дополнительно установить пакет libpam-pwdfile:
И после этого в конфигурационном файле/etc/danted.conf заменить строку:
В файл /etc/pam.d/sockd добавляем:
Используя mkpasswd (входит в состав пакета whois)
Логин и зашифрованный пароль следует теперь добавить в файл: /etc/dante.passwd
Можно воспользоваться онлайн сервисом генерации строки логина-пароля: https://www.mkpasswd.net/index.php (выбрав type:crypt-md5) или любым другим, но не стои забывать о том, что такие сервисы могут сохранять ваш логин и пароль у себя, в том числе и нехешированными! 🙂
p.s.: стоит обратить внимание на то, что тип для md5 должен быть $1, а используемый в htpasswd md5 APR не поддерживается. Т.е. вы не сможете сгенирировать правильный пароль при помощи утилиты htpasswd!
Имя PAM сервиса используемое Dante по умолчанию sockd. Так же, если вы хотите использовать файл конфигурации libpam_pwdfile от другого настроенного сервиса, либо использовать несколько конфигураций, вы можете воспользоваться директивой pamservicename в конфигурационном файле Dante. Пример использования:
Источник
Установка прокси сервера SOCKS5 и Shadowsocks
SOCKS – сетевой протокол, с помощью которого можно пересылать данные от клиента к серверу. По сравнению с HTTP-прокси-серверами, SOCKS5 передает все пакеты от клиента, не добавляя ничего от себя.
Shadowsocks – прокси-проект с открытым исходным кодом. Весьма популярен в Китае для обхода государственной цензуры.
Автоматическая установка сервера SOCKS5
Скрипт поддерживает автоматическую установку и настройку в операционных системах Ubuntu 16.04, 18.04, CentOS 7 и Oracle Linux 7.5.
Для SOCKS5 используется улучшенная система безопасности с использованием PAM файлов для авторизации.
Предварительно установим инструмент curl:
Скрипт автоматически сгенерирует пароль.
Если вы хотите предварительно вручную внести свой пароль и порт, то выполните следующие действия:
Затем продолжим установку:
Где mypass является вашим паролем.
По окончанию работы скрипт отобразит созданные данные для подключения по протоколу SOCKS5.
Автоматическая установка сервера Shadowsocks в Debian 7/10, Ubuntu 14.04/18.04
Делаем его исполняемым:
Во время установки будет предложено добавить свой пароль.
А также предложат выбрать тип шифрования и включить протокол TCP.
Так же как и предыдущий скрипт, по окончанию создания сервера shadowsocks будет отображена информация для подключения.
Приложения-клиенты для подключения по протоколу Shadowsocks: shadowsocks clients.
Источник
Использование HTTP proxy и SOCKS в Linux
В Linux существует много полезных консольных команд, которые при необходимости хотелось бы запустить через proxy. Некоторые приложения имеют встроенную поддержку proxy, а некоторые нет. Далее описано как пользоваться востребованными утилитами через proxy, даже теми, которые этой поддержки не имеют.
curl: передача данных через proxy
curl имеет полноценную поддержку как HTTP proxy так и SOCKS.
Для тестирования возможно использовать proxy сервера из бесплатных списков (socks — sockslist.net, и HTTP proxy — proxyhttp.net). Проверка IP адреса будет производиться с помощью ресурса check-host.net
Часть параметров curl можно записать в файл
С помощью time и curl также можно замерить время отклика сервера:
Результат будет выглядеть так:
wget: закачка файлов через proxy
wget имеет встроенную поддержку proxy. Недостаток лишь в том, что только поддержку HTTP proxy. Для использования совместно с SOCKS рекомендуется использовать соксификатор dante.
Чтобы все время не указывать —proxy-user и —proxy-password можно их прописать в файл
ssh: доступ к серверам
Для доступа к серверам через ssh и proxy также лучше использовать соксификатор dante.
Соксификатор dante
С помощью socksify можно направить через proxy почти любое приложение, не только консольное.
Чтобы все время не вводить данные о proxy можно создать файл /etc/socks.conf
Пример для SOCKS:
Пример для HTTP proxy с авторизацией:
А также экспортировать переменные SOCKS_USERNAME и SOCKS_PASSWORD, если для SOCKS или HTTP proxy требуется авторизация:
DNS запросы через proxy
Часто требуется чтобы и преобразование имен происходило через proxy. Если использовать dante, то запрос на преобразование имен идет и через proxy, и через именной сервер указанный в /etc/resolv.conf . Понять почему же идет два одинаковых запроса вместо одного не удалось. Поэтому можно предложить два варианта:
1) Закомментировать именные сервера в файле /etc/resolv.conf, чтобы преобразование имен шло только через proxy. Это отразится на всей системе.
2) Изменить /etc/resolv.conf и выставить именные сервера необходимой страны, или просто отличные от серверов провайдера. Например установить сервера Google:
Чтобы данные не были перезаписаны именными серверами провайдера (при переподключении), можно запретить обновление списка именных серверов сетевому менеджеру (NetworkManager/wicd) или DHCP-клиенту (спасибо ergil за корректировку).
Или воспользоваться «грубым» методом — запрещением изменения файла /etc/resolv.conf:
Если есть какие-то дополнения, пожалуйста, напишите, это будет полезно узнать и применить.
Источник
Создание и настройка SOCKS5 прокси сервера в Ubuntu
Для ускорения работы с некоторыми программами и парсерами, которые я использую, требуются прокси, сначала я арендовал их, но потом решил поднять свои SOKS5 прокси сервера на уже имеющихся серверах с сайтами.
На всех серверах стоит Ubuntu Server 14.04, может где-то и 12.04, но описание должно подойти и для всех остальных систем основанных на Debian.
Есть 2 известных мне способа организации работы SOKS5 сервера:
- SOCKS через SSH. Этот способ удобен своей простотой но неудобен при частом использовании, или использовании с разных машин;
- Установка SOCKS сервера. При использовании этого способа уйдет чуть больше времени на первоначальную настройку, но потом пользоваться прокси будет быстрее и удобнее.
SOCKS через SSH
Для того чтоб поднять SOCKS5 через SSH нужен только доступ к SSH сервера.
Вводим в терминале или SSH клиенте (PuTTY для Windows)
Если запросит пароль, то нужно ввести пароль от SSH сервера.
-D – указывает порт по которому будет доступен SOKS5 сервер
Все, после этого вы можете подключиться к SOKS5 серверу по адресу localhost:1080 или 127.0.0.1:1080
Такой способ удобен тем что не нужно ничего дополнительно устанавливать и настраивать. Но перед каждым подключением или после разрыва ssh соединения, например из-за проблем с интернетом придется заново вводить эту команду.
Установка SOCKS сервера
Я знаю 2 SOCKS сервера 3proxy и Dante. У себя использовал Dante Server его настройку и опишу.
Установить Dante сервер можно с помощью apt-get, по умолчанию устанавливается старая версия (v.1.1). Ниже будут настройки для старой и новой (v.1.4) версий.
Установка новой версии Dante Server
После этих действий Dante Server будет установлен, но ругнется и не сможет запуститься, видимо дефолтные настройки имеют ошибку.
Далее нужно отредактировать файл настроек
Приведя его к такому виду
- указываем лог файл который будет находиться по адресу /var/log/danted.log;
- eth0 — сетевой интерфейс на котором висит внешний IP сервера, узнать его можно воспользовавшись командой ifconfig, либо можно просто указать свой внешний IP вместо названия интерфейса;
- порт для SOKS5 прокси – 1080;
- socksmethod — метод авторизации. username — авторизация с указанием логина и пароля системных пользователей. Можно указать none если вы хотите не использовать авторизацию, но не советую оставлять открытым для порт для прокси т.к. сканеры прокси не дремлют, и у меня через открытый порт начали спам рассылать, после чего мне хостер отписал что у моего IP идет спам и надо что-то решать, можно использовать не дефолтный порт а какой-то другой, это позволит отсрочить нахождения вашего прокси сканерами;
- user.privileged — имя пользователя с расширенными правами;
- user.unprivileged — имя пользователя с обычными правами (как я понял dante работает от имени этих пользователей в зависимости от того какими правами нужно обладать для выполнения операции).
После сохранения настроек нужно перезагрузить Dante
Все, теперь к SOKS5 прокси можно подключиться с любого устройства, указав IP сервера, порт – 1080, и данные для авторизации (имя и пароль пользователей которые зарегистрированы на сервере).
Я для доступа к прокси создал отдельного пользователя и указываю его данные. Создавал командой
Где soksuser – имя создаваемого пользователя.
Установка старой версии Dante Server
Далее нужно отредактировать файл настроек
Приведя его к такому виду
Дальше все так-же как и в новой версии о которой я писал выше.
Источник
Как настроить прокси-сервер SOCKS в Linux
Главное меню » Сервера » Как настроить прокси-сервер SOCKS в Linux
Использование SOCKS – это инструмент обхода ограничений, позволяющий трафику обходить интернет-фильтрацию для доступа к контенту, который в противном случае блокируется, например, правительствами, рабочими местами, школами и веб-службами конкретных стран.
Если вам нужен надежны прокси-сервер, то купить прокси можно на сервисе proxys.io. Безопасные и анонимные прокси-сервера, высокопроизводительные и высокоскоростные каналы обслуживания.
Использование SSH
Прокси-серверы SOCKS можно создавать без какого-либо специального программного обеспечения Socks proxy, если на вашем сервере установлен открытый SSH и на вашем клиентском компьютере установлен SSH-клиент с поддержкой динамического туннелирования.
Теперь введите свой пароль и убедитесь, что окно терминала открыто. Теперь вы создали прокси-сервер SOCKS на localhost: 1080. Закройте это окно только в том случае, если вы хотите отключить локальный прокси-сервер SOCKS.
Использование программы Microsocks
MicroSocks – это многопоточный, небольшой, эффективный сервер SOCKS5.
Он очень легкий, и очень легкий на ресурсы тоже:
для каждого клиента создается поток с размером стека 8 КБ. основной процесс в принципе не потребляет никаких ресурсов вообще.
единственными ограничениями являются количество файловых дескрипторов и объем оперативной памяти.
Он также разработан, чтобы быть надежным: он изящно справляется с истощением ресурсов, просто отказывая в новых соединениях, вместо вызова abort (), как это делает большинство других программ в наши дни.
еще один плюс-простота использования: нет необходимости в конфигурационном файле, все можно сделать из командной строки и даже не нужно никаких параметров для быстрой настройки.
Источник