저는 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 도우미를 사용할 수 있습니다. 참조오징어 위키 "다중 소스" 항목상세 사항은. 이 의사 코드는 거기에서 바로 들어왔습니다.
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 인증을 만듭니다.