วิธีกำจัดไฟร์วอลล์“ ยอมรับการเชื่อมต่อเข้ามา” โต้ตอบ?


101

ฉันยอมรับหลายครั้งแล้วที่ไฟร์วอลล์ควรจำได้

ตัวอย่างเช่นฉันได้รับ Eclipse เมื่อเริ่มต้นโปรแกรม Java ของฉันในโหมดการดีบัก ... บางครั้งไดอะล็อกนี้จะปรากฏขึ้นในไม่ช้าเช่นครึ่งวินาทีและหายไป ฉันยังได้รับมันสำหรับ iTunes (เมื่อฉันเปิดใช้งานการแชร์ห้องสมุดของฉัน) และโปรแกรมอื่น ๆ แม้ว่าฉันจะมีรายชื่ออยู่ในแผงการตั้งค่าไฟร์วอลล์ (การตั้งค่า adv.)


คุณใช้ OSX เวอร์ชันใดอยู่
Martin Marconcini

@Martin: เพิ่มแท็กเสือดาวหิมะ ฉันใช้ล่าสุดและยิ่งใหญ่ที่สุด 1.6.4
ปีเตอร์Štibraný

พฤติกรรมนี้แปลกมากต่อความรู้ของฉัน ไฟร์วอลล์จะตรวจสอบลายเซ็นของแอปเพื่อให้รับรู้ดังนั้นการเปลี่ยนแปลงใด ๆ ในแอปหมายความว่าอาจไม่ได้รับการยอมรับอีกต่อไปและจะทำให้เกิดพรอมต์ใหม่ Leopard มีแนวโน้มที่จะเกิดขึ้นมากกว่า 10.6 แต่มันยังคงเกิดขึ้นจากสิ่งที่คุณบอก
Martin Marconcini

ฉันเคยเห็นสิ่งนี้ตลอดเวลาด้วย VirtualBox บน Snow Leopard ฉันชอบที่จะได้ยินคำอธิบายสำหรับมันเช่นกัน
Ben Wyatt

น่ารำคาญมาก ฉันเห็นป๊อปอัปสองสามครั้งต่อวันขณะทำงานใน Eclipse มันจะปรากฏขึ้นเพียงเสี้ยววินาทีหรือมากกว่านั้น สิ่งนี้เกิดขึ้นกับ Mountain Lion กับ Eclipse Juno SR2
Gunnar

คำตอบ:


12

มีสองตัวเลือกที่นี่:

  1. คุณสามารถเลือก "อนุญาตทั้งหมด" ในไฟร์วอลล์ของคุณหรือเพียงแค่ปิด
  2. คุณสามารถลบแอพออกจากรายการลบplistไฟล์สำหรับแอพเหล่านั้นเรียกใช้แอพจากนั้นเพิ่มแอพลงในรายการ นักวางแผนรับผิดชอบพฤติกรรมหลายอย่างและฉันยินดีที่จะเดิมพันทั้งการอัปเกรดเป็นระบบปฏิบัติการหรือแอปอาจทำให้ "ลิงก์" เสียหาย

เกี่ยวกับplistไฟล์ ... Plist เป็นไฟล์ข้อความชนิดพิเศษที่มีคุณสมบัติแอปพลิเคชันและทรัพยากรอื่น ๆ ซึ่งโดยทั่วไปคือระบบปฏิบัติการใช้เพื่อเก็บและใช้ข้อมูลที่จำเป็นในการเรียกใช้แอปพลิเคชัน plistเป็นประเภทไฟล์และมีประโยชน์หลายอย่างโดยทั่วไปแล้วจะจัดเก็บค่ากำหนดของผู้ใช้ แต่โดยหลักแล้วมันคือไฟล์ XML คุณสามารถดูเพื่อดูว่ามีแคชใด ๆ ซึ่งโดยทั่วไปจะมีplistไฟล์สำหรับการใช้งานในการตั้งคำถามในและ/Library/Caches /System/Library/Cachesนอกจากนี้ยังมีหนึ่งใน~/Library/Caches/แต่สิ่งเลวร้ายสามารถเกิดขึ้นได้เมื่อมีการล้อเล่นในนั้นดังนั้นเพียงแค่ปล่อยให้มันอยู่คนเดียว ระบบเข้าสู่โฟลเดอร์เหล่านั้นด้วยเหตุผลที่หลากหลายและฉันมักจะล้างสองโฟลเดอร์แรกที่ฉันแสดงรายการไว้อย่างสมบูรณ์เดือนละครั้ง


คุณช่วยอธิบายสิ่งที่คุณหมายถึงโดย "ลบไฟล์ plist สำหรับแอพเหล่านั้น"
ปีเตอร์ibrtibraný

2
ไฟล์ plist มีการตั้งค่าแอปพลิเคชันเหนือสิ่งอื่นใด (และสามารถลบได้อย่างปลอดภัย แต่ควรทำสำเนาเสมอในกรณี) แอป Cocoa ใด ๆจะต้องได้รับการตั้งโปรแกรมให้สร้าง Plist ใหม่ขึ้นมาเองหากไฟล์ "หายไป" เพลทสำหรับแอปมักจะอยู่ใน / Users / your_user / Library / Preferences ไฟล์ลงท้ายด้วยนามสกุล. plist และมักจะมีชื่อดังนี้:“ com.company.appname.plist” เช่น: com.adobe.Phosothop.plist คุณสามารถย้ายพวกมันไปยังเดสก์ท็อปของคุณและเปิดแอปพลิเคชันเพื่อ“ สร้างใหม่” ได้
Martin Marconcini

เป็น~ในเส้นทางดังกล่าวข้างต้นอ้างอิงไฟล์โฟลเดอร์บ้านของผู้ใช้ในปัจจุบันหรือไดเรกทอรีราก?

2
ลดลงเนื่องจากไม่ได้เป็นตัวเลือกในหลายกรณี ความคิดเห็นของ user465139 เหมาะสมกว่า แม้ว่าจะยังมีความเสี่ยงด้านความปลอดภัย - อย่างน้อยก็น้อยกว่าที่อนุญาตให้แอปทั้งหมดเข้า / ออก
sholsinger

1
เห็นด้วยกับ @sholsinger ในรายการนี้เพียงแค่สะดุดในเรื่องนี้สำหรับ Mavericks + PHPS รูปแบบและตัวเลือกการเซ็นชื่อด้วยตนเองนั้นง่ายรวดเร็วและใช้งานได้ ธุรกิจ plist นี้ยุ่งมาก
Alex Weber

61
sudo codesign --force --deep --sign - /path/to/application.app

ฉันไม่เคยสร้างใบรับรองโดยใช้วิธีนี้

หากวิธีนี้ไม่ได้ผลให้ลองทำโดย--deepไม่ต้องใช้เครื่องหมายทับ:

sudo codesign --force --sign - /path/to/application.app

หมายเหตุเพียงเพื่อให้ชัดเจนยิ่งขึ้น: หลังจากใช้ลายเซ็นให้เริ่มต้นแอปยอมรับการเชื่อมต่อขาเข้าเป็นครั้งสุดท้ายจากนั้นออกและเริ่มอีกครั้งเพื่อตรวจสอบว่าคำขอนั้นหายไป


5
ฉันรู้เพราะฉันทำมัน? ฉันไม่แน่ใจว่าสิ่งที่คุณขอ ... โดยใช้วิธีการที่ฉันสามารถกำจัดป๊อปอัพ 'ยอมรับการแจ้งเตือนเข้ามา' (แม้ว่าหลังจากลงนามคุณจะถูกถามอีกครั้งสุดท้ายแล้วไม่มีอีก ) มันใช้งานได้สำหรับ Spotify และ AppCode หากคุณต้องการข้อมูลอ่านหน้าคน? แก้ไข: ฉันใช้ Yosemite GM Candidate v3.0 ถ้าช่วยคุณได้
ahall

