ћы в Telegram - чате. “ы с нами? :)

ћерион Ќетворкс

5 минут чтени€

Ќоски бывают чрезвычайно полезны. —ейчас мы расскажем, как правильно настроить их на роутере 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 отключен. ≈сли ¬ы обнаружили, что он активирован, то это может быть признаком того, что ¬аш роутер был скомпрометирован злоумышленниками. ќб этом мы подробнее расскажем в следующих стать€х.


ѕолезна ли ¬ам эта стать€?