วิธีการจัดเก็บหนังสือรับรองพร็อกซีใน macOS เพื่อให้พวกเขาจะใช้บริการระบบ?


14

ฉันใช้ macOS Sierra 10.12.6 หลังพร็อกซี NTLM ของ บริษัท เบราว์เซอร์ของฉันและแอปพลิเคชันอื่นกำลังใช้การตั้งค่าพร็อกซีระบบซึ่งฉันได้บันทึกชื่อผู้ใช้และรหัสผ่านสำหรับการตรวจสอบความถูกต้องด้วยพร็อกซี มันใช้งานได้ดี

มีปัญหาถาวรกับบริการของระบบที่พยายามเข้าถึงข้อมูลบนอินเทอร์เน็ตและไม่เห็นว่ามีสิทธิ์เข้าถึงหนังสือรับรองพร็อกซีในบัญชีผู้ใช้ของฉัน ฉันเห็นป๊อปอัปต่อไปนี้ทุกสองสามนาทีและไม่ว่าฉันจะทำอะไร (อัปเดตข้อมูลประจำตัวของฉันในการตั้งค่าระบบหรือกด "ไม่ใช่ตอนนี้") ป๊อปอัปจะปรากฏขึ้นเรื่อย ๆ :

ต้องการการรับรองความถูกต้องของพร็อกซี

ข้อความในป๊อปอัพอ่าน:

ต้องการการรับรองความถูกต้องของพร็อกซี

ป้อนรหัสผ่านสำหรับพร็อกซี HTTP http://xxx.xxx.xxx.xxx:yyyyในการตั้งค่าระบบ

ฉันจะทำอย่างไรเพื่อป้องกันไม่ให้ป๊อปอัปนี้ปรากฏ

สิ่งที่ฉันได้ลองไปแล้ว:

  • อัปเดตข้อมูลรับรองของฉันในการตั้งค่าระบบ ( เครือข่าย> ขั้นสูง> พร็อกซี )
  • คัดลอกรายการข้อมูลรับรองจากพวงกุญแจการเข้าสู่ระบบไปยังระบบพวงกุญแจเนื่องจากฉันอ่านคำแนะนำสำหรับสิ่งนั้นในคำถามโพสต์ในบล็อกหรือฟอรัม

สิ่งเหล่านี้ไม่ได้ผลฉันได้ป๊อปอัปนี้ทุกสองสามนาทีและดูเหมือนจะไม่มีรูปแบบเมื่อมันปรากฏขึ้น

อัปเดต 1:

ทันทีที่ฉันป้อนข้อมูลประจำตัวของฉันโดยคลิกที่ปุ่มการตั้งค่าระบบในกล่องโต้ตอบด้านบน (ซึ่งฉันสามารถบังคับได้เช่นเปิด Safari และเริ่มพิมพ์ URL ในกล่องตำแหน่ง) จะมีการสร้างบันทึกสองรายการในพวงกุญแจการเข้าสู่ระบบเนื้อหา:

@ xxx.xxx.xxx.xxx (ชื่อผู้ใช้) รหัสผ่านอินเทอร์เน็ตวันนี้, 09:10 - เข้าสู่ระบบ

ระเบียนทั้งสองมีลักษณะเหมือนกันโดยมีชื่อและแอตทริบิวต์เดียวกัน ทั้งสองแสดงว่าแอปพลิเคชันที่ร้องขอนี้คือAuthBrokerAgent:

การควบคุมการเข้าถึงพวงกุญแจ

อัปเดต 2:

ฉันได้ลองคำแนะนำนี้แล้ว: https://discussions.apple.com/message/23848961#message23848961การคัดลอกรายการการรับรองความถูกต้องจากพวงกุญแจเข้าสู่ระบบไปยังพวงกุญแจระบบแล้วทำการรีบูต แต่มันก็ไม่สามารถแก้ไขได้ อันที่จริงแล้วกล่อง "ต้องมีการตรวจสอบความถูกต้องของพร็อกซี" ที่หวั่นปรากฏขึ้นอีกครั้งในขณะที่พิมพ์สิ่งนี้ ...

อัปเดต 3:

ฉันใช้ Wireshark เพื่อดูปริมาณการใช้งานระหว่างเครื่องและพร็อกซีของเรา:

  • พร็อกซีกลับมาพร้อมกับ407 Proxy Authentication RequiredและProxy-Authenticate: NTLMซึ่งสอดคล้องกับความคาดหวังของฉันเนื่องจากพร็อกซีของเราใช้ NTLM
  • ตัวอย่างบางอย่างที่ฉันเห็นในการรับส่งข้อมูล (เช่น iCloud) จากนั้นส่งการNTLMSSP_NEGOTIATEตอบกลับ
  • พร็อกซีกลับมาพร้อมNTLMSSP_CHALLENGEคำขอ
  • บริการตอบสนองด้วยNTLMSSP_AUTHและชื่อผู้ใช้ของฉันซึ่งจะต้องได้รับจากที่ใดที่หนึ่ง
  • พร็อกซีตอบกลับด้วยในที่สุด 200 Connection established

สำหรับฉันแล้วนี่แสดงให้เห็นว่าโดยทั่วไปการตรวจสอบความถูกต้องของพร็อกซีนั้นใช้งานได้ดีหากระบบสามารถรับชื่อผู้ใช้และพร็อกซีได้จากที่ไหนสักแห่ง คำถามยังคงอยู่ว่าจะเก็บชื่อผู้ใช้ / รหัสผ่านอย่างไรเพื่อให้บริการระบบทั้งหมดสามารถค้นหาได้ บริการระบบบางอย่าง (ฉันถือว่า) ไม่มีวิธีการใด ๆ ในการค้นหาหนังสือรับรองพร็อกซีที่ฉันกำลังจัดเก็บไว้ในขณะนี้


คำถามที่เกี่ยวข้อง: apple.stackexchange.com/questions/117556/…
nwinkler

คุณใช้พร็อกซีแบบใด ฉันจำได้ว่า (จากชีวิตที่ผ่านมาแตกต่างกัน) ที่พร็อกซีที่เราใช้มีความสามารถในการไม่อนุญาตการจัดเก็บรหัสผ่านจึงบังคับให้ผู้ใช้รับรองความถูกต้องทุกครั้ง นี่อาจเป็นกรณี
อัลลัน

1
คุณเคยแก้ไขปัญหานี้หรือไม่เพราะฉันพบปัญหาเดียวกันเป็นครั้งคราวและฉันกำลังเชื่อมต่อกับโซลูชัน Citrix VPN เมื่อป๊อปอัปปรากฏขึ้นมันก็เกิดขึ้นซ้ำแล้วซ้ำอีกและในที่สุดบัญชีโฆษณาของฉันก็จะถูกล็อค ฉันยังไม่พบวิธีแก้ไขปัญหานี้ เนื่องจากฉันใช้ MacBook Pro และแผนกไอทีส่วนใหญ่เป็นระบบ Windows ฉันจึงไม่สามารถรับข้อมูลที่เป็นประโยชน์จากไอทีได้ เมื่อฉันเชื่อมต่อกับ VPN ฉันกำลังทำงานกับแอปพลิเคชัน Oracle ที่ทำงานบนเซิร์ฟเวอร์ Solaris SPARC ฉันหวังว่าคุณจะพบวิธีในการแก้ไขปัญหานี้ stan
Stan Repetta

ขออภัยยังไม่พบวิธีแก้ปัญหาสำหรับสิ่งนี้ สิ่งที่ฉันทำคือฉันย้ายหน้าต่างที่ขอหนังสือรับรองพร็อกซีไปที่ด้านข้างของหน้าจอโดยไม่ต้องกดปุ่มใด ๆ - ทำให้เงียบอย่างน้อย ...
nwinkler

คำตอบ:


9

นี่เป็นพฤติกรรมที่คาดว่าจะเกิดขึ้นมากที่สุดหากผู้ดูแลระบบ / เครือข่ายของคุณกำหนดค่าการรับรองความถูกต้องของพร็อกซีบังคับที่ต้องมีมากกว่ารูปแบบการรับรองความถูกต้องพื้นฐาน

จากเพจของ Microsoft การจัดการการตรวจสอบสิทธิ์ภายใต้ส่วนเกี่ยวกับการตรวจสอบสิทธิ์ HTTP :

มีรูปแบบการตรวจสอบสิทธิ์ทั่วไปสองประเภท:

  • ชุดรูปแบบการรับรองความถูกต้องเบื้องต้นที่ชื่อผู้ใช้และรหัสผ่านจะถูกส่งไปยังเซิร์ฟเวอร์ข้อความธรรมดา
  • แบบแผนการตอบสนองต่อความท้าทายซึ่งอนุญาตให้ใช้รูปแบบการตอบกลับแบบท้าทาย

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

หากพร็อกซีที่คุณใช้ใช้รูปแบบการตรวจสอบสิทธิ์ขั้นพื้นฐานสิ่งที่บันทึกไว้ในพวงกุญแจของคุณจะเพียงพอต่อการรับรองความถูกต้องของคุณ หากมีการใช้รูปแบบการตอบสนองต่อความท้าทายคุณจะต้องให้ข้อมูลเพิ่มเติม - ในกรณีนี้ - ป้อนรหัสผ่านของคุณอีกครั้งเพื่อตรวจสอบสิทธิ์ และนี่คือสิ่งที่คุณเห็น

กระบวนการพิสูจน์ตัวตน NTLM

นี่เป็นมากกว่าเพียงแค่การจัดเก็บข้อมูลรับรอง ลูกค้าจะต้องสร้างการตอบสนองตามคำขอที่สร้างขึ้นจากเซิร์ฟเวอร์ ต่อไปนี้เป็นคำอธิบายย่อ ๆของกระบวนการตรวจสอบสิทธิ์จากมุมมองไคลเอนต์ / เซิร์ฟเวอร์ตาม เอกสารของ Microsoft

  • ไคลเอ็นต์ส่งชื่อผู้ใช้ไปยังเซิร์ฟเวอร์ (เป็นข้อความธรรมดา)
  • เซิร์ฟเวอร์สร้างหมายเลขสุ่ม 16 ไบต์เรียกว่าความท้าทายหรือไม่และส่งไปยังลูกค้า
  • ลูกค้าเข้ารหัสการท้าทายนี้ด้วยแฮชของรหัสผ่านของผู้ใช้และส่งกลับผลลัพธ์ไปยังเซิร์ฟเวอร์ สิ่งนี้เรียกว่าการตอบสนอง
  • เซิร์ฟเวอร์ส่งรายการสามรายการต่อไปนี้ไปยังตัวควบคุมโดเมน:

    • ชื่อผู้ใช้
    • ส่งการท้าทายไปยังลูกค้า
    • ได้รับการตอบรับจากลูกค้า
  • DC ตรวจสอบความท้าทายที่เข้ารหัสและการตอบสนอง หากรับรองความถูกต้องจะได้รับอนุญาตให้เข้าถึง

ขั้นตอนที่สามข้างต้นกำหนดให้ไคลเอ็นต์ต้องแฮชหมายเลขสุ่มที่ได้รับจากเซิร์ฟเวอร์ สิ่งนี้หมายความว่าไม่มีอะไรที่จะเก็บไว้ในไคลเอนต์ macOS ของคุณ

อย่างน้อยที่สุดคุณจะต้องเข้าร่วมโดเมน Active Directory นี่หมายความว่าคุณต้องเปิดใช้งานKerberos และรองรับการกำหนดค่าอย่างเหมาะสมสำหรับองค์กรของคุณ

มีวลีสำคัญในเอกสาร "การจัดการการรับรองความถูกต้อง" ที่ฉันเชื่อมโยงด้านบน:

หากจำเป็นต้องมีการพิสูจน์ตัวตนควรใช้แฟล็ก INTERNET_FLAG_KEEP_CONNECTION ในการเรียกไปที่ HttpOpenRequest จำเป็นต้องมีการตั้งค่าสถานะ INTERNET_FLAG_KEEP_CONNECTION สำหรับ NTLM และการรับรองความถูกต้องประเภทอื่น ๆ เพื่อรักษาการเชื่อมต่อในขณะที่ดำเนินการตรวจสอบสิทธิ์ให้เสร็จสิ้น หากการเชื่อมต่อไม่ได้รับการบำรุงรักษากระบวนการตรวจสอบความถูกต้องจะต้องเริ่มต้นใหม่ด้วยพรอกซีหรือเซิร์ฟเวอร์

(เหมืองเน้น)

จากอาการที่แสดงให้เห็นว่าองค์กรของคุณต้องการการรับรองความถูกต้องกับพร็อกซี ชื่อผู้ใช้ / รหัสผ่านของคุณถูกต้อง แต่จะขอการรับรองความถูกต้องอีกครั้ง อาจเป็นเพราะคุณกำลังสูญเสียสถานะการเชื่อมต่อและต้องทำเช่นนี้อีกครั้ง ซึ่งเน้นจุดต่อไป ...

ในการแก้ปัญหานี้คุณจะต้องติดต่อผู้ดูแลระบบเครือข่ายของคุณเพื่อช่วยเหลือคุณในการตรวจสอบปัญหา


1
ฉันจะค้นหารูปแบบการตรวจสอบความถูกต้องที่ใช้อยู่ได้อย่างไร มีส่วนหัว HTTP ที่ฉันสามารถดูได้เมื่อแอปพลิเคชันพูดคุยกับพร็อกซีหรือไม่ ฉันสามารถทำสิ่งนี้ได้ในคอนโซลเครือข่ายของ Chrome หรือฉันต้องใช้บางอย่างเช่น Wireshark
nwinkler

ยิ่งกว่านั้นคุณจะต้องใช้ Wireshark โปรดทราบว่ามันอาจถูกเข้ารหัสด้วยทราฟฟิก
อัลลัน

1
ฉันได้เพิ่มข้อมูลบางอย่างจากสิ่งที่ฉันเห็นใน Wireshark ให้กับคำถาม
nwinkler

1
ขอขอบคุณที่เพิ่มข้อมูลเพิ่มเติมเกี่ยวกับ NTLM ให้กับคำตอบของคุณ ฉันเข้าใจ NTLM และจากสิ่งที่ฉันเห็นได้จากผลลัพธ์ Wireshark มันทำงานได้ - ความท้าทาย / การตอบสนองที่คุณอธิบายนั้นเสร็จสิ้นเช่นสำหรับ Dropbox หรือ iCloud services ฉันยังไม่แน่ใจว่าบริการใดที่เปิดกล่องโต้ตอบข้อมูลรับรองพร็อกซีซ้ำ ๆ คำตอบของคุณมีข้อมูลจำนวนมาก แต่ไม่ได้ช่วยฉันจริงๆ
nwinkler

1
Connection Established! Access Granted= บุคคลที่สามารถยืนยันได้ว่านี่ใช้งานได้คือผู้ดูแลระบบ / เครือข่ายของคุณในแผนกไอทีของคุณ
อัลลัน


-2

รันคำสั่งต่อไปนี้จากConsole.app:

networksetup -setwebproxy "Your Interface Name" "web proxy hostname or IP" 
8080 on username password

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


1
ฉันได้ลองแล้ว แต่มันไม่สามารถแก้ไขปัญหาได้ คำสั่งตั้งค่าพร็อกซีสำหรับผู้ใช้ของฉันและเก็บการรับรองความถูกต้องในloginพวงกุญแจของผู้ใช้ของฉัน ทันทีหลังจากที่ฉันทำสิ่งนี้ไดอะล็อกการพิสูจน์ตัวตนพร็อกซีที่ฉันแสดงด้านบนโผล่ขึ้นมาอีกครั้ง การแก้ไขที่แนะนำของคุณไม่สามารถแก้ไขปัญหาให้ฉันได้
nwinkler

เพราะพวงกุญแจเข้าสู่ระบบของคุณถูกล็อคหรือคุณมีบันทึกสองครั้ง
Siarhei Karatkevich

1
พวงกุญแจเข้าสู่ระบบถูกปลดล็อคฉันตรวจสอบอีกครั้งว่า จุดเกี่ยวกับการบันทึกสองครั้งอาจถูกต้องแม้ว่า ฉันลบระเบียนทั้งหมดสำหรับการรับรองความถูกต้องของพร็อกซีที่ฉันพบในการเข้าสู่ระบบและระบบพวงกุญแจ แต่ทันทีที่ฉันพิมพ์รหัสผ่านของฉันเพียงครั้งเดียวในกล่องโต้ตอบในการโพสต์ต้นฉบับของฉันฉันจบลงด้วยสองรายการใน ข้อมูลเดียวกัน ถ้าฉันลบมันจะกลับมาเมื่อฉันป้อนข้อมูลประจำตัวของฉันอีกครั้ง
nwinkler

1
ฉันลองsecurityคำสั่งที่คุณระบุไว้ - ไม่พบอะไรเลย จะทำอย่างไรถ้าฉันเปลี่ยนfind-generic-passwordคำสั่งเป็นfind-internet-passwordเนื่องจาก Keychain แสดงรายการเป็นชนิด "รหัสผ่านอินเทอร์เน็ต"
nwinkler

1
URL พร็อกซีถูกตั้งค่าเป็นxxx.xxx.xxx.xxxนั่นคือวิธีการทำงานเช่นจากบรรทัดคำสั่ง ฉันจะพยายามจับภาพสิ่งที่ใช้ Wireshark
nwinkler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.