2
ฉันต้องการแก้ไขรายละเอียดเล็ก ๆ น้อยหนึ่ง: แอพที่ต้องแก้ไขภายใต้ / path / to / app ต้องมีจุดสิ้นสุด. appเช่น: /path/to/exampleapp.app

4
@IconDaemon การใช้งาน-หลังจาก--signหมายความว่า "การเซ็นชื่อแบบเฉพาะกิจ" ถูกนำมาใช้; ไม่จำเป็นต้องมีใบรับรองเพื่อใช้คำสั่งนั้น ฉันไม่เข้าใจว่าทำไมสิ่งนี้จึงขัดแย้งกับการใช้เครื่อง เรียกใช้man codesignเพื่อดูคำอธิบาย
Mike

3
ง่ายและใช้งานได้ ดีกว่าคำตอบที่ยอมรับเพราะฉันไม่ต้องการลบไฟล์ plist
Justin

2
sudo codesign --force --sign - /path/to/application.appได้ผลสำหรับฉัน แต่ไม่ใช่รูปแบบที่ผู้เขียนแนะนำ ฉันสงสัยว่า--deepหรือเครื่องหมายทับเป็นปัญหาหรือไม่
Jose Alban

61

ในขณะที่ลิงก์ RedYeti มีประโยชน์เพียงบันทึกไม่กี่คลิกสำหรับคนอื่น ๆ ให้ฉันสรุปวิธีการสร้างใบรับรองการลงนามรหัสและใช้สำหรับการลงนามรหัส (อีกครั้ง):

  1. สร้างใบรับรองการลงนามรหัสของคุณเอง:

    • ใน Keychain Access, Keychain Access> ผู้ช่วยใบรับรอง> สร้างใบรับรอง นี่เป็นการเปิดตัวผู้ช่วยใบรับรอง:

    • ชื่อ: ป้อนสตริงที่กำหนดเองที่นี่ซึ่งคุณสามารถจำได้ หลีกเลี่ยงช่องว่างมิฉะนั้นคุณจะต้องหลีกเลี่ยงชื่อใบรับรองเมื่อใช้codesignจากบรรทัดคำสั่ง

    • ประเภทตัวตน: รูตที่ลงชื่อด้วยตนเอง

    • ประเภทใบรับรอง: การเซ็นรหัส

    • ทำเครื่องหมายที่ช่อง "ให้ฉันแทนที่ค่าเริ่มต้น" สิ่งนี้ค่อนข้างสำคัญ

    • หมายเลขซีเรียล: 1 (ตกลงตราบใดที่ชื่อใบรับรอง / หมายเลขซีเรียลรวมกันจะไม่ซ้ำกัน)

    • ระยะเวลาที่มีผลบังคับใช้: 3650 (ให้คุณ 10 ปี)

    • กรอกอีเมล์ชื่อและอื่น ๆ ตามที่คุณต้องการ

    • ข้อมูลคู่คีย์: ตั้งค่าเป็น RSA, 2048 บิต ไม่สำคัญสำหรับ IMHO

    • จาก "ส่วนขยายการใช้คีย์" ถึง "หัวเรื่องส่วนขยายชื่อสำรอง": ยอมรับค่าเริ่มต้น

    • สถานที่: พวงกุญแจเข้าสู่ระบบ

    • เมื่อสร้างแล้วให้ตั้งค่าเป็น "ไว้วางใจเสมอ" ในพวงกุญแจเข้าสู่ระบบ: คลิกขวาที่ใบรับรองเลือก "รับข้อมูล" และในส่วน "เชื่อถือ" ตั้ง "เมื่อใช้ใบรับรองนี้" เป็น "ไว้วางใจเสมอ"

  2. ลงชื่อแอปอีกครั้ง: codesign -f --deep -s <certname> /path/to/app

  3. ตรวจสอบว่ามันใช้งานได้: codesign -dvvvv /path/to/app

สนุก!


