GateKeeper อนุญาตให้ฉันติดตั้งอะไรก็ได้ไม่มีการตรวจสอบใด ๆ


9

ฉันสามารถดาวน์โหลดแอพพลิเคชั่นจากเว็บไซต์ที่กำหนดเองและเปิดใช้งานแม้ว่าการตั้งค่า gatekeeper ของฉันจะอยู่ที่ "AppStore Only" นี่คือแอปพลิเคชันของฉัน - ยังไม่ได้ลงชื่อ

อะไรคือสาเหตุของสิ่งนั้น? ฉันสามารถทำซ้ำพฤติกรรมนี้ได้ใน mac ทั้ง 3 เครื่องของฉัน


2
คุณดาวน์โหลดและขยายแอพอย่างไร
Gordon Davisson

ผ่านตำแหน่งไฟล์เซิร์ฟเวอร์ smb: // คัดลอกพวกเขาไปยังเดสก์ทอปของฉัน บนเครื่องอื่น ๆ สิ่งนี้จะกระตุ้นกลไกความปลอดภัยอย่างถูกต้อง บนเครื่องของฉันแม้ว่าฉันจะมี "AppStore Only" แต่การใช้ไฟล์เดียวกันก็อนุญาตได้เช่นเดียวกันไม่มีข้อ จำกัด ในการติดตั้งและใช้งาน ความลึกลับ
JasonGenX

2
จะเกิดอะไรขึ้นถ้าคุณดาวน์โหลดไฟล์เดียวกันผ่าน http
stuffe

คำตอบ:


7

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

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

กล่องโต้ตอบการฝึกอบรมของ Apple สำหรับ Gatekeeper - จาก support.apple.com/kb/HT5290

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

Apple บันทึกคุณสมบัตินี้ในรายละเอียดเกี่ยวกับวิธีแสดงรายการแอปพลิเคชันอย่างชัดเจน

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

ในรายละเอียดฉันได้สรุป (และคัดลอกส่วนใหญ่) ส่วนที่เกี่ยวข้องของความช่วยเหลือของ Apple ในรายการ White App ใด ๆ เพื่อที่ Gatekeeper จะอนุญาตให้มันทำงานแบบไม่ จำกัด และไม่มีการโต้ตอบ

วิธีเปิดแอปจากผู้พัฒนาที่ไม่ปรากฏหลักฐานและยกเว้นจาก Gatekeeper

หากคุณมั่นใจว่าแอพที่ดาวน์โหลดจากอินเทอร์เน็ตเป็นเวอร์ชันล่าสุดและมาจากแหล่งที่คุณเชื่อถือคุณสามารถเปิดแอพจากนักพัฒนาที่ไม่ปรากฏหลักฐานโดยทำตามขั้นตอนเหล่านี้

สำคัญ: แอปที่คัดกรองแล้วของ Apple จากผู้พัฒนาที่อยู่ในกระบวนการรับลายเซ็นรหัสนักพัฒนาซอฟต์แวร์จะแสดงตัวเลือก "เปิด" เมื่อดับเบิลคลิก

หมายเหตุ: ในกรณีส่วนใหญ่คุณจะต้องทำตามขั้นตอนเหล่านี้เพียงครั้งเดียวสำหรับบัญชีผู้ใช้ทั้งหมดใน Mac:

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

หมายเหตุ: หากมีแอพที่แสดงกล่องโต้ตอบ Gatekeeper หลายกล่องคุณสามารถใช้ตัวเลือก "เสมอ" ของ Gatekeeper ได้ชั่วคราว ตรวจสอบให้แน่ใจว่าได้กู้คืนตัวเลือก Gatekeeper ที่เคยมีมาก่อนเพื่อนำฟังก์ชั่น Gatekeeper กลับมา

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


มีการตั้งค่าที่รีเซ็ตกล่องโต้ตอบแบบครั้งเดียวนี้หรือไม่ ต่อแอปพลิเคชันนี้คืออะไร แอพระบุได้อย่างไร? ชื่อ? เส้นทาง? ถ้าฉันเลือกที่จะเปิด "MyApp.app" หนึ่งครั้งการดาวน์โหลดและการติดตั้ง "MyApp.app" ครั้งต่อไปทั้งหมดจะสำเร็จหรือไม่โดยไม่คำนึงถึงการตั้งค่า GateKeeper
JasonGenX

ผู้ใช้แต่ละคนมีกฎที่แตกต่างกันที่เก็บไว้ใน / var / db / SystemPolicy - ดังนั้นคุณจะต้องใช้มือหนา ๆ นิดหน่อยในการลบและเริ่มต้นใหม่ แต่คุณสามารถลบกฎเฉพาะได้spctlดังนั้นspctl --assess -v /Applications/Whatever.appจะแสดงให้คุณเห็นถ้าอนุญาตหรือปฏิเสธและspctl --remove /Applications/Whatever.appจะรีเซ็ต "ไดอะล็อก" และสถานะสำหรับแอปพลิเคชันเฉพาะ ฉันใช้เครื่องมือเพื่อรวบรวมแอพทั้งหมดในระบบเพื่อให้ฉันสามารถตรวจสอบการใช้งานและแก้ไขสิ่งต่าง ๆ เมื่อจำเป็นด้วยสคริปต์สั้น ๆ
bmike

อย่างไรก็ตามตามคำตอบของกอร์ดอนสิ่งนี้ยังขึ้นอยู่กับการตั้งค่าบิตกักกันดังนั้นเพียงเพราะ GateKeeper ไม่มีรายการสีขาว (หรือถูกลบออก) จำเป็นต้องรีเซ็ตบิตกักกันหรือแอปที่ถูกลบเพื่อต่ออายุ " gatekeeper "กล่องโต้ตอบและการป้องกันแบบเปิด
bmike

10

การดาวน์โหลดไฟล์ผ่าน SMB จะไม่ทำให้เกิดการกักกันและเนื่องจากแอปไม่ได้ถูกกักกันนโยบายของผู้รักษาประตูจะไม่ได้รับการตรวจสอบ ฉันไม่แน่ใจว่าทำไมถูกทำเครื่องหมายว่าถูกกักกันบนคอมพิวเตอร์เครื่องอื่นของคุณ ...

ในการตรวจสอบการกักกัน ณ จุดใด ๆ ให้ใช้ls -ld@คำสั่งเพื่อค้นหาแอตทริบิวต์ com.apple.quarantine:

$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon  staff  102 Apr 30  2012 /Applications/TextWrangler.app
    com.apple.FinderInfo     32 
    com.apple.quarantine     57 

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

แก้ไข: มีหมายเหตุเกี่ยวกับสิ่งนี้ในส่วน "คลิกที่นี่เพื่อดูรายละเอียดเพิ่มเติม" ของบทความ KB ของ Apple # HT5290 :

สำคัญ:ลายเซ็น ID นักพัฒนาซอฟต์แวร์จะใช้กับแอพที่ดาวน์โหลดจากอินเทอร์เน็ต แอพจากแหล่งอื่นเช่นไฟล์เซิร์ฟเวอร์ไดรฟ์ภายนอกหรือดิสก์แบบออปติคัลจะได้รับการยกเว้นเว้นแต่จะมีการดาวน์โหลดแอพจากอินเทอร์เน็ตเป็นครั้งแรก


Gatekeeper นั้นแตกต่างจากการกักกันแม้ว่ามันจะช่วยปกป้องจากการทำงานโดยไม่ตั้งใจของซอฟต์แวร์ใหม่ที่ไม่ได้ลงนามและ / หรือไม่ได้มาจาก Mac App Store ดูคำตอบของฉันสำหรับรายละเอียด
bmike

1
@bmike: ที่จริงแล้ว gatekeeper เป็นส่วนขยายของระบบกักกัน หากคุณดาวน์โหลดแอพxattr -d com.apple.quarantineคุณสามารถเปิดแอพได้แม้ว่าจะเป็นการละเมิดนโยบายของผู้รักษาประตูก็ตาม
Gordon Davisson

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

1
@bmike: ใช่ฉันเพิ่งทดสอบการดาวน์โหลดการยกเลิกการรับประกันและการเรียกใช้แอพที่ไม่ได้ลงชื่อจากบัญชีที่ไม่ใช่ผู้ดูแลระบบและทำงานได้ดีแม้จะตั้งค่าโหมด Gatekeeper เป็น Mac App Store เท่านั้น แต่ฉันไม่คิดว่านี่เป็นช่องโหว่ความปลอดภัยที่สำคัญเนื่องจากหากผู้ที่ไม่เชื่อสามารถพูดคุยกับผู้ใช้ในการเรียกใช้คำสั่งเช่นนี้พวกเขาสามารถพูดคุยกับพวกเขาได้ทุกเรื่องและผู้ใช้ก็ต้องทำตาม สิ่งที่พวกเขาสามารถทำลายได้คือบัญชีของตัวเอง)
Gordon Davisson

1
นี้. การกักกันนั้นไม่เหมือนกับ Gatekeeper แต่ Gatekeeper นั้นอาศัยข้อมูลเมตาจากการกักกันซึ่งแนบมากับไฟล์ที่ดาวน์โหลดเป็นเมทาดาทาของแอตทริบิวต์ที่ขยายเพิ่มเติม ถ้าฉันสามารถมอบรางวัลให้ฉันก็จะให้รางวัลที่นี่
Daniel

4

หากคุณเปิดใช้งานการตั้งค่าที่ซ่อนอยู่นี้มันจะปิดการใช้งาน Gatekeeper ด้วย:

defaults write com.apple.LaunchServices LSQuarantine -bool false

หรือ OS X อนุญาตให้เปิดแอปพลิเคชันทั้งหมดโดยไม่คำนึงถึงการตั้งค่าในการตั้งค่าระบบ


โอ๊ะฉันพลาดไปทั้งหมดและโพสต์สิ่งเดียวกันกับคำตอบแยกต่างหาก กำลังลบตอนนี้ ...
TJ Luoma

2

Gatekeeper ป้องกันแอปไม่ให้ทำงานโดยการดับเบิลคลิก แต่คุณสามารถแทนที่ได้โดยเลือกเปิดจากเมนูบริบท

หากคุณสามารถเรียกใช้แอพที่ไม่ได้รับการดาวน์โหลดได้โดยดับเบิลคลิกนี่เป็นปัญหาของ Gatekeeper ไฟล์ที่จัดเก็บสถานะกักกันของพวกเขาในแอตทริบิวต์ขยายที่เรียกว่าcom.apple.quarantine หากคุณสมบัตินี้ถูกลบด้วยเหตุผลบางอย่างจากไฟล์ที่คุณดาวน์โหลด Gatekeeper จะถือว่าไฟล์ที่ดาวน์โหลดไม่ต่างจากไฟล์อื่น ๆ ในคอมพิวเตอร์ของคุณ ดังนั้นฉันขอแนะนำให้ดาวน์โหลดโปรแกรมแล้วใช้xattr -l filenameใน Terminal จะเป็นเครื่องมือวินิจฉัยที่ดีถ้าคุณติดตั้ง Xcode

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.