Apache의 Kerberos 사용자 인증
-
09-06-2019 - |
문제
Kerberos를 사용하여 Apache에서 사용자를 인증하는 방법에 대해 정말 좋은 리소스를 추천해 줄 수 있는 사람이 있습니까?
Kerberos에 대한 배경 지식도 유용할 것입니다.
감사해요
베드로
해결책
mod_auth_kerb는 좋은 시작입니다: http://modauthkerb.sourceforge.net/.Active Directory 지원이 필요한 경우 여기를 확인하세요. http://support.microsoft.com/?id=555092.
다른 팁
MIT Kerberos를 요구하는 대신 Windows에서 SSPI를 사용할 수 있기 때문에 mod_auth_spnego도 꽤 괜찮다는 것을 알았습니다. mod_spnego
다음은 Active Directory를 KDC로 사용하는 예입니다.http://oslabs.mikro-net.com/krb_apache.html
Kerberos를 사용하도록 Apache를 구성하는 방법에 대한 이 기사가 마음에 들었습니다.
http://www.roguelynn.com/words/apache-kerberos-for-django/
(관심이 없다면 django에 관한 부분은 건너뛰어도 됩니다)
편집하다:
본격적인 답변
Kerberos 인증을 사용하도록 Apache를 구성하는 것은 매우 쉽습니다.
나는 당신이 당신의 컴퓨터에 Kerberos를 올바르게 구성했다고 가정합니다.
1) 웹서버에 키탭 [1]이 있어야 합니다.
결론은 웹서버입니다. 가지다 키탭을 읽을 수 있도록!
2) 인증을 위해서는 적절한 httpd 모듈이 있어야 합니다. mod_auth_kerb
:
LoadModule auth_kerb_module modules/mod_auth_kerb.so
3) 그런 다음 Apache에게 Kerberos에 대해 알려주어야 합니다.
<Location />
AuthName "Kerberos Authentication -- this will be showed to users via BasicAuth"
AuthType Kerberos
KrbMethodNegotiate On
KrbMethodK5Passwd Off
# this is the principal from your keytab (you may lose the FQDN part)
KrbServiceName HTTP/$FQDN
KrbAuthRealms KERBEROS_DOMAIN
Krb5KeyTab /path/to/http.keytab
Require valid-user
Order Deny,Allow
Deny from all
</Location>
그런 다음 Apache는 다음을 통해 사용자를 앱으로 전달합니다. REMOTE_USER
HTTP 헤더.
그리고 그게 다야.
또한 설정 중에 Apache에서 디버깅 로깅을 켜도록 조언합니다.시간이 정확하고 httpd가 keytab을 읽을 수 있는지 확인하세요. 그게 전부입니다.
[1] http://kb.iu.edu/data/aumh.html
[2] 주요 자료: http://www.roguelynn.com/words/apache-kerberos-for-django/