ゲートキーパーの設定が「AppStoreのみ」の場合でも、カスタムWebサイトからアプリケーションをダウンロードして実行できます。これは私のアプリケーションです-署名もされていません。
その理由は何でしょうか?私はすべての3つのMacでこの動作を再現できます。
ゲートキーパーの設定が「AppStoreのみ」の場合でも、カスタムWebサイトからアプリケーションをダウンロードして実行できます。これは私のアプリケーションです-署名もされていません。
その理由は何でしょうか?私はすべての3つのMacでこの動作を再現できます。
回答:
管理ユーザーはゲートキーパーの設定を変更したり、完全に無効にしたりすることもできるので、管理者ユーザーが非準拠(署名なし)を許可することを確実にするために1回限りのホワイトリストダイアログを表示しても、(少なくとも私の目には)害はありません。または非Mac App Store)実行するアプリケーション。
管理者以外のユーザーがGatekeeperをバイパスする方法を見つけた場合、ポリシー違反のアプリの実行を許可するために行われた実装エラーにパッチを適用すると、Appleにセキュリティの脆弱性を報告し、穴を見つけたと認められると思います。
Appleは、アプリケーションを明示的にホワイトリストに登録する方法について、この機能について詳しく説明しています。
ゲートキーパーはマルウェア保護ではなく、ブラックリストでもありません。これは、適切に署名されたアプリケーションの最初の起動やMac Appストアの領収書の検証を許可する一連のポリシーです。管理ユーザーが明示的に起動し、非準拠ソフトウェアの実行を承認した場合、Gatekeeperの欠陥を明らかにするのではなく、教育またはポリシーの問題が発生します。
詳細に、私はAppleのヘルプの関連セクションを要約して(ほとんどはコピーして)、Appをホワイトリストに登録し、Gatekeeperが妨げられずにプロンプトなしで実行できるようにしました。
身元不明の開発者からアプリを開いてGatekeeperから除外する方法
インターネットからダウンロードしたアプリが最新バージョンであり、信頼できる提供元からのものであると確信している場合は、以下の手順に従って、身元不明の開発者からアプリを開くことができます。
重要:開発者IDの署名を取得中の開発者がAppleでスクリーニングした一部のアプリでは、ダブルクリックすると「開く」オプションが表示されます。
注:ほとんどの場合、Macのすべてのユーザーアカウントに対して次の手順を1回実行するだけで済みます。
- Finderで、アプリのアイコンをControlキーを押しながらクリックまたは右クリックします。
- 表示されるコンテキストメニューの上部から[開く]を選択します。
- ダイアログボックスで[開く]をクリックします。プロンプトが表示されたら、管理者の名前とパスワードを入力します。
注:複数のゲートキーパーダイアログボックスを表示するアプリがある場合、ゲートキーパーの[常に]オプションを一時的に使用できます。ゲートキーパー機能を元に戻すには、以前にあったゲートキーパーオプションを必ず復元してください。
この機能を認識していないユーザーに管理者のユーザー名とパスワードを渡さないことで、アプリケーションをホワイトリストに登録できるユーザーを簡単に制御できます。また、ターミナルまたはプロファイルマネージャーからゲートキーパーを管理したり、JAMFのCasperなどの他の管理設定ソフトウェアを管理したりできます。また、ホワイトリストに登録されているソフトウェアについてマシンを監査して、許可されたアプリのリストを定期的にリセットし、ポリシーや習慣を変更したい場合に誰がこの機能を実行しているかを特定することもできます。
spctl
のでspctl --assess -v /Applications/Whatever.app
、それが許可または拒否されます場合は、あなたを示すであろうし、spctl --remove /Applications/Whatever.app
リセットします特定のアプリケーションの「ダイアログ」とステータス。ツールを使用してシステム上のすべてのアプリを収集し、短いスクリプトで必要に応じて使用状況を監査して修正できるようにしています。
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
その検疫属性がアプリに添付されている場合、ゲートキーパーポリシーがチェックされます。そうでなければ、それはしません。興味深い質問は、他のコンピューターで隔離された理由であり、このコマンドを使用して、配布時にさまざまな時点でアプリケーションをチェックすると、属性がアタッチされるタイミング(したがって、アタッチされる理由)を把握できます。
編集:Appleのナレッジベース記事#HT5290の「詳細についてはここをクリックしてください」セクションにこれに関するメモがあります。
重要:開発者ID署名は、インターネットからダウンロードしたアプリに適用されます。ファイルサーバー、外付けドライブ、光ディスクなど、他のソースからのアプリは、最初にインターネットからダウンロードされたものでない限り、免除されます。
xattr -d com.apple.quarantine
すると、ゲートキーパーポリシーに違反していてもアプリを開くことができます。
この非表示の設定を有効にすると、ゲートキーパーも無効になります。
defaults write com.apple.LaunchServices LSQuarantine -bool false
またはOS Xでは、システム環境設定の設定に関係なく、すべてのアプリケーションを開くことができます。
ゲートキーパーは、ダブルクリックによってアプリが実行されるのを防ぎますが、コンテキストメニューから[開く ]を選択することで、いつでもアプリを上書きできます。
ダウンロードした署名のないアプリをダブルクリックして実行できる場合、これはGatekeeperの問題です。ファイルは、com.apple.quarantineと呼ばれる拡張属性に隔離ステータスを保存します。ダウンロードされたファイルから何らかの理由でこの属性がクリアされた場合、Gatekeeperはダウンロードされたファイルをコンピューター上の他のファイルと何の違いもないものとして扱います。したがって、Xcodeがインストールされている場合は、プログラムをダウンロードしてからターミナルで使用することをお勧めします。xattr -l filename
メニューから[開く]コマンドを使用して実行する場合、これは設計された動作です。メニューからプログラムを実行すると、Gatekeeperの設定に関係なく、プログラムをダブルクリックして実行できるようになります。