Настроить свой socks5 прокси сервер. Как настроить socks5 прокси для сокрытия IP адреса

Носки бывают чрезвычайно полезны. Сейчас мы расскажем, как правильно настроить их на роутере MikroTik. Итак, поговорим о SOCKS ?

Предисловие

SOCKS (SOCKet Secure) – это сетевой протокол, с помощью которого можно обеспечивать прохождение TCP пакетов в обход блокирующих правил Firewall’а. Это реализуется за счёт proxy-сервера (также называют SOCKS-сервер), который контролирует подключение внутренних клиентов и их права на доступ к внешним ресурсам или же наоборот – внешних клиентов, к ресурсам внутри сети. SOCKS работает на сеансовом уровне, поэтому с помощью него можно проксировать FTP, HTTP, Telnet и другие верхнеуровневые протоколы. В то время как HTTP-прокси, как правило, позволяет проксировать только GET и POST запросы.

Установление соединения

Когда клиент хочет получить доступ к внешнему ресурсу, который блокирует Firewall, то соединение происходит следующим образом:

  1. Клиент подключается к proxy-серверу (обычно используется TCP порт 1080);
  2. Сервер проверяет список доступа и выясняет, есть ли у клиента права на доступ к внешним ресурсам;
  3. Если клиент имеет такие права, то proxy-сервер пересылает пакет на внешний ресурс, к которому хочет получить доступ клиент;
  4. Сервер создаёт сессию между клиентом и внешним ресурсом и между ними начинается обмен пакетами верхнеуровневых протоколов. После установления соединения можно передавать и UDP пакеты.

В настоящее время, MikroTik поддерживает SOCKS версии 4 при указании внешнего ресурса он понимает только IP-адрес. Версия SOCKS4a – может резолвить доменные имена внешних ресурсов. Более поздняя версия протокола – SOCKS5 включает расширенную поддержку аутентификации, подключение по UDP и IPv6.

На сегодняшний день, протокол SOCKS5 пока не поддерживается на устройствах MikroTik. Хотя пользователи очень просят разработчиков включить поддержку SOCKS5 в новые релизы RouterOS вот уже 8 лет. Поэтому при работе с SOCKS совместно с MikroTik, клиент также должен иметь 4 версию.

Необходимо очень тщательно настроить Firewall"ьные правила и список доступа SOCKS чтобы исключить нежелательный доступ извне. Как правило, скомпрометированные через уязвимости SOCKS устройства, используются для рассылки спама и фишинговых писем.

Перейдём к настройкам SOCKS-сервера на MikroTik:

Параметры настройки через WinBox

Параметры настройки SOCKS сервера в WinBox находятся в IP Socks :

Как только вы поставите галочку напротив Enabled сервер станет активным. Далее, необходимо настроить списки доступа, для этого нажимаем на кнопку Access :


Активные SOCKS сессии, проходящие через сервер можно отслеживать на вкладке Connections

Параметры настройки через Termial

Для того, чтобы настроить SOCKS через терминал нужно также сначала настроить параметры сервера. Настройка проводится через команду ip socks set , доступы следующие параметры:

  • enabled - включает функционал SOCKS proxy-сервера (yes - включен, no - выключен);
  • port - номер порта, на котором сервер будет слушать SOCKS запросы. По умолчанию - 1080
  • connection-idle-timeout - время, через которое будут сброшены неактивные сессии (по умолчанию – 2 минуты (2m ));
  • max-connections - максимальное число одновременных подключений (по умолчанию - 200 )

Посмотреть текущие или настроенные параметры можно командой:

  • action - действие, которое будет предпринято при соответствии критериев данного правила:
    • allow - разрешить прохождение трафика по данному правилу;
    • deny - запретить прохождение трафика по данному правилу.
  • dst-address - адрес сервера назначения;
  • dst-port - TCP порт назначения, на котором удаленный сервер слушает SOCKS
  • src-address - адрес источника пакетов (клиент);
  • src-port - TCP порт источника
