Проверка ArcGIS Server на наличие рекомендаций по безопасности
ArcGIS Server поставляется со скриптом Python, serverScan.py, который выполняет сканирование на наличие некоторых распространенных проблем безопасности. Инструмент проверяет наличие проблем на основе оптимальных методов настройки безопасной среды для ArcGIS Server. Он анализирует множество критериев или параметров настройки и разделяет их на три уровня: Critical, Important и Recommended. Ниже приведено описание этих критериев:
|
ID |
Важность |
Свойство |
Описание |
|---|---|---|---|
|
SS01 |
|
Веб-коммуникация |
Определяет, включен ли протокол HTTPS для ArcGIS Server. Для предотвращения перехвата сообщений рекомендуется настроить ArcGIS Server и ArcGIS Web Adaptor (если он установлен) на обязательное использование шифрования SSL. |
|
SS02 |
|
Стандартизированные запросы |
Определяет, применяются ли стандартизированные запросы. Для обеспечения защиты от атак типа SQL-инъекция критически важно, чтобы эта опция была включена. |
|
SS03 |
|
Запросы токенов |
Определяет, поддерживаются ли запросы на создание токена через GET. При генерации токенов через GET учетные данные пользователя передаются как часть URL, поэтому они могут быть перехвачены и раскрыты через историю браузера или сетевые журналы. Это функцию следует отключить, если только она не требуется другими приложениями. |
|
SS04 |
|
Запросы токенов |
Определяет, поддерживаются ли запросы токенов через POST с учетными данными в параметре запроса. При генерации токена в части URL-адреса предоставляются учетные данных пользователя, которые могут оказаться доступными в истории посещений браузера или в сетевых журналах. Это функцию следует отключить, если только она не требуется другими приложениями. |
|
SS05 |
|
|
Создает список векторных сервисов, для которых отключено свойство |
|
SS06 |
|
Права доступа в системном сервисе |
Определяет, применяются ли нестандартные права доступа к какому-либо сервису в папке System в Server Manager. Чтобы гарантировать, что только администраторы и издатели имеют доступ к сервисам в папке System, не следует назначать никакие роли. |
|
SS07 |
|
Директория сервисов REST |
Определяет, доступна ли директория сервисов REST через веб-браузер. Эта возможность должна быть отключена, чтобы снизить вероятность просмотра ваших сервисов и выполнения запросов к ним через формы HTML, за исключением случаев, когда она активно используется пользователями для поиска сервисов. Кроме того, это обеспечивает более качественную защиту от межсайтовых атак (XSS). |
|
SS08 |
|
Междоменные ограничения |
Определяет, ограничены ли междоменные запросы конкретными доменами. Чтобы снизить вероятность того, что неизвестное приложение отправляет вредоносные команды вашим веб-сервисам, рекомендуется ограничить использование ваших сервисов только приложениями, размещенными в доверенных доменах. |
|
SS09 |
|
Динамическая рабочая область |
Генерирует список сервисов, в которых база данных доступна через динамическую рабочую область. Без должной защиты база данных/рабочая область могут оказаться доступными для недобросовестных третьих лиц через REST. Динамические рабочие области следует включать, только если в веб-приложении предполагается активное использование этого сервиса и функциональных возможностей динамического слоя/рабочей области. В таких случаях важно, чтобы подключение баз данных, используемое картографическим сервисом для подключения к рабочей области/базе данных, имело минимально возможные права доступа, необходимые для данного приложения; например, с правами доступа только чтение будет возможен доступ только к тем дополнительным таблицам рабочей области, которые необходимы. |
|
SS10 |
|
Web Adaptor по HTTPS |
Определяет, зарегистрирован ли один или несколько Web Adaptor через HTTPS. Чтобы позволить Server Manager успешно выполнять перенаправление на HTTPS, все веб-адаптеры должны быть зарегистрированы через HTTPS. |
|
SS11 |
|
Отключение аккаунта PSA |
Определяет, включена ли учетная запись основного администратора сайта. Рекомендуется отключить этот аккаунт, чтобы убедиться, что нет другого способа администрирования ArcGIS Server, кроме группы или роли, указанных в вашем хранилище идентификации. |
|
SS12 |
|
Права доступа в сервисе объектов |
Возвращает список сервисов объектов, в которых операции |
|
SS13 |
|
Хранилище аутентификаций LDAP |
Если ArcGIS Server настроен с хранилищем идентификаций LDAP, это определяет, используется ли зашифрованная связь. Для обеспечения шифрованной связи между ArcGIS Server и поставщиком идентификации LDAP рекомендуется использовать |
|
SS14 |
|
Сертификат SSL сервера |
Определяет, используется ли самозаверенный сертификат для ArcGIS Server. Чтобы уменьшить количество предупреждений веб-браузера или других непредвиденных действий клиентов, работающих с ArcGIS Server, рекомендуется импортировать и использовать подписанный центром сертификации сертификат SSL, привязанный к порту 6443. |
|
SS15 |
|
Публикация системного сервиса |
Определяет, были ли какие-либо сервисы в папке System опубликованы как элемент портала. Для обеспечения надлежащих прав доступа эти сервисы не предназначены для публикации через портал. Рекомендуется удалить соответствующий элемент портала для восстановления стандартных разрешений сервиса. |
Скрипт serverscan находится в директории <ArcGIS Server installation location>/tools/admin. Запустите скрипт из командной строки или из командной оболочки. У вас есть возможность задать параметры при запуске скрипта.
Скрипт serverScan.py находится в директории <ArcGIS Server installation location>\tools\admin. Запустите скрипт из командной строки или из командной оболочки. У вас есть возможность задать параметры при запуске скрипта.
Параметры serverScan.py
|
Параметр |
Описание |
|---|---|
|
-n |
Полное доменное имя компьютера, на котором установлен Server (например: gisserver.example.com). По умолчанию это имя хоста компьютера, на котором запускается скрипт. |
|
-u |
Имя пользователя учетной записи администратора. |
|
-p |
Пароль учетной записи администратора. |
|
-o |
Директория, где будет сохранен отчет проверки безопасности. По умолчанию это та же директория, где запускается скрипт. |
|
-t |
Вместо имени пользователя и пароля можно создать и использовать токен. Если токен Portal генерируется для интегрированного сервера, в поле 'Webapp URL' следует ввести полное доменное имя сканируемого сервера. Если токен создается для не интегрированного сервера, он должен быть сгенерирован через Administrator directory (arcgis/admin/generateToken), а клиентом должен быть 'Request IP'. При использовании токена он получает приоритет над указанными именем пользователя и паролем. |
|
--ignoressl |
Отключает проверку сертификата SSL. Начиная с версии 10.7.1, скрипт будет пытаться проверить все сертификаты SSL по умолчанию. Если Python не доверяет эмитенту сертификатов, скрипт не сможет завершиться. Если надо, можно указать этот параметр, чтобы игнорировать все сертификаты. |
|
-h или -? |
Вывод списка параметров, которые можно задать при запуске скрипта. |
Пример: python serverScan.py -n gisserver.example.com -u admin -p my.password -o C:\Temp
Если вы запускаете скрипт serverScan.py без определения параметров, вам будет предложено ввести их вручную или выбрать значения по умолчанию. Если вы хотите использовать токен, его необходимо задать в качестве параметра при запуске скрипта.
При сканировании создается отчет в формате HTML, где перечислены все вышеуказанные проблемы, найденные на заданном сайте ArcGIS Server.
По умолчанию, отчет сохраняется в той же папке, где вы запускали скрипт, и называется serverScanReport_[hostname]_[date].html.