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