Показаны сообщения с ярлыком proxy. Показать все сообщения
Показаны сообщения с ярлыком proxy. Показать все сообщения

dante socks proxy с авторизацией из файла паролей

Debian 9 : Dante socks proxy v1.4.1 с авторизацией через pam из файла паролей (а не из системных пользователей)
Также можно использовать Ubuntu 16.04, но там старый danted версии 1.2 и надо поставить свежий, например из ppa http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/
Следовательно, просто меняя socksmethod мы меняем авторизацию с системных юзеров (/etc/passwd) на pam файл паролей
libpam-pwdfile https://github.com/tiwe-de/libpam-pwdfile имеет некоторые ограничения, а именно, пароли необходимо шифровать используя md5crypt и длинна ограничена в 8 символов, больше обрезается (наподобие как в vnc)
Если известны более современные способы, то welcome в комментарии к посту

# apt install dante-server libpam-pwdfile apache2-utils

# mv /etc/danted.conf /etc/danted.conf.orig
 

# vi /etc/danted.conf

#logoutput: stderr

logoutput: syslog
internal: 0.0.0.0 port = 1080
external: eth0

#socksmethod: username
socksmethod: pam.username
user.privileged: root
user.unprivileged: nobody


client block {
        from:  0/0 to: lo
        log: error
}


client pass {
        from: 0/0 to: 0/0
        log: error connect
}

socks pass {
        from: 0/0 to: 0/0
        log: error connect
}


# vi /etc/pam.d/sockd
auth required pam_pwdfile.so pwdfile /etc/danted.passwd
account required pam_permit.so


# htpasswd -b -d -c /etc/danted.passwd username pass

# danted


и если все работает успешно, то в автозапуск и запускаем сервис
 

# systemctl enable danted && systemctl start danted

3proxy не ротейтит логи

Проверьте и исправьте права на каталог куда он пишет их, в данном случае на /var/log/3proxy/

# chown nobody:nobody /var/log/3proxy

При этом, изначально файл лога создается с правами root, от чего я не заметил неверных прав и даже спросил автора сей программы, однако после ротации уже пишется с владельцем выставленном в конфиге

А вот и конфиг который прост как автомат калашникова и всегда работает как надо и безопасен так как не под root

users user:CL:password

daemon

log /var/log/3proxy/3proxy.log D
rotate 30

auth strong
proxy -64 -a

setgid 99
setuid 99


Также после установки для безопасности от локальных юзеров сделайте
chmod 600 /etc/3proxy.cfg
chown root:root /etc/3proxy.cfg

ну и права как я писал выше
chmod 750 /var/log/3proxy
chown nobody:nobody /var/log/3proxy



если 3proxy не стартует - значит старая версия 3proxy без поддержки ipv6 и надо в конфиге просто указывать proxy -a