Güvenlik duvarından “gelen bağlantıları kabul et” iletişim kutusundan nasıl kurtulurum?


101

Bunu birçok kez kabul ettim, güvenlik duvarı zaten hatırlamalıdır.

Örneğin, Java programlarımı hata ayıklama modunda başlatırken Eclipse için alıyorum ... bazen bu iletişim kutusu yalnızca kısa bir süre, yarım saniye gibi görüntüleniyor ve kayboluyor. Ayrıca Firewall tercihleri ​​panelinde (adv. Ayarları) listelenmesine rağmen iTunes'u (kitaplığımı paylaşmayı etkinleştirdiğim zaman) ve diğer programlardan alıyorum.


Hangi OSX sürümünü kullanıyorsunuz?
Martin Marconcini

@Martin: kar leoparı etiketi eklendi. En son ve en büyük 1.6.4'ü kullanıyorum.
Peter Štibraný

Davranış benim bilgilerime çok tuhaf geliyor. Güvenlik duvarı, onu tanımak için uygulama imzasına bakar; bu nedenle uygulamada yapılan herhangi bir değişiklik, artık tanınmayacağı ve bu nedenle yeni bir istemde bulunacağı anlamına gelir. Leopard buna 10.6'dan daha yatkın, ancak yine de söylediklerinizden kaynaklanıyor.
Martin Marconcini

Bunu her zaman Snow Leopard'daki VirtualBox ile görmüştüm. Bunun için bir açıklama da duymak isterim.
Ben Wyatt

Çok sinir bozucu. Açılır pencerede Eclipse'de çalışırken günde birkaç kez görüyorum. Sadece bir saniye kadar gösterir. Bu Eclipse Juno SR2 ile Mountain Lion'da olur.
Gunnar

Yanıtlar:


12

Burada iki seçenek var:

  1. Güvenlik duvarınızda "Herkese İzin Ver" i seçebilir veya onu kapatabilirsiniz.
  2. Uygulamaları listeden kaldırabilir, plistbu uygulamalar için dosyayı silebilir , çalıştırabilir ve ardından listeye ekleyebilirsiniz. Pist pek çok davranıştan sorumlu ve işletim sistemine yükseltme yapmak için bahis yapmaya hazırım ya da uygulama "bağlantının" bozulmasına neden olabilir.

Hakkında plistdosyalar ... Bir Plist korumak ve uygulamayı çalıştırmak için gereken bilgileri yeniden özellikler uygulama ve diğer kaynakları, tipik OS kullanımını içeren metin dosyasının özel bir türüdür. plistbir dosya türüdür ve genellikle kullanıcı tercihlerini depolayan birçok kullanım alanına sahiptir, ancak temel olarak bir XML dosyasıdır. Genellikle hiçbir önbelleğe, olup olmadığını görmek için bakabilirsiniz plistdosyalar söz konusu uygulamalar için, /Library/Cachesve /System/Library/Caches. İçeride bir tane var ~/Library/Caches/ama içeriye girerken kötü şeyler olabilir, o yüzden onu rahat bırak. Sistem bu klasörlere çok çeşitli nedenlerle giriyor ve genellikle listelediğim ilk iki klasörü ayda bir kez tamamen temizliyorum.


Ne demek istediğinizi "bu uygulamalar için plist dosyasını sil" ile açıklayabilir misiniz?
Peter Štibraný

2
plist dosyaları uygulama ayarlarını diğer şeylerin yanında içerir (ve onları silmek güvenlidir, ancak her zaman sadece bir kopya çıkar). Herhangi Kakao uygulaması gerekir dosya “yok” olmalıdır kendi plist yeniden oluşturmak için programlanabilir. Uygulamalar için plist genellikle / Users / your_user / Library / Preferences içinde bulunur. Dosyalar, .plist uzantısıyla biter ve genellikle şu adlara sahiptir: “com.company.appname.plist” örneğin: com.adobe.Phosothop.plist. Onları masaüstünüze taşıyabilir ve uygulamayı “yeniden oluşturmak” için başlatabilirsiniz.
Martin Marconcini

Are ~geçerli kullanıcının giriş klasörü veya kök dizine başvuran Yukarıdaki dosya yollarındaki s?

2
Bu, çoğu durumda gerçekten bir seçenek olmadığı için oy vermedi. user465139'un yorumu daha uygun. Yine de bir güvenlik riski olsa da, en azından tüm uygulamaların girip çıkmasına izin vermekten az.
sholsinger,

1
Bu konuda @sholsinger ile aynı fikirdeyim, sadece Mavericks + PHPStorm için bunun üzerine tökezledi ve kendini imzalayan alternatif kolay, hızlı ve işe yarıyor. Bu isabetli iş biraz dağınık.
Alex Weber,

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

Bu yöntemi kullanarak hiçbir zaman sertifika oluşturmak zorunda kalmamıştım.

Bu işe yaramazsa --deep, takip eden eğik çizgi olmadan ve olmadan deneyin :

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

Yalnızca netleştirmek için dikkat edin: İmzayı uyguladıktan sonra, uygulamayı başlatın, gelen bağlantıları son bir kez kabul edin, sonra isteğinizin gittiğini doğrulamak için çıkın ve tekrar başlayın.


5
Biliyorum çünkü yaptım? Ne istediğinizi tam olarak bilmiyorum ... bu yöntemi kullanarak 'gelen bildirimleri kabul et' açılır penceresinden kurtulabildim (imzaladıktan sonra son bir kez daha sorulacak ). Spotify ve AppCode için benim için çalıştı. Bilgiye ihtiyacınız olursa man sayfasını okuyun. düzenleme: Bu size yardımcı olursa, Yosemite GM Adayı v3.0 kullanıyorum.
ahall

2
Küçük bir detayı değiştirmek istiyorum: / path / to / app altında ele alınması gereken uygulamanın .app bittiğini içermesi gerekir , yani: /path/to/exampleapp.app.

4
Kullanımı @IconDaemon -sonra --sign"ad-hoc imza" kullanıldığı anlamına gelir; Bu komutu kullanmak için bir sertifikaya gerek yok. Bunun neden terminalin kullanımına aykırı olduğunu anlamıyorum. man codesignAçıklamayı görmek için koş .
Mike,

3
Basit ve işe yarıyor. Plist dosyalarını silmek istemediğim için kabul edilen cevaplardan çok daha iyi.
Justin,

2
sudo codesign --force --sign - /path/to/application.appbenim için çalıştı, ancak yazarın önerdiği çeşitliliği değil. Merak ediyorum --deepya da baştaki eğik çizgi bir sorun mu?
Jose Alban

61

RedYeti'nin bağlantısı faydalı olsa da, başkalarına sadece birkaç tıklamayla tasarruf etmek, nasıl bir kod imzalama sertifikası oluşturacağımı ve onu kod (yeniden) imzalama için nasıl kullanacağımı özetlememe izin verir:

  1. Kendi kod imzalama sertifikanızı oluşturun:

    • Anahtarlık Erişimi'nde, Anahtarlık Erişimi> Sertifika Yardımcısı> Bir sertifika oluşturun. Bu, Sertifika Yardımcısı'nı başlatır:

    • İsim: Buraya hatırlayabileceğiniz bazı dizeler yazın. Boşluklardan kaçının, aksi takdirde codesignkomut satırından kullanırken sertifikanın adından kaçmanız gerekir .

    • Kimlik tipi: Kendinden İmzalı Kök

    • Sertifika Türü: Kod İmzalama

    • "Varsayılanları geçersiz kılmama izin ver" kutusunu işaretleyin, bu oldukça önemlidir

    • Seri numarası: 1 (Tamam, sertifika adı / seri no. Kombinasyonu benzersiz olduğunda)

    • Geçerlilik Süresi: 3650 (10 yıl verir)

    • E-posta, İsim vb. İstediğiniz gibi doldurun.

    • Anahtar çifti bilgisi: RSA, 2048 bit'e ayarlayın. IMHO gerçekten önemli değil.

    • "Anahtar kullanım uzantısı" dan "Konu Alternatif Ad Uzantısı" na kadar: varsayılanları kabul edin.

    • Yer: giriş anahtarlık.

    • Oluşturulduktan sonra, Giriş anahtarlığında "Her zaman güven" olarak ayarlayın: sertifikayı sağ tıklayın, "Bilgi Al" ı seçin ve "Güven" bölümünde "Bu sertifikayı kullanırken" "Her zaman güven" olarak ayarlayın.

  2. Bir uygulamayı yeniden imzalama: codesign -f --deep -s <certname> /path/to/app

  3. Çalıştığını doğrulayın: codesign -dvvvv /path/to/app

Keyfini çıkarın!


4
Teşekkür ederim! Bu benim için güvenlik duvarı nag diyaloglarından kurtulan tek çözüm. OSX 10.10 Yosemite kullanıyorum.
Jason

1
çok hoş! Zaten bir sertifikaya sahip olan geliştiriciler için de kolay!
cwd

1
ek not: Geçerlilik Süresini en fazla 20 yıl olan 7300 (gün) olarak belirledim. Bazıları bunun giriş kutusunun kabul ettiği maksimum sayı olduğunu buldum (en azından OSX Yosemite 10.10.3'te) - çok iyi, kudos!
DavAlPi

ahall'in cevabı çok daha basit ve benim için çalıştı OS X 10.10
n1000

Benim için çalışmadı OS X 10.11.1 (15B42)
suzanshakya 28:15

15

Bu, uygulamanın imzalanıp imzalanmadığı ile ilgilidir. İmzalı değilse, tercih hatırlanmayacaktır.

Bir uygulamanın imzalanıp imzalanmadığını görmek için Terminal'de bunu yapın:

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

Eclipse için - benimki imzalı olmadığını söylüyor. Uygulamayı nasıl imzalayacağım konusunda daha fazla yorum yapamam çünkü bunu yapmak için uğraşmadım ama süper kullanıcı hakkındaki bu cevap şunları içeriyor:

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


1
Hall'ın cevabı bir çözüm sağlarken, bu cevap nedenini açıklar. Birleşirse, mükemmel bir cevap olurdu.
not2savvy

3

Sadece bir not, eğer bir Sanal ortam kullanıyorsanız, çevre için kullanılan uygulamayı imzaladığınızdan emin olun. Bunun açık olduğunu biliyorum, ancak yine de söylenmesi gerekiyor.


çok teşekkürler ama bir uygulama yerine conda ortamında nasıl python sürümünü (python3.6) imzalardım?
Çevik Fasulye

1

Bunun eski bir soru-cevap olduğu için minnettarım, ancak aynı sorunu yaşadığımda benim için google’da ilk hit oldu. Sadece buraya inebilecek başkaları için bir şeyler eklemek istedim.

Burada belirtilen codesign komutlarından herhangi birini yürütmek için, xcode komut satırı araçlarının yüklü olması gerekir. Bunlar olmadan, bir hata mesajı alır:

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

Bunu düzeltmek için araçları aşağıdakilerle yükleyin:

xcode-select install

Ahall'ın gönderisine yorum yapardım, ama öyle yapacak puanlarım yok.


0

Bilgisayarımı başlattıktan sonra her zaman bu diyalog kutusunu (Canon ccpd) aldım. Değişiklikleri etkinleştirmek için güvenlik duvarı> güvenlik ve gizlilik> kilidi aç> "Gizli modu etkinleştir" düğmesine tıklayın> "Gelen tüm bağlantıları engelle" düğmesine tıklayın.

Bundan sonra Canon yazıcı sürücüsünden irrite edici diyalog kutusu yok.


Ama uygulama çalışmayacak ...
not2savvy 16:17

0

Yukarıdakilerin hepsini Mac 10.13'te denedim ve hiçbir şey işe yaramadı.

Sonunda, güvenlik duvarını kapatan oturum açma kancasına bağlı oturumu kapatmak için koşturan bir komut dosyası yazdım, böylece oturum açtığında artık izin gerekli olmayacak ve sonra gecikmeli başlatıcının kullanılması güvenlik duvarını açan başka bir komut dosyasını çalıştırdı.

Şimdi her şey yolunda


Farklı sormaya hoş geldiniz! Komut dosyanızı, diğer kullanıcıların da çözümünüzden yararlanabilmesi için paylaşmak isteyebilirsiniz.
Glorfindel

0

Durumum, MacOS Mojave 10.14.5 üzerine kurulu iki Eclipse kopyası içeriyor. İlk kopya MacOS firewall ile yetkilendirildi. İkinci kopya her zaman "gelen bağlantıları kabul et" komutunu sunacaktır. "Kabul et" seçimi her yeniden başlatmadan sonra mesajı göstermeye devam edecektir, görünüşe göre güvenlik duvarı ayarı güncellenmemiştir.

Çözüm, MacOS Sistem Tercihleri ​​-> Güvenlik ve Gizlilik -> Güvenlik Duvarı'nı açmak, ekranın kilidini açmak, Güvenlik Duvarı Seçenekleri idi. Eclipse.app "Gelen bağlantılara izin ver" i seçin ve "-" tuşuyla kaldırın. Bir dahaki sefere "Eclipse'e izin ver" i seçtiğimde "gelen bağlantıları kabul et" istemi sonuncusuydu.


-2

Benim için çözüm, güvenlik duvarını tamamen devre dışı bırakmaktı. Tabii ki imzasız olan web destekli bir yazılım parçası oluşturmak oldukça yaygındır çünkü onları yerel olarak derliyorsunuz.

Spot ışığı CMD + Boşluk Çubuğu ile açın ve "gizlilik" i arayın ve "Güvenlik ve Gizlilik" i seçin. Sonra "Güvenlik Duvarı" sekmesine geçin ve oradaki güvenlik duvarını devre dışı bırakın.


2
Bu, ne yaptıklarını bilmedikleri sürece çoğu insan için oldukça zayıf bir çözüm gibi görünüyor. Güvenlik duvarları, iyi bir neden için var - Mac'lerde bile.
RedYeti

Sanırım "Güvenlik duvarları can sıkıcı - mac'larda bile" demek istedin. Hava limanlarındaki kötü amaçlı yazılım dağıtım sitelerinde virüs indirmeye açık olan tüm limanların bulunduğu açık wifi ağlarında çalışan herkesin eğitimi yoktur. Cevabım doğru bir şekilde sorunu düzeltir ve Apple'ın aptalca sinir bozucu açılır kutularını çözer. Ağı kullanan bir ikiliyi her derlediğinizde, kesinlikle çıkmaz olan açılır pencereyi alırsınız. Pop-up, geliştiricilerin yüksek ve kuru bırakarak Apple'ın eğitimsiz insanları beslemeye çalışmasının başka bir can sıkıcı yoludur.
anon58192932

1
Katılıyorum - herkes eğitimsiz değil. Ancak bu konuda insanların büyük çoğunluğu vardır. Ana şebeke güvenlik bileşenini çıkarmaktan daha iyi bilmeyenler bile. En azından, olası sonuçlardan insanları uyarmak iyi olurdu. Basitçe güvenlik duvarını kapatmak "düzeltmek" olarak sayılmaz, ama çok rahatsız edici bir iş çıkardın.
RedYeti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.