Разрешить входящие сетевые подключения: как подавить авторизацию?

Вопрос или проблема

Если неподписанное приложение получило разрешение на прослушивание входящих сетевых подключений, как можно изменить свое решение и больше не давать разрешение?

Я создал очень простое веб-серверное приложение из терминала и запустил его. Как и ожидалось, macOS представила диалоговое окно Вы хотите, чтобы приложение 'cpp-web-server' принимало входящие сетевые подключения? Нажатие «Запретить» может ограничить поведение приложения. Этот параметр можно изменить на панели брандмауэра в настройках сети. для этого приложения. Я нажал Разрешить. Приложение работает отлично и успешно прослушивает сетевые подключения.

Затем я перешел в Системные настройки > Сеть > Брандмауэр > Параметры, но разрешение здесь нигде не найдено.

Кроме того, следующая команда также не перечисляет правило брандмауэра:

$ sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps

Как я могу отменить разрешение?

Ответ или решение

Управление входящими сетевыми подключениями и отмена ранее предоставленных разрешений является важной составляющей безопасности любой операционной системы, включая macOS. Нередко пользователи сталкиваются с ситуацией, когда необходимо изменить ранее предоставленные права доступа приложению, особенно если это касается небезопасных или разрабатываемых программ, таких как самодельные веб-серверы. Давайте подробно рассмотрим, как можно отозвать разрешение на принятие входящих сетевых подключений.

Теория

В macOS безопасность и работа с сетевыми подключениями организована через встроенный брандмауэр (Firewall). Этот инструмент позволяет контролировать, какие приложения могут принимать входящие соединения. При первоначальном запуске приложения без цифровой подписи система отображает всплывающее окно с вопросом о разрешении на принятие соединений. Если пользователь соглашается, приложение получает временное разрешение в текущей сессии. Однако это разрешение может не отображаться в списке постоянных правил, таких как те, что можно увидеть через системные параметры или командную строку с использованием socketfilterfw.

Пример

Вы уже столкнулись с данной ситуацией: запустили простой веб-сервер из терминала на macOS и дали ему разрешение на входящие соединения через всплывающее окно. Однако, когда вы пытаетесь отозвать это разрешение, заходя в System Settings > Network > Firewall > Options, его там не оказывается. Попытка использовать команду sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps также не показывает никаких правил, связанных с вашим приложением.

Применение

Чтобы отозвать это разрешение, выполните следующие шаги:

  1. Перезапуск системы: Иногда простое перезапускание вашей macOS может сбросить временные разрешения на сетевые соединения для приложений без цифровой подписи.

  2. Удаление приложений из списка брандмауэра:

    • Распахните меню яблока в верхнем левом углу экрана и выберите "Системные настройки".
    • Перейдите в раздел "Сеть".
    • Нажмите на "Брандмауэр", затем "Параметры".
    • Выберите приложение, если оно видно, и нажмите "Удалить" (иконка -).
  3. Сброс временных правил: Используйте командную строку для сброса незаслуженного доверия через команду:

    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --reset

    Эта команда сбрасывает временные правила и заставляет систему запрашивать разрешение повторно при следующем запуске приложения.

  4. Редактирование списков через Terminal:

    • Иногда информация о сетевых разрешениях можно просмотреть и изменить в бинарных plist-файлах, которые могут быть отредактированы по пути /Library/Preferences/com.apple.alf.plist с использованием инструментов plist.
    • Важно создать резервную копию до внесения изменений в эти файлы.
  5. Политика системных администраторов: Используйте MDM (Mobile Device Management) решения, если это необходимо, для управления сетевыми доступами приложений в корпоративной среде.

  6. Использование дополнительных утилит безопасности: Некоторые решения сторонних разработчиков предлагают более детальный контроль и управление сетевой активностью приложений. Их использование может дополнить встроенный брандмауэр macOS.

Альтернативный подход

Если ваше приложение необходимо для работы, но вы сомневаетесь в его безопасности, возможно стоит заняться подписью вашего приложения с использованием личного или корпоративного сертификата. Это сложная, но важная процедура, которая повышает доверие системы к вашему приложению и корректно отображается в списках настроек безопасности.

Важно помнить, что безопасное управление приложениями и их доступом к сети является одной из основ предотвращения нежелательных вторжений и обеспечения конфиденциальности данных. При каждом шаге вносите изменения предельно аккуратно и осознанно, чтобы избежать случайной блокировки важного приложения или нарушения системной конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...