Главная » Хабрахабр » Использование 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 Интересное!

Переезд в австрийский социализм

Пора восполнить пробел. На Хабре часто пишут про эммиграцию в разные страны, а про Австрию ещё не было. Хальштатт Старался кратко, заранее извиняюсь, что не получилось 🙂 Я попробую описать мой опыт переезда в Австрию (в Вену), а также немного ...

App Store не позвонит. Или как я сделала своё приложение, но оно не попадёт к пользователям

Чуть позже я узнала, что неплохо дополнять код дизайном. Когда-то я думала, что для того, чтобы запустить своё приложение достаточно написать код. Но всё это может быть лишним, если не следовать гайдлайнам. Ещё позже я поняла, что необходимо искать аудиторию ...