Score:1

Apache reverse proxy พร้อม Kerberos ตรวจสอบสิทธิ์และให้สิทธิ์ LDAP

ธง to

เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.37 (Red Hat Enterprise Linux) Apache เปิดตัวเป็นคอนเทนเนอร์ในคลัสเตอร์ Openshift

ฉันใช้ Apache เป็นพร็อกซีไปข้างหน้าและย้อนกลับสำหรับ Kibana

ข้อกำหนดบังคับคือการใช้ Kerberos และต้องการแบบอย่างเพื่อแยกความแตกต่างของการเข้าถึง ฉันสร้างใน elasticsearch ผู้ดูแลระบบและผู้ใช้ผู้ดู ขึ้นอยู่กับกลุ่ม LDAP Apache ต้องส่งส่วนหัวที่มีการเข้าสู่ระบบและรหัสผ่านของผู้ดูแลระบบหรือผู้ดู แต่ไม่มีทางที่ฉันจะได้มันมา

  • การกำหนดค่าของฉัน:
<AuthnProviderAlias ldap ldap-access>
    AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
    AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
    AuthLDAPBindPassword "password"
</AuthnProviderAlias>

<AuthzProviderAlias ldap-group ldap-group-viewer CN=viewer,OU=Groups,DC=example,DC=com>
    AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
    AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
    AuthLDAPBindPassword "password""
</AuthzProviderAlias>

<AuthzProviderAlias ldap-group ldap-group-admin CN=admin,OU=Groups,DC=example,DC=com>
    AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn?sub?(objectClass=user)"
    AuthLDAPBindDN "CN=ServiceAccount,OU=Users,DC=example,DC=com"
    AuthLDAPBindPassword "password""
</AuthzProviderAlias>


<LocationMatch "/kibana">
    AuthType GSSAPI
    AuthName "Kerberos Auth"

    GssapiSSLonly Off
    GssapiBasicAuth On
    GssapiAllowedMech krb5

    GssapiSessionKey file:/tmp/session.key
    GssapiCredStore keytab:/etc/httpd/krb5.keytab
    GssapiCredStore ccache:FILE:/var/run/httpd/krb5ccache
    GssapiDelegCcacheDir /var/run/httpd/clientcaches
    GssapiImpersonate On
    GssapiLocalName On

    GssapiUseSessions On
    Session On
    SessionExpiryUpdateInterval 300
    SessionInclude /
    SessionCookieName gssapi_session path=/;httponly;secure;
    
    BrowserMatch Windows gssapi-no-negotiate
    LogLevel debug

    AuthBasicProvider ldap-access
    <RequireAll>
      Require ldap-group-viewer
      Require ldap-group-admin
    </RequireAll>

    ProxyPass http://kibana:5601/kibana
    ProxyPassReverse http://kibana:5601/kibana

    RequestHeader set Authorization "Basic dmlld2VyOnZpZXdlcg=="
    
</LocationMatch>

ในการกำหนดค่านี้ ผู้ใช้ทั้งหมดในกลุ่มเข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบเดียวกัน แต่ฉันต้องแชร์สิทธิ์

  • สำหรับผู้ดู - RequestHeader ตั้งค่าการอนุญาต "Basic dmlld2VyOnZpZXdlcg=="
  • สำหรับผู้ดูแลระบบ - RequestHeader ตั้งค่าการอนุญาต "Basic YWRtaW46YWRtaW4="

ฉันพยายามเพิ่มแอตทริบิวต์ให้กับ LDAP url และใช้ตัวแปร AUTHORIZATION_Viewer เช่นที่นี่ Apache: จะทราบได้อย่างไรว่าเซิร์ฟเวอร์ LDAP ใดที่ผู้ใช้ของฉันได้รับการรับรองความถูกต้อง:

AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn,Viewer?sub?(objectClass=user)" 

แล้ว:

RequestHeader ตั้งค่าการอนุญาต "พื้นฐาน dmlld2VyOnZpZXdlcg==" env=AUTHENTICATE_Viewer

แต่ในบันทึก Apache ตัวแปรดังกล่าวไม่ปรากฏเลย

ลองใช้ตัวเลือกกับบล็อกด้วย แต่ไม่สำเร็จ

มีวิธีใดบ้างที่จะสร้างรูปร่างหน้าตาของ Role Model ใน Apache?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา