私はLinux上でdantedを使用してSOCKSプロキシをセットアップしようとしています。認証なしでプロキシが完全に機能していますが、method: username
とmethod: pam
の両方で認証を追加しようとすると、設定したユーザー名またはパスワードでログインできません。
method: pam
を使用する場合、これは私が使用する構成です
logoutput: stderr /var/log/danted.log
/#Interfaces for listening on
internal: eth0 port=1080 #AP external interface
internal: eth0 port=53
external: eth0 #interface on AODV network
/#Auth Method
method: pam
user.privileged: root
user.notprivileged: nobody
user.libwrap: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}
/#Allow any connection
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
protocol: udp tcp
log: error
method: pam
pamservicename: sockd
}
しかし、danted -d
を実行すると、ユーザー名とパスワードの誤りに関する認証エラーが発生します。私のPam構成は
auth required pam_pwdfile.so pwdfile /etc/danted/sockd.passwd
account required pam_permit.so
ユーザー名とパスワードはhtpasswd -d
で作成され、crypt()を強制します。
method: username
でも試してみましたが、system password userauthentication failed
でも同じ問題が発生します。私はこれらをプロキシプロキシチェッカーでテストしていますが、常に不正なユーザー名またはパスワードを返します。
現在、認証なしで実行しているため、この問題を修正することは非常に重要です。
パスワード「password」を使用して「test」という新しいユーザーを作成しましたが、これはエラーです。
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): setting fail delay
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): username is estt
Jul 12 14:45:07 ip-172-31-26-147 danted: pam_pwdfile(sockd:auth): user not found in password database
Apt経由でインストールしたdanteのバージョンを削除し、dante Webサイトからダウンロードしてソースからコンパイルしたバージョンに置き換えることで、最終的に問題を修正しました。 ubuntuのリポジトリのバージョンにバグがあるはずです。