Score:0

การตรวจสอบสิทธิ์ tomcat9 shibboleth+mod_jk ถูกห้าม

ธง in

ฉันมีแอปพลิเคชัน Spring Boot ที่ทำงานภายใต้ Tomcat 8.5 ซึ่งรวม SSO ที่ใช้ shibboleth Shibboleth และ Tomcat เชื่อมต่อโดยใช้ apache2 mod_shib และ mod_jk โดยใช้แพ็คเกจ Debian 9 เริ่มต้น

ตอนนี้ฉันกำลังพยายามอัปเกรดสภาพแวดล้อมของแอปพลิเคชันเป็น Debian 10 (และ Tomcat 9) และส่วนใหญ่ทำงานกับการเปลี่ยนแปลงการกำหนดค่าเล็กน้อย ยกเว้นการตรวจสอบสิทธิ์ตาม Shibboleth

ถ้าโทรมา /เข้าสู่ระบบ/shibboleth (ซึ่งกำหนดค่าใน apache ให้ตรวจสอบสิทธิ์โดยใช้ shibboleth จากนั้นเข้าสู่ระบบภายในแอปพลิเคชันโดยใช้ตัวแปรที่ใช้ร่วมกันของ shibboleth ที่ให้มา) โปรโตคอลการตรวจสอบสิทธิ์ SAML2 ของ shibboleth นั้นทำอย่างถูกต้อง (และสามารถสอบถามเซสชัน shibboleth ใน apache ได้ในภายหลัง) แต่วิธีการจัดการ สำหรับ /เข้าสู่ระบบ/shibboleth ไม่ได้ถูกเรียก (ฉันตรวจสอบสิ่งนี้โดยใช้การดีบักระยะไกล) แต่ถูกปฏิเสธโดย Tomcat เอง:

สถานะ HTTP 403 â ถูกห้าม
พิมพ์รายงานสถานะ

คำอธิบาย เซิร์ฟเวอร์เข้าใจคำขอแต่ปฏิเสธที่จะอนุญาต

Apache Tomcat/9.0.31 (เดเบียน)

ฉันได้พยายามตรวจสอบปัญหานี้แล้ว และวิธีแก้ไขที่เป็นไปได้วิธีหนึ่งดูเหมือนจะใช้ความลับในตัวเชื่อมต่อ AJP การกำหนดหนึ่งรายการ (ใน server.xml ของ tomcat9) ดูเหมือนจะไม่เปลี่ยนพฤติกรรมใด ๆ (เช่น mod_jk ดูเหมือนจะไม่มีตัวเลือกที่เกี่ยวข้องดังนั้นฉันสงสัยว่า ใดๆ ฟังก์ชันทำงานเมื่อมีการกำหนดค่าความลับ)

ใครบ้างมีความคิดเกี่ยวกับ:

  • สิ่งที่อาจทำให้เกิดปัญหานี้
  • ทางออกที่เป็นไปได้คืออะไร
Score:0
ธง th

ตัวเชื่อมต่อ AJP หยุดให้แอตทริบิวต์คำขอ ol ใดๆ ผ่านใน Tomcat เวอร์ชันล่าสุด แอตทริบิวต์ที่ส่งผ่านโดยค่าเริ่มต้นมีอธิบายไว้ที่นี่: https://tomcat.apache.org/tomcat-9.0-doc/config/ajp.html#Standard_Implementations

คุณสามารถทดสอบว่านี่เป็นสาเหตุของข้อผิดพลาด 403 ของคุณหรือไม่ โดยอนุญาตแอตทริบิวต์ทั้งหมดภายในข้อกำหนดตัวเชื่อมต่อ AJP ชั่วคราว (ซึ่งมักพบใน server.xml)

<Connector protocol="AJP/1.3" 
           port="8009" 
           secret="your_ajp_secret" 
           allowedRequestAttributesPattern=".*" />

หากได้ผล คุณสามารถจำกัดแอตทริบิวต์ที่อนุญาตเฉพาะที่คุณต้องการจริงๆ มันจะแตกต่างกันไปตามการใช้งาน แต่วิธีนี้ใช้ได้สำหรับฉัน: allowRequestAttributesPattern="^(Shib-.*|eppn)$â

หากปัญหาของคุณเกี่ยวกับความลับ AJP จริง ๆ โปรดทราบว่า mod_proxy_ajp ของ Apache ไม่รองรับความลับจนกระทั่งเมื่อไม่นานมานี้ คุณจะพบเอกสารดังกล่าวในเวอร์ชันล่าสุด ดู https://httpd.apache.org/docs/2.4/mod/mod_proxy_ajp.html.

โพสต์คำตอบ

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