web-dev-qa-db-ja.com

Dante(SOCKSサーバー)user.unprivilegedおよびuser.unprivilegedオプションは、起動中に失敗を引き起こします

Ubuntu18.04サーバーでDante1.4.2をセットアップしようとしていますが、Danteから奇妙な動作が発生します。

Jun 12 01:33:22 (1528760002.119429) danted[8854]: error: /etc/danted.conf: problem on line 93 near token "user.privileged": syntax error.  Please see the Dante manual for more information
Jun 12 01:33:22 (1528760002.121016) danted[8854]: alert: mother[1/1]: shutting down

私の/etc/danted.confは以下のようになります(コメント行と空の行を除く):

# cat /etc/danted.conf | grep -v '^#' | grep -v '^$'
logoutput: syslog stdout /var/log/sockd.log
internal: eth0 port = 1080
external: <server's real IP>
socksmethod: pam.username
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect disconnect error
    pam.servicename: sockd
}
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect disconnect error
}
user.privileged: proxy
user.unprivileged: nobody

このuser.*レコードの宣言は、ストックファイルからのコメントされていない行です。 Dante構成形式に従って、これらのキーワードは正しいです( https://www.inet.no/dante/doc/1.4.x/sockd.conf.5.html を参照)。

user.*行にコメントすると、Danteが起動しますが、安全な構成ではないことを通知します。

Jun 12 01:43:45 (1528760625.302753) danted[9445]: warning: checkconfig(): setting the unprivileged uid to 0 is not recommended for security reasons

user.privilegeduser.unprivilegedが必要かどうか、必要な場合は、これらの設定でDanteを起動する方法を教えてください。

ありがとう!

1
LibertyPaul

解決策は、次の方法でconfigの行の順序を変更することでした。

# cat danted.conf | grep -v '^#' | grep -v ^$
logoutput: syslog stdout /var/log/sockd.log
internal: eth0 port = 1080
external: <server's real IP>
socksmethod: pam.username
user.privileged: root
user.unprivileged : nobody
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect disconnect error
    pam.servicename: sockd
}
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect disconnect error
}
1
LibertyPaul