SOCKS5 Dante на Debian 10
Socks-proxy требуется для разных задач, например чтобы «выпустить» в интернет программы минуя HTTP/HTTPS-proxy. Соглашусь с тем, что большинство сисадминов считает, что контроль доступа, фильтрация и ограничение трафика для пользователей корпоративной сети — излишним, но такие задачи ставятся не просто так, и не по хотению, системных администраторов. Лично я бы давно всё перевел на IPv6 и разгрузил пограничные роутеры. Ещё одна цель, для которой требуется Socks-туннель — это «посмотреть на себя» со стороны. Например, проверить работу сервиса из внешней сети, находясь при этом внутри сети, но для этого прокси должен быть установлен вне локальной сети.
Свой выбор я отдаю в пользу прокси-сервера Dante. Я его использую очень давно, он предсказуем, имеет гибкую систему фильтрации и поддерживает IPv6. Переходим в режим SU, либо перед каждой командой надо ставить sudo
# apt-get update # apt-get upgrade # apt-get install dante-server
Теперь переходим к настройке dante. Для этого необходимо отредактировать файл /etc/danted.conf следующим образом:
logoutput: syslog /var/log/sockd.log internal: eth0 port = 5190 external: eth0 clientmethod: none socksmethod: username user.privileged: root user.unprivileged: nobody user.libwrap: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 }
После чего необходимо перезагрузить этот сервис.
systemctl restart danted
Теперь все пользователи вашего сервера имеют доступ в сеть через этот SOCKS5-сервер. Для создания пользователя у которого будет возможность работать с прокси, но не будет возможности залогиниться на ваш сервер и творить там «чудеса» необходимо использовать следующие команды:
useradd --shell /usr/sbin/nologin user-01 passwd user-01
Теперь Dante настроен на классическую работу как SOCKS5-сервер с авторизацией по паролю.
Особые настройки
Если вы хотите убрать авторизацию на прокси и выпускать всех пользователей вашей сети в интернет через SOCKS-сервер, то для этого необходимо изменить конфигурацию /etc/danted.conf отредактировав одну строчку:
socksmethod: none
Проблемы безопасности
Протокол прокси-сервера SOCKS5 не подразумевает какой-либо защиты и пересылает логин/пароль в открытом виде. При использовании внутри небольшой сети — это проблем не создаёт, но при использовании сервера вне пределов предприятия — это позволит злоумышленникам украсть ваши данные авторизации и использовать сервер по своему усмотрению.
Этот протокол не предназначен для скрытой передачи трафика, его можно сравнить с GRE-туннелем, но это некорректное сравнение.
Для того, чтобы как-то обезопасить вероятность использования вашего сервера лицам, которые украли ваш пароль, необходимо настраивать ACL на роутере, либо редактировать списки в настройках самого Dante.
Тэги: ИТ
Отредактировано:2022-03-05 08:05:51