Практическое применение

Допустим злой сисадмин заблокировал наш любимый сайт, выяснил адрес и забанил.


Но одному нашему сотруднику обязательно нужно иметь доступ к данному ресурсу. Поэтому сисадмин открывает активирует SOCKS сервер и настраивает список доступа.


В качестве адреса клиента указывается IP адрес компьютера сотрудника, которому нужно открыть доступ (в нашем случае 192.168.11.48 ), в качестве порта источника – любой TCP порт от 1024 до 65535..

Та же самая настройка через терминал выглядит следующим образом:

Ip socks> set enabled=yes ip socks access> add src-address=192.168.11.48 src-port=1024-65535 dst-address=212.193.249.136 dst-port=80 \ \... action=allow

Готово, теперь дело за клиентом, который должен настроить сотрудник. Покажем настройку на примере браузера Google Chrome . Открываем Settings Advanced Confidentiality and Security , крутим в самый низ до пункта System и выбираем Proxy settings . В появившемся окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced . В появившемся окне вбиваем параметры нашего SOCKS сервера в строку Socks (в нашем случае 192.168.11.1 и порт 1080 ) и применяем настройки:


Теперь обновляем страничку сайт и ву-а-ля, всё заработало! В окне Connections видны соединения с нашего компьютера до IP адреса сайт.



Послесловие

Данная статья носит исключительно образовательный характер и не ставит своей целью научить кого-либо обходить правила Firewall. Протокол SOCKS 4 устарел, не поддерживает аутентификацию и не может резолвить доменные адреса. В целях безопасности, мы не рекомендуем использовать этот протокол вообще и в том числе – настраивать его на MikroTik.

По умолчанию – сервер SOCKS на роутерах MikroTik отключен. Если Вы обнаружили, что он активирован, то это может быть признаком того, что Ваш роутер был скомпрометирован злоумышленниками. Об этом мы подробнее расскажем в следующих статьях.

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Как настроить безопасный доступ к Internet ?

Организация безопасного доступа к сети интернет является актуальной проблемой не только для крупных компаний и корпораций, но и для рядовых пользователей. Всеми привычный доступ к сети через проводного интернет-провайдера или оператора мобильной связи не позволяет говорить о какой-либо защищенности Ваших данных от злоумышленников, которые в последние годы активно воруют конфиденциальные данные пользователей. Кроме того, провайдеры зачастую вводят региональные ограничения доступа пользователей к определенным веб-ресурсам и сервисам, блокируя доступ по IP -адресам.

Обойти блокировки и добиться достаточно высокого уровня защищенности и анонимности можно при помощи связки RDP + socks прокси. Такую связку для выхода в сеть достаточно просто организовать, и мы подробно опишем в данном руководстве как это сделать.

Что такое RDP (Remote Desktop Protocol) ?
Особенности и преимущества RDP

RDP – аббревиатура от английского словосочетания « Remote Desktop Protocol», то есть «протокол удаленного рабочего стола». Данный протокол был изначально создан компанией Microsoft для обеспечения возможности удаленного доступа пользователей к серверам и компьютерам, работающим под управлением операционной системы Windows. По сути, RDP позволяет пользователю удаленно управлять компьютером с ОС Windows, подключенным к локальной сети или к сети интернет, с другого компьютера, на котором установлена программа-клиент RDP.

Благодаря RDP пользователь может выходить в интернет не напрямую со своего компьютера, а через удаленный компьютер в сети, что позволяет полностью скрыть факт использования туннелирования, то есть для конечного веб-узла, с которым Вы работаете, Вы будете выглядеть так, словно Вы работаете напрямую со своего компьютера без использования туннелирования. Таким образом, Вы используете защищенный канал связи, который в совокупности с использованием прокси-сервера socks позволяет добиться максимальной безопасности и анонимности.

Получение бесплатного RDP
Инструкция - как получить бесплатный RDP

В сети интернет можно найти массу бесплатных или бюджетных сервисов, предоставляющих доступ к выделенным серверам с ОС Windows, на которых можно настроить связку RDP+ socks-прокси для организации анонимного и защищенного доступа к веб-ресурсам. Приведем несколько ссылок на подобные сервисы.

· VPS.ua

· Rusonyx

· Inferno Solutions

· 1Gb.ru

· Siteko.net

Если какой-либо из данных ресурсов не работает, либо Вы хотите более мощный сервер для решения высокопроизводительных задач, Вы можете найти бюджетные сервисы, которые за небольшую плату предоставят Вам постоянный доступ к серверу с интересующей Вас мощностью.

После регистрации Вы получите доступ к серверу с ОС Windows. Проще всего арендовать сервер именно с этой операционной системой, поскольку серверная версия Windows мало чем отличается от обычной версии, и Вы сможете без проблем устанавливать привычные программные приложения и настраивать систему под все необходимые нужды.

Настройка и подключение к RDP (Удаленный рабочий стол)

После регистрации пользователь получает доступ к личному кабинету управления удаленным Windows-сервером. Среди прочей информации поставщик услуги указывает IP-адрес сервера для подключения к нему с удаленного устройства (ПК, смартфон, планшет и пр.). Для подключения к серверу необходимо ввести этот IP-адрес в адресную строку RDP-клиента, встроенного в ОС Windows на локальном компьютере пользователя. Для этого:

1. Откройте терминальный клиент «Подключение к удаленному рабочему столу», встроенный в Windows. Для этого перейдите в ПУСК->Все программы -> Стандартные -> Подключение к удаленному рабочему столу , либо откройте меню ПУСК -> Выполнить и введите команду mstsc и нажмите «ОК»


2. В открывшемся окне введите IP -адрес арендуемого Windows -сервера, указанный поставщиком услуги. Нажмите кнопку «Показать параметры».


3. В поле «Пользователь» введите имя пользователя для администрирования арендуемого сервера, указанное поставщиком услуги, и перейдите во вкладку «Локальные ресурсы».


4. Во вкладке «Локальные ресурсы» нажмите на кнопку «Подробнее».


5. Выберите устройства и ресурсы локального компьютера, которые Вы будете использовать во время удаленного сеанса. Рекомендуем установить галочку напротив пункта «Диски», чтобы локальный жесткий диск был доступен при работе на удаленном сервере. Нажмите кнопку «ОК» и кнопку «Подключить».


6. В открывшемся окне введите пароль доступа к удаленному серверу и нажмите кнопку «ОК»


7. На Вашем рабочем столе откроется удаленный рабочий стол удаленного сервера. Теперь Вы можете управлять удаленным сервером точно также, как и локальным компьютером.

Получение прокси с панели управления SOCKS Admin

На следующем этапе необходимо получить доступ к сервису SOCKS прокси на сайте . Для этого выполните несколько простых шагов:

1. Перейдите на страницу и войдите в свой аккаунт


2. Введите логин и пароль своей учетной записи для доступа к сервису. В результате откроется Панель администратора учетной записи. На данной панели отображаются кнопка поиска прокси socks 4/5 по различным параметрам (Proxy Search ), кнопка вывода списка всех доступных в настоящий момент прокси (List Proxies ) и кнопка вывода информации о Вашем аккаунте (Account Settings ).


3. Нажмите кнопку поиска прокси (Proxy Search ) и выберите любую страну, прокси-серверы которой Вы желаете использовать, после чего нажмите кнопку Go .

4. На экране отображаются результаты поиска с детальной информаций о доступных прокси-серверах: страна, штат, город, сеть, время работы, время последней проверки доступности сервера и скорость.


5. Нажмите на имя любого подходящего Вам сервера, после чего откроется окно с дополнительной информацией. Для просмотра IP -адреса прокси и порта нажмите click here to view .

6. Через несколько секунд на экране отобразится информация об IP -адресе и порте прокси-сервера. Скопируйте или запишите эти данные – они понадобятся для последующей настройки браузеров на удаленном сервере. В приведенном примере IP -адрес: 83.85.214.142, Порт:58933.

Настройка socks 5 прокси на удаленном рабочем столе (RDP) в браузере FireFox

1. Подключитесь к удаленному серверу в соответствии с указаниями, приведенными в начале данного руководства.

2. Скачайте и установите браузер Firefox на удаленном сервере.

3. После завершения установки запустите браузер Firefox , откройте панель настроек и перейдите в меню «Настройки» (« Options »).

4. Откройте вкладку «Дополнительные» (« Advanced »), вкладку «Сеть» (« Network ») и нажмите кнопку «Настроить» (« Settings »)

5. В открывшемся окне выберите следующие параметры:

· Ручная настройка сервиса прокси (Manual proxy configuration )

· SOCKS v 5. Введите IP -адрес прокси SOCKS , который мы получили на https ://5 socks . net (в нашем примере 83.85.214.142)

· Введите номер порта полученного прокси (в нашем примере 58933)

· Активируйте SOCKS 5, а так же « Remote DNS » (все DNS запросы будут выполняться на стороне сокс-сервера)

· Нажмите «ОК».

6. Настройка Firefox завершена.

7. http://www.ipleak.com


По скриншоту мы видим, что сетевой адрес Вашего компьютера соответствует голландскому ip -адресу 83.85.214.142.

Настройка socks 5 прокси на удаленном рабочем столе (RDP) в браузере Internet Explorer

1. Запустите на удаленном рабочем столе браузер Internet Explorer , перейдите в меню «Tools» и выберите пункт «Internet Options».

2. Откройте вкладку «Connections» и нажмите на кнопку «LAN Settings…». В открывшемся окне активируйте пункт «Use a proxy server for your LAN» и нажмите кнопку «Advanced».


3. В открывшемся окне в поле « Socks » IP -адрес прокси SOCKS , который мы получили на https ://5 socks . net (в нашем примере 83.85.214.142), а в поле « Port » введите номер порта полученного прокси (в нашем примере 58933)

ВНИМАНИЕ! Указывайте IP -адрес и порт только в строке SOCKS . Остальные поля необходимо оставить пустыми

3. Нажмите «ОК» во всех открытых в процессе настройки окнах.

4. Настройка Internet Explorer завершена.

4. Убедитесь, что используется именно прокси сервер. Для этого откройте на удаленном рабочем столе Internet Explorer, пройдите по ссылке http://www.ipleak.com и проверьте Ваш текущий IP-адрес.

По скриншоту мы видим, что видимый сетевой адрес Вашего компьютера соответствует голландскому ip -адресу 83.85.214.142.

Опубликовали инструкцию по обходу возможной блокировки Telegram - популярного мессенджера, разработанного командой Павла Дурова. В статье описывается способ обхода, который основывается на использовании сетевого протокола SOCKS5. Этот протокол незаметно пересылает пакеты данных от клиента к серверу через прокси-сервер.

SOCKS - сетевой протокол, который позволяет клиент-серверным приложениям прозрачно (незаметно для них) использовать сервисы за межсетевыми экранами (фаерволами). Опция уже доступна в Telegram Desktop и Mac, а мобильные клиенты получат её в ближайшем обновлении.

Совет: включите в настройках опцию автоматического обновления.

В первую очередь включите SOCKS5 до начала блокировки.

Если вы по каким-то причинам не успеете это сделать, то придётся туго, т.к. из российских Google Play и AppStore, клиенты Telegram, скорее всего, исчезнут. Здесь помогут Vpn и Tor, через которые можно будет скачать Telegram в американских магазинах. Но не обольщайтесь - впереди закон по запрету средств обхода блокировок, принятый в первом чтении в Госдуме РФ.

Совет: в настройках Android разрешите скачивание обновлений не из официального магазина, и скачайте обновление Telegram с сайта мессенджера telegram.org .

Настройка SOCKS 5

Приводим инструкцию на русском языке:

1) Зайдите в настройки настольного Telegram и нажмите «По умолчанию (сейчас:TCP)».

2) Переключите в меню «Тип соединения» на «TCP socks5-прокси»

3) Введите адрес прокси сервера (например, 192.254.68.37), соответствующий порт (1080). Лучше использовать прокси-адреса Америки, Германии, Швеции или Англии. Затем ставите галочку «Использовать IPv6» и сохраняете.

Как найти прокси-сервера?

Просто перейдите по следующим ссылкам:

Только берите сервер для SOCKS5, не перепутайте с HTTP.

Возможна настройка из этого бесплатного списка (socks - sockslist.net).

Теперь по умолчанию ваш Telegram будет соединяться через выбранный прокси-сервер.

Дополнение: Если возникнут проблемы с подключением, нужно настроить брандмауэр Windows - добавить в разрешенные приложения Telegram. Сделать это просто, но у вас должны быть права администратора.

  • Войдите в «Панель управления» и перейдите в «Брандмауэр Windows».
  • Нажмите на пункт «Разрешения взаимодействия с приложениями или компонентами...». Откроется окно с большим количеством программ, но вряд ли вы там найдете Telegram. Поэтому нужно будет его туда добавить.
  • Нажмите на «Изменить параметры», а затем на нижнюю кнопку «Разрешить другое приложение».
  • Во всплывающем окне «Добавление приложение» через Обзор добавьте Telegram.
  • Всё. Снова настраивайте соединение с прокси-сервером.

Потребовалось мне как-то запустить игру, которая запускается под wine, через прокси. Поднял ssh-туннель, запустил игру через proxychains, и… игра не смогла соединиться с сервером, хотя chromium без проблем работал и показывал ip прокси. Попробовал tsocks - игра вообще не запустилась. Можно, конечно, было настроить VPN-туннель с помощью того же ssh, но сервер - VPS, под OpenVZ, у которого по умолчанию выключен TUN, что привело бы к письму в техподдержку и ожиданию.
Итак, пятиминутное гугление привело меня к заброшенному проекту Transocks, который, в отличие от proxychains и tsocks, которые подгружают свои библиотеки и перехватывают сетевые вызовы, слушает определенный порт и перенаправляет все, что в него пришло, через socks4 прокси. К сожалению, transocks у меня не собрался, и я начал гуглить дальше. Оказывается, у проекта есть два форка: transocks_ev на c и transocks_em на ruby. Первый поддерживает Socks5, не поддерживает авторизацию и UDP. Второй же поддерживает Socks5, UDP, *BSD, но тоже, вроде бы, не поддерживает авторизацию(не нашел в коде, а документации нет). Так как UDP мне не нужно, я остановился на transocks_ev.

Сборка

Собрать transocks_ev очень просто: достаточно скачать Makefile и transocks_ev.c со страницы проекта, установить libevent и выполнить
make
У нас появился бинарник transocks_ev
tranSOCKS-ev - libevent-based transparent SOCKS5-Proxy
Usage: ./transocks_ev [-f] [-p Port] [-H IP-Address] [-s port] [-S IP-Address]

F Do not fork into background upon execution
-p Bind our server-socket to this port
-H Listen on this IP-Address for incomming connections
-s Expect SOCKS5-Server on this Port
-S Expect SOCKS5-Server on this IP-Address

Так как я поднимал ssh-туннель на порту 4441, запускаю transocks_ev с такими параметрами:
./transocks_ev -p 4445 -H 127.0.0.1 -s 4441 -S 127.0.0.1
Теперь у нас на порту 4445 висит сервер, который будет пускать все запросы через наш socks5. Немного похоже на NAT, только на определенном порту.

Настройка

Перенаправлять пакеты будем с помощью iptables. Я решил сделать подобие proxychains, чтобы можно было запустить любое приложения через прокси, а не просто проксирование по адресу или порту(хотя для игры сгодится и оно).
Создаем новую группу proxified:
sudo groupadd proxified
Редактируем /etc/sudoers так, чтобы мы могли запускать приложения под этой группой. Должно быть что-то вроде этого:
valdikss ALL=(ALL:ALL) ALL

Теперь перейдем к настройкам iptables.
sudo iptables -t nat -I OUTPUT -m owner --gid-owner proxified -p tcp -j REDIRECT --to-ports 4445
Эта команда будет перенаправлять все пакеты от приложений с группой proxified на transocks сервер.

Запуск

Запускаем приложение с группой proxified
sudo -g proxified chromium-browser

Вот и всё. Этот метод может быть использован для гарантированной проксификации всей системы, либо даже для прозрачной проксификации на роутере. Если вам нужно использовать прокси с аутентификацией, то установите 3proxy локально и укажите в нем ваш прокси как прокси сервер верхнего уровня.

На сегодняшний день существует несколько основных технологий, целью которых является сокрытие IP-адреса. В данной статье у вас будет возможность ознакомиться одним из них, а именно с VPN.

В первую очередь для выполнения этого процесса необходимо узнать не только личный IP-адрес, но и серверный адрес DNS. В принципе, в получении данной информации нет каких-либо трудностей, достаточно, к примеру, посетить сайт www.whoer.net.


Даже если вы захотите изменить данные своего IP-адреса, недостаточно использовать VPN или Socks, так как сегодня существует масса технологий, с помощью которых можно без проблем его выявить. Итак, давайте вернемся к нашей теме и более детально изучим способ VPN.

VPN (Virtual Private Network, виртуальная частная сеть)


В первую очередь стоит отметить то, что VPN-соединение внешнего типа практически не имеет отличий от обычного подключения к той или иной локальной сети. В данном случае приложения никаким образом не почувствуют никакой разницы, следовательно будут применять его в качестве «входа» на просторы интернета.

Главное, что при этом им не нужны будут какие-то настройки. В случае обращения одного из них к удаленному непосредственному сервису будет выполнено создание на компьютере специального так называемого GRE-пакета. Он же, в свою очередь, будет отправлен в зашифрованном виде VPN-серверу.


Действие VPN-сервера заключается в том, что он при получении пакета произведет его расшифровку, разборку и выполнит необходимое действие от своего лица. После получения ответа от ресурса удаленного типа, он поместит его непосредственно в GRE-пакет. После этого произведет зашифровку и отправку клиенту.

Необходимо помнить о том, что для повышения степени безопасности необходимо систематическое шифрование данных, которые передаются. Немаловажно то, что посредством использования MPPE (Microsoft Point-to-Point Encryption) может быть выполнена зашифровка PPTP-трафика.

Он представляет собой протокол Майкрософта. Немаловажно то, что первые версии были не просто непрактичными, но и систематически подвергались взломам, однако и на сегодняшний день особой эффективностью они не славятся. Все дело в том, что современные версии Майкрософта попросту не выполняют анализ каких-либо неустоек.

OpenVPN представляет собой свободную технологическую реализацию VPN, организация которой производится с учетом интернетовского общепринятого протокольного стека TCP/IP. Таким образом, можно полноценно быть уверенным в том, что соединение будет выполнено и с теми провайдерами, которые собственно не поддерживают необходимый PPTP.

В том числе деятельность OpenVPN производится в случае отсутствия у вас личного IP-адреса. Эта особенность является отличительной, к примеру, от PPTP, которому в обязательном порядке необходимы сразу две сетевые сессии.