SOCKS — сетевой протокол сеансового уровня модели OSI, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно (незаметно для них) и таким образом использовать сервисы за межсетевыми экранами (файрволами).
Расшифровывается как SOCKet Secure.
В отличие от HTTP – proxy, SOCKS можно использовать для всех приложений, а не только тех, которые осуществляют обмен по http/https. Также, с помощью SOCKS можно выстраивать цепочки прокси-серверов, так как они не вносят изменений в сетевой трафик. На текущий момент используется две версии — SOCKS4 и SOCKS5. В последней добавлены поддержка UDP, IPv6.
Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу.
Наиболее свежая спецификация протокола – это SOCKS5. Она использует UDP- и TCP-соединения для пересылки трафика. Также в SOCKS5 используются несколько способов аутентификации:
- Null authentication – в этом случае для подключения к прокси проходить процедуру аутентификации не нужно;
- аутентификация по логину и паролю – соединение устанавливается после введения корректных учетных данных;
- JSON аунтификация;
- SSL аунтификация на базе сертификатов X.509;
- аутентификация с помощью GSS-API – как клиент так и сервер используют методы аутентификации, работающие на уровне ОС.
Не все прокси-провайдеры пишут об этом, но основная разница при использовании SOCKS и VPN заключается в уровне анонимности, которого можно добиться. В случае VPN все передаваемые данные шифруются, чего нет в случае SOCKS-прокси.
Важно понимать, что прокси позволяют скрывать IP-адрес и решать ряд других задач (вроде обхода блокировок), но сами по себе они не являются инструментом обеспечения приватности. Пользователя прокси можно вычислить и перехватить его трафик.
Однако использование прокси в комбинации с VPN позволяет добиться хорошей скорости работы и лучше защитить чувствительную информацию.
В любом случае такие устройства как ПЛК не должны быть подключены напрямую к интернет, для обеспечения их безопасности. Особенно это касается систем “умный дом“. Такое соединение можно осуществлять только через программное или программно-аппаратное решение, обеспечивающие безопасность на основе белого списка разрешенных адрессов, протоколов и портов.
SOCKS-серверы обычно используют порт 1080.