Apache "유효한 사용자 필요"는 여러 인증 유형에서 유효합니다.

Apache "유효한 사용자 필요"는 여러 인증 유형에서 유효합니다.

Apache에서는 mod_shib_24(SAML-SP) 및 mod_auth_openidc(OIDC-RP)를 모두 사용하며 둘 다 Shibboleth IdP(SAML-IDP 및 OIDC-OP 역할 모두 수행)에 연결되어 있습니다.

또한 우리는 2개의 보호 위치를 가지고 있습니다. 하나는 SAML로 보호되고 다른 하나는 OIDC로 보호됩니다.

  ShibCompatValidUser On

  <Location "/">
    Require shib-session
    AuthType Shibboleth
    ShibRequestSetting requireSession 1
    ShibUseHeaders On
  </Location>


  <Location "/oidctest">
    Require valid-user
    AuthType openid-connect
  </Location>

이제 혼란스러운 부분이 있습니다.

/oidctest/ 이외의 항목에 액세스하는 경우 SAML을 사용하여 로그인해야 하지만(예상대로 mod_shib_24가 관련됨) 인증에 성공하면 OIDC에 인증하지 않고도 /oidctest/에 액세스할 수도 있습니다.

이것은 반대 방향으로도 작동합니다. /oidctest/에 먼저 액세스하면(새 개인 창) OIDC를 사용하여 인증해야 하며(예상대로 mod_auth_openidc가 포함됨) 인증에 성공한 후에는 다른 모든 위치(/oidctest/ 제외)에도 액세스할 수 있습니다.

그렇다면 Apache는 유효한 사용자 지시문을 어떻게 처리합니까? Apache에서 "유효 사용자"는 어떻게 정의됩니까?

인증 유형, 모듈, 프로토콜에 상관없이 로그인한 사용자는 모든 것에 유효합니까?

아니면 예상치 못한 행동인가요?

답변1

Shibboleth 위키에서 내가 이해한 바에 따르면ShibCompatValidUser 켜기설정은 명시적으로 다음과 호환되도록 의도되었습니다.유효한 사용자 필요진술.

V2.5.2 이전에는 ShibCompatValidUser가 Off(기본값)인 경우 이는 위의 shib-session 규칙과 동일합니다. ShibCompatValidUser 옵션이 활성화되면 이 규칙은 Apache 자체에서 구현된 규칙과 호환되게 구현되며 요청에 대해 null이 아닌 REMOTE_USER 값을 설정해야 합니다. 이를 통해 다른 모듈 및 규칙과 함께 Shibboleth를 배포하는 기능이 복원됩니다. SP의 향후 버전에서는 "특수" 정의가 제거될 수 있으며 이러한 규칙은 shib-session에 의존하도록 변경되어야 합니다.

보다https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPhtaccess

모듈을 구별하기 위해 테스트를 사용할 수도 있습니다.환경 필요모듈에서 설정한 환경 변수를 찾습니다. Shibboleth는 기본적으로 다음을 설정합니다.Shib-세션-ID예를 들어.

보다https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPAttributeAccess

관련 정보