この方法は決して安全ではありません。 これは複数回( たとえば )記述されており、認証に別のパスワードファイルを使用する3proxyと多くの比較が行われています。 Danteでこの機能を実装することに興味がある人は、猫をお願いします。
インストールと基本的なセットアップについては説明しませんが、これらの記事は巨大であり、一般に複雑なことはありません。 別のパスワードファイルのトピックについてのみ言及します。 Ubuntuにはすべてのコマンドが提供されますが、他のディストリビューションで同じことを行うことも難しくありません。
この機能のdanteをPAMサポートでコンパイルする必要があることを予約する必要があります。インストールの記事では、ソースの構成ステータスの次の行で示されています。
PAM: Enabled
リポジトリからパッケージをインストールする場合、PAMはすでに依存関係にあります。
したがって、まず最初に、追加のコンポーネントが必要です。
aptitude install libpam-pwdfile
libpam-pwdfileパッケージは、/ etc / passwd形式の別のファイルに対して認証する機能を提供します。
インストール後、ファイル/etc/pam.d/sockdを編集します
nano /etc/pam.d/sockd
ファイルに次を入力します。
auth required pam_pwdfile.so pwdfile ${DIR_FOR_PASSWD_FILE}/sockd.passwd account required pam_permit.so
ここで、サービスのパスワードファイルを設定します。 $ {DIR_FOR_PASSWD_FILE}をパスワードファイルがあるディレクトリ(たとえば、/ opt / dante)に置き換えます。
パスワードファイル自体のファイル形式は/ etc / passwdです。これは、コロンで区切られたパラメーターの形式でユーザーごとに個別の行を意味します。 最初のパラメーターはユーザー名で、2番目は暗号化されたパスワードです。
SomeUser:$1$1bhzkYnM$cfYSzS9Vx17AypWYAnnhn0
暗号化されたパスワードは、次のようにwhoisパッケージからmkpasswdユーティリティを使用して取得できます。
mkpasswd --method=md5 SomeStrongPassword
すべてを準備したら、Danteで適切な認証方法を有効にするだけです。 これを行うには、/ etc / sockd.confファイルを編集して次の行を変更します
socksmethod: username
これに
socksmethod: pam.username
Danteをプリロードし、別のパスワードファイルの承認を取得します。
PS
Danteがデフォルトで使用するサービスPAM名はsockdです。 また、設定済みの別のサービスからlibpam_pwdfile設定ファイルを使用する場合、または複数の設定を使用する場合は、Dante設定ファイルでpamservicenameディレクティブを使用できます。 使用例:
client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 #the servicename should differ from the servicename in socks-rules pamservicename: pam_host }
このディレクティブの使用をより完全に理解するために、Danteのドキュメントを参照することをお勧めします。Danteのドキュメントへのリンクは以下にあります。
使用した材料:
Danteのドキュメント。 PAM認証
GitHubのlibpam-pwdfileモジュールの説明