Portal for ArcGIS включает инструмент-скрипт Python portalScan.py, который проверяет наличие часто встречающихся проблем в системе безопасности. Инструмент проверяет наличие проблем на основе оптимальных методов настройки безопасной среды для портала. Он анализирует множество критериев или параметров настройки и разделяет их на три уровня: Критический, Важный и Рекомендуемый. Ниже приведено описание этих критериев:
ID | Важность | Свойство | Описание |
---|---|---|---|
PS01 | Критический | Ограничение прокси | Определяет, ограничена ли прокси-функция портала. По умолчанию прокси-сервер портала открыт для любого URL. Чтобы снизить вероятность Denial of Service (DoS) или Server Side Request Forgery (SSRF) атак, рекомендуется ограничить прокси-функцию портала списком доверенных веб-адресов. |
PS02 | Критический | Запросы токенов | Определяет, поддерживаются ли запросы токенов с учетными данными в параметре запроса. Если поддерживается, при генерации токена в части URL-адреса предоставляются учетные данных пользователя, которые могут оказаться доступными в истории посещений браузера или в сетевых журналах. Рекомендуется отключить, если это не требуется для других приложений. |
PS03 | Важный | Директория сервисов портала | Определяет, доступна ли директория сервисов портала через веб-браузер. Эта возможность должна быть отключена, чтобы снизить возможности поиска элементов вашего портала, веб-карт, групп и других ресурсов в Интернет и осуществления запроса к ним через формы HTML. |
PS04 | Важный | Безопасный обмен информацией | Определяет, используется ли доступ к порталу только через HTTPS. Для предотвращения перехвата сообщений внутри портала рекомендуется настроить портал и веб-сервер, на котором размещен Web Adaptor, на обязательное использование SSL. |
PS05 | Рекомендуется | Вход с помощью встроенной учетной записи | Определяет, можно ли использовать кнопку Создать учетную запись, расположенную на странице авторизации, чтобы создать встроенную учетную запись портала. Если вы используете корпоративные учетные записи или хотите создавать учетные записи вручную, отключите эту опцию. |
PS06 | Рекомендуется | Анонимный доступ | Определяет, допускается ли анонимный доступ. Чтобы предотвратить доступ к ресурсам для любого пользователя без предварительного ввода учетных данных на портале, рекомендуется настроить портал таким образом, чтобы отключить возможность анонимного доступа. |
PS07 | Рекомендуется | Хранилище аутентификаций LDAP | Если портал настроен с хранилищем аутентификаций LDAP, это определяет, будет ли использоваться шифрованное соединение. Рекомендуется использовать LDAPS в свойствах ldapURLForUsers и ldapURLForRoles в параметрах конфигурации пользовательского хранилища и группового хранилища. |
PS08 | Рекомендуется | SSL-сертификат портала | Определяет, использует ли портал самозаверенный сертификат. Чтобы уменьшить количество предупреждений веб-браузера или других непредвиденных действий клиентов, работающих с порталом, рекомендуется импортировать и использовать подписанный центром сертификации сертификат SSL, привязанный к порту 7443. |
PS09 | Рекомендуется | Междоменные запросы | Определяет, будут ли междоменные (CORS) запросы неограниченными. Чтобы уменьшить вероятность того, что неизвестное приложение получит доступ к опубликованному элементу портала, рекомендуется ограничить междоменные запросы приложениями, размещенными только в доверенных доменах. |
PS10 | Критический | Административный URL-адрес интегрированного сервера | Определяет, доступен ли порталу URL-адрес администратора интегрированного сервера, и является ли сертификат SSL, используемый в этом URL-адресе, доверенным. Если сертификат не является доверенным, а URL-адрес не доступен, то многие функции портала и многие операции работать или выполняться не будут. |
PS11 | Рекомендуется | URL-адрес сервисов интегрированного сервера | Определяет, доступен ли порталу URL-адрес сервиса интегрированного сервера, и является ли сертификат SSL, используемый в этом URL-адресе, доверенным. Если URL-адрес не доступен, а сертификат не является доверенным, портал будет работать, но некоторые операции выполняться не будут. |
PS12 | Рекомендуется | Общедоступные ресурсы | Если портал настроен так, чтобы участники не могли публиковать ресурсы для всех, то будет выведен список любых элементов, которые все еще опубликованы Для всех. |
PS13 | Важный | Параметры конфигурации SAML | Если портал настроен на использование аутентификации SAML, это определяет, включены ли зашифрованные утверждения и подписанные запросы. Если это поддерживается провайдером идентификации, рекомендуется настроить портал так, чтобы он требовал как зашифрованные утверждения, так и подписанные запросы. |
PS14 | Важный | Статус сервиса печати по умолчанию | Сервис печати, настроенный по умолчанию на портале, обычно перезаписывается после того, как ArcGIS Server был интегрирован. Рекомендуется отключить сервис печати по умолчанию, если он не используется. |
PS15 | Рекомендуется | Статус сервиса легенды | Сервис легенды используется порталом для извлечения иконок легенды из старых картографических сервисов и сервисов объектов (через SOAP). Если только не осуществляется доступ к более старым сервисам, которые не поддерживают извлечение легенды через REST, тогда рекомендуется отключить этот сервис. |
PS16 | Рекомендуется | Статус сервиса RSS | Сервис RSS используется порталом для связи с каналами GeoRSS. Если доступ к каналам GeoRSS не будет осуществляться через веб-карты на портале, рекомендуется отключить этот сервис. |
PS17 | Рекомендуется | Статус сервиса KML | Сервис KML используется порталом для связи с конечными точками KML. Если доступ к конечным точкам KML не будет осуществляться через веб-карты на портале, рекомендуется отключить этот сервис. |
Скрипт portalScan.py находится в директории <Portal for ArcGIS installation location>/tools/security. Запустите скрипт из оболочки, используя скрипт portalScan Bash, который находится в той же директории. У вас есть возможность задать один или несколько параметров при запуске скрипта.
параметры portalScan.py
В таблице ниже описаны параметры portalScan.py:
Параметр | Описание |
---|---|
-n | Полное доменное имя компьютера, на котором установлен портал (например, gisportal.domain.com). По умолчанию это имя хоста компьютера, на котором запускается скрипт. |
-u | Имя пользователя учетной записи администратора. |
-p | Пароль учетной записи администратора. |
-o | Директория, где будет сохранен отчет проверки безопасности. По умолчанию это та же директория, где запускается скрипт. |
-t | Вместо имени пользователя и пароля можно создать и использовать токен. При создании токена необходимо ввести portalScan в поле Webapp URL. При использовании токена он получает приоритет над указанными именем пользователя и паролем. |
--ignoressl | Отключите проверку сертификата SSL. Начиная с версии 10.7.1, скрипт будет пытаться проверить все сертификаты SSL по умолчанию. Если Python не доверяет эмитенту сертификатов, скрипт не сможет завершиться. Если надо, можно указать этот параметр, чтобы игнорировать все сертификаты. |
-h или -? | Вывод списка параметров, которые можно задать при запуске скрипта. |
Пример (с выходным файлом, записанным в домашний каталог пользователя):./portalScan -n portal.domain.com -u admin -p my.password -o ~
Если скрипт portalScan запускается без параметров, вам будет предложено ввести их вручную или выбрать значения по умолчанию. Если вы хотите использовать токен, его необходимо задать в качестве параметра при запуске скрипта.
При сканировании создается отчет в формате HTML, где перечислены все вышеуказанные проблемы, найденные на заданном портале.
По умолчанию, отчет сохраняется в той же папке, где вы запускали скрипт, и называется portalScanReport_[hostname]_[date].html.