4
ขอขอบคุณ! นี่เป็นทางออกเดียวที่กำจัดกล่องโต้ตอบไฟร์วอลล์สำหรับฉัน ฉันใช้ OSX 10.10 โยเซมิตี
Jason

1
ดีมาก! ง่ายสำหรับนักพัฒนาที่มีใบรับรองอยู่แล้วเช่นกัน!
cwd

1
ข้อสังเกตด้านข้าง: ฉันเพิ่มช่วงเวลาที่มีผลใช้ได้สูงสุดเป็น 7300 (วัน) นั่นคือ 20 ปี ฉันพบว่ามีการลองว่านี่คือจำนวนสูงสุดที่กล่องอินพุตยอมรับ (อย่างน้อยใน OSX Yosemite 10.10.3) - ดีมาก ๆ รุ่งโรจน์!
DavAlPi

คำตอบของ ahall นั้นง่ายกว่ามากและใช้งานได้กับฉันใน OS X 10.10
n1000

ใช้งานไม่ได้กับฉันใน OS X 10.11.1 (15B42)
suzanshakya

15

สิ่งนี้เกี่ยวข้องกับแอปที่ลงชื่อหรือไม่ หากยังไม่ได้ลงชื่อการตั้งค่าจะไม่ถูกจดจำ

หากต้องการดูว่ามีการลงชื่อแอปหรือไม่ให้ทำเช่นนี้ในเทอร์มินัล:

cd path/to/your/app
codesign -vvv Eclipse.app/

สำหรับ Eclipse - ของฉันบอกว่ามันไม่ได้ลงนามเลย ฉันไม่สามารถแสดงความคิดเห็นเพิ่มเติมเกี่ยวกับวิธีลงชื่อแอพได้เนื่องจากฉันไม่ได้ใส่ใจที่จะทำเช่นนั้น แต่คำตอบนี้เกี่ยวกับ superuser ครอบคลุม:

https://superuser.com/questions/100013/why-does-the-mac-os-x-firewall-dialog-recurringly-pop-up-and-disappear-by-itself#300841


1
ในขณะที่คำตอบของ ahall ให้ทางออก แต่คำตอบนี้อธิบายว่า ถ้ารวมมันจะเป็นคำตอบที่สมบูรณ์แบบ
not2savvy

3

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


ขอบคุณมาก แต่แทนที่จะเป็นแอพฉันจะลงชื่อเวอร์ชันหลาม (พูด python3.6) ในสภาพแวดล้อม conda ได้อย่างไร
Agile Bean

1

ฉันซาบซึ้งว่านี่เป็นคำถาม & คำตอบที่เก่า แต่มันก็เป็นเรื่องฮิตสำหรับฉันเมื่อฉันมีปัญหาเดียวกันกับ google แค่ต้องการเพิ่มบางสิ่งบางอย่างสำหรับคนอื่น ๆ ที่อาจลงจอดที่นี่

ในการเรียกใช้งานคำสั่ง Codeign ใด ๆ ที่ระบุไว้ที่นี่จำเป็นต้องติดตั้งเครื่องมือบรรทัดคำสั่ง xcode หากไม่มีสิ่งเหล่านี้เราจะได้รับข้อความแสดงข้อผิดพลาด:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

ในการแก้ไขปัญหานี้ให้ติดตั้งเครื่องมือด้วย:

xcode-select install

ฉันจะแสดงความคิดเห็นในโพสต์ของ ahall แต่ฉันไม่มีคะแนนชื่อเสียงให้ทำเช่นนั้น


0

ฉันได้รับกล่องสนทนานี้ (Canon ccpd) ทุกครั้งหลังจากเริ่มคอมพิวเตอร์ เปิดไฟร์วอลล์> ความปลอดภัยและความเป็นส่วนตัว> ปลดล็อกเพื่อเปิดใช้งานการเปลี่ยนแปลง> คลิกที่ปุ่ม "เปิดใช้งานโหมดซ่อนตัว"> ปุ่มคลิก "บล็อกการเชื่อมต่อที่เข้ามาทั้งหมด"

ไม่มีกล่องโต้ตอบน่ารำคาญจากไดรเวอร์เครื่องพิมพ์ Canon หลังจากนั้น


แต่แอปจะไม่ทำงาน ...
ไม่ใช่ 2savvy

0

ฉันลองทั้งหมดข้างต้นใน Mac 10.13 และไม่มีอะไรทำงาน

ในตอนท้ายฉันเขียนสคริปต์ที่รันเมื่อล็อกเอาต์แนบกับ login hook ที่ปิดไฟร์วอลล์ดังนั้นเมื่อลงชื่อเข้าใช้แล้วไม่จำเป็นต้องได้รับอนุญาตอีกต่อไปจากนั้นใช้ล่าช้าเปิดตัวรันสคริปต์อื่นที่เปิดไฟร์วอลล์

ทั้งหมดนี้ดี


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

0

สถานการณ์ของฉันเกี่ยวข้องกับ Eclipse สองชุดที่ติดตั้งบน MacOS Mojave 10.14.5 สำเนาแรกได้รับอนุญาตกับไฟร์วอลล์ MacOS สำเนาที่สองจะแสดงพร้อมท์ "ยอมรับการเชื่อมต่อขาเข้า" เสมอ การเลือก "ยอมรับ" จะนำเสนอข้อความต่อไปหลังจากการรีบูตแต่ละครั้งดูเหมือนว่าการตั้งค่าไฟร์วอลล์จะไม่ได้รับการอัพเดต

วิธีแก้ปัญหาคือการเปิดการตั้งค่าระบบ MacOS -> ความปลอดภัยและความเป็นส่วนตัว -> ไฟร์วอลล์ปลดล็อกหน้าจอตัวเลือกไฟร์วอลล์ เลือก Eclipse.app "อนุญาตการเชื่อมต่อขาเข้า" และลบออกด้วยปุ่ม "-" ครั้งต่อไปที่ฉันเลือกพรอมต์ "อนุญาต" สำหรับ Eclipse "ยอมรับการเชื่อมต่อขาเข้า" เป็นครั้งสุดท้าย


-2

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

เปิดสปอตไลท์ด้วย CMD + Spacebar แล้วค้นหา "ความเป็นส่วนตัว" และเลือก "ความปลอดภัยและความเป็นส่วนตัว" จากนั้นสลับไปที่แท็บ "ไฟร์วอลล์" และปิดใช้งานไฟร์วอลล์ที่นั่น


2
ดูเหมือนว่าจะเป็นทางออกที่ไม่ดีนักสำหรับคนส่วนใหญ่ยกเว้นว่าพวกเขารู้ว่ากำลังทำอะไรอยู่ ไฟร์วอลล์มีเหตุผลที่ดี - แม้แต่ใน Mac
RedYeti

ฉันคิดว่าคุณหมายถึง "ไฟร์วอลล์นั้นน่ารำคาญ - แม้กระทั่งบน Mac" ไม่ใช่ทุกคนที่ไม่ได้รับการศึกษาทำงานบนเครือข่าย wifi ที่สนามบินโดยที่พอร์ตทั้งหมดของพวกเขาเปิดทำการดาวน์โหลดไวรัสจากเว็บไซต์จำหน่ายมัลแวร์ คำตอบของฉันแก้ไขปัญหาได้อย่างถูกต้องและหลีกเลี่ยงกล่องป๊อปอัปที่น่ารำคาญของ Apple ทุกครั้งที่คุณคอมไพล์ไบนารีที่ใช้เครือข่ายคุณจะได้รับป๊อปอัพซึ่งไม่สามารถใช้งานได้อย่างแน่นอน ป๊อปอัพเป็นอีกวิธีหนึ่งที่น่ารำคาญที่ Apple พยายามทำให้คนไร้การศึกษาในขณะที่นักพัฒนาออกจากที่สูงและแห้ง
anon58192932

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