私は、Active Directory ドメインに対してユーザーを認証する必要がある Squid プロキシに取り組んでいます。これは問題なく動作し、Samba は正しく設定されており、Squid は を介してユーザーを認証しますntlm_auth
。squid.conf の関連行:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
acl Authenticated proxy_auth REQUIRED
http_access allow Authenticated
http_access deny all
ここで、ドメイン アカウントを持たないユーザーにアクセスを許可する方法が必要です。ドメインに「インターネット ユーザー」アカウントを作成できることはわかっていますが、これではドメイン リソース (ファイル共有など) へのアクセスが制限付きで許可されてしまいます。インターネット アクセスのみを許可する方法が必要です。
理想的な解決策は、プロキシサーバー上のローカルアカウント(LinuxアカウントまたはSquidアカウント)を使用することです。Squidがこれをサポートしていることは知っていますが、使用することはできません。両方ドメイン認証と、ドメイン認証が失敗した場合の Squid/ローカル認証。
これは可能ですか? どうやって?
答え1
今、ドメイン アカウントを持たないユーザーにアクセスを許可する方法が必要です。これは可能ですか?
はい。
どうやって?
「外部」ACLヘルパーを使用すると、独自のメカニズムを構築できます。Squid wiki「複数のソース」エントリ詳細については、こちらをご覧ください。この疑似コードは、そこからそのまま抜粋したものです。
auth_param basic program /usr/local/bin/my-auth.pl
external_acl_type myAclType %SRC %LOGIN %{Proxy-Authorization} /usr/local/bin/my-acl.pl
acl MyAcl external myAclType
http_access allow MyAcl
...ここで、my-auth.pl は実際の認証を実行し、結果としてOK
またはを返す Perl スクリプトです。ERR
答え2
制限されたドメイン ユーザー (分離された OU) を作成します。Squid から、ユーザーがインターネットを使用できるようにする Squid LDAP 認証を作成します。