Dante выполняет две проверки доступа: правило client допускает входящий источник, а правило SOCKS разрешает запрошенные назначение и команду. Этот пример для Dante 1.4.4 позволяет одному клиенту обращаться к одному контролируемому назначению на порту 443.

Учётная запись службы и адреса

Создайте отдельную учётную запись с низкими привилегиями, если установка её не предоставляет:

sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy

Обе рабочие идентичности могут использовать эту учётную запись в приведённой ниже конфигурации с высоким портом и списком разрешённых источников. Парольная аутентификация или привилегированные функции требуют пересмотра этих настроек. До использования замените все документационные адреса.

logoutput: stderr
internal: 192.0.2.10 port = 1080
external: 192.0.2.10
clientmethod: none
socksmethod: none
user.privileged: danteproxy
user.unprivileged: danteproxy

client pass {
    from: 198.51.100.27/32 to: 192.0.2.10/32 port = 1080
    log: connect error
}

socks pass {
    from: 198.51.100.27/32 to: 203.0.113.20/32 port = 443
    command: connect
    log: connect error
}

internal выбирает слушателя для клиентов, external — исходящий адрес. Сервер с одним интерфейсом может использовать один назначенный адрес для обоих. При необходимости можно указать имя интерфейса; проверьте, в какие адреса оно разворачивается.

Что разрешает эта политика

Первое правило допускает указанный источник к слушателю. Второе разрешает только CONNECT к указанной цели. Несовпавшие запросы остаются заблокированными, включая BIND и UDP ASSOCIATE.

Настройки методов не дают аутентификации по имени пользователя. Доступ зависит от узкого правила источника и его сетевой границы. Такая схема подходит лишь там, где этот источник идентифицирует авторизованного клиента.

sockd -V -f /path/to/sockd.conf

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

Похожие статьи