Главная » Хабрахабр » Использование libpam при настройке SOCKS сервера Dante

Использование libpam при настройке SOCKS сервера Dante

Всем доброго дня. Столкнувшись с необходимостью настроить SOCKS5 я обнаружил, что в интернетах и в частности на Хабре при настройке авторизации для dante-server используется метод «username».

Об этом не раз писалось ( например ) и приводилось множество сравнений с 3proxy который для авторизации использует отдельный файл паролей. Этот метод отнюдь не является безопасным. Затрону лишь тему отдельного файла паролей. Кого интересует реализация данной возможности в Dante прошу под кат.
Описывать установку и базовую настройку не буду, этих статей огромное множество и в общем ничего сложного в них нет. Все команды будут приведены для Ubuntu, однако сделать то же самое на других дистрибутивах так же не сложно.

Необходимо оговориться, что данте для данного функционала должен быть собран с поддержкой PAM, в статьях по установке это отображено тем, что в статусе конфигурации исходников должна быть следующая строка:

PAM: Enabled

Если же вы устанавливаете пакет из репозитория, то PAM уже идет в его зависимотях.

Итак, для начала нам понадобятся дополнительные компоненты:

aptitude install libpam-pwdfile

Пакет libpam-pwdfile представляет возможность аутентификации по отдельному файлу формата /etc/passwd.

После установки редактируем файл /etc/pam.d/sockd


auth required pam_pwdfile.so pwdfile $/sockd.passwd
account required pam_permit.so

Здесь мы задаем файл с паролями для нашего сервиса. Замените ${DIR_FOR_PASSWD_FILE} на директорию где у вас будет лежать файл с паролями (например /opt/dante ).

Первый параметр имя пользователя, второй — шифрованный пароль. Сам файл с паролями имеет формат файла /etc/passwd, что означает отдельная строка для каждого пользователя в виде разделенных двоеточием параметров.

Шифрованые пароли можно получить посредством утилиты mkpasswd из пакета whois следующим образом:

mkpasswd --method=md5 SomeStrongPassword

Либо с помошью утилиты htpasswd из пакета apache2-utils

в первый раз для создания фала с паролями:

htpasswd -b -m -c ${DIR_FOR_PASSWD_FILE}/sockd.passwd UserName SomeStrongPassword

в дальнейшем, для добавления пользователей данную команду необходимо использовать без параметра "-с".

Для этого редактируем ваш файл /etc/sockd.conf и меняем следующую строчку После того как мы все подготовили, остается только включить соответствующий метод авторизации в Dante.

socksmethod: username

на эту

socksmethod: pam.username

Презагружаем Dante и получаем авторизацию по отдельному файлу паролей.

Использованные материалы:

PAM Autentication. Документация Dante.

Описание модуля libpam-pwdfile на GitHub


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Зачем изучать непопулярные языки. Пример сообщества F#

Но коммерческого успеха и широкой популярности нет. Бывают культовые фильмы, игры, книги или музыка — их страшно любит сплоченное сообщество, профессионалы и критики. Мне в таких ситуациях обычно до боли обидно. Например, F#. В разработке хорошие технологии тоже не всегда ...

[Перевод] Курс MIT «Безопасность компьютерных систем». Лекция 9: «Безопасность Web-приложений», часть 2

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы ...