img

Настройка SOCKS на MikroTik

Носки бывают чрезвычайно полезны. Сейчас мы расскажем, как правильно настроить их на роутере 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 находятся в IPSocks:

Параметры 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)

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

/ip socks print

Далее необходимо настроить правила, по которым будет осуществляться контроль доступа к серверу SOCKS. Для этого вводим команду /ip socks access set, доступны следующие параметры:

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

Практическое применение

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

Блокировка wiki.merionet.ru на MikroTik
О том, как настраивать правила Firewall в MikroTik читайте здесь
Недоступность wiki.merionet.ru

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

Настройка SOCKS через WinBox

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

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

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. Открываем SettingsAdvancedConfidentiality and Security, крутим в самый низ до пункта System и выбираем Proxy settings. В появившемся окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced. В появившемся окне вбиваем параметры нашего SOCKS сервера в строку Socks (в нашем случае 192.168.11.1 и порт 1080) и применяем настройки:

Настройка прокси в Google Chrome

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

MikroTik Connections wiki.merionet доступна через прокси
Послесловие

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

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
21 ноября
20:00
Бесплатный вебинар
Введение в Docker