Skip To Content

Skanowanie portalu w celu zapewnienia bezpieczeństwa

Portal Portal for ArcGIS zawiera narzędzie skryptowe języka Python o nazwie portalScan.py, które wykonuje skanowanie pod kątem często spotykanych zagrożeń bezpieczeństwa. Narzędzie to wykrywa problemy na podstawie dobrych praktyk dotyczących konfigurowania bezpiecznego środowiska portalu.. Analizuje ono wiele właściwości konfiguracyjnych i kryteriów oraz dzieli je na trzy poziomy istotności: krytyczne, ważne i polecane. Kryteria te zostały opisane poniżej:

IDRangaWłaściwośćOpis

PS01

Krytyczne

Ograniczenia serwera proxy

Określa, czy możliwości serwera proxy portalu zostały ograniczone. Domyślnie serwer proxy portalu zezwala na każdy adres URL. Aby uchronić się przed skutkami potencjalnych ataków typu odmowa usług (DoS) lub złośliwe żądania po stronie serwera (SSRF), zaleca się ograniczenie możliwości serwera proxy portalu do obsługi jedynie zatwierdzonych adresów internetowych.

PS02

Krytyczne

Żądania tokena

Określa, czy jest obsługiwane generowanie żądań tokena z poświadczeniami w parametrach zapytań. Jeśli tak, wówczas podczas generowania tokenów poświadczenia użytkowników mogą być przekazywane jako część adresu URL i mogą zostać uwidocznione w historii przeglądarki albo w dziennikach sieci. Zaleca się wyłączenie tego elementu, chyba że jest wymagany przez inne aplikacje.

PS03

Ważne

Katalog usług portalu

Określa, czy katalog usług portalu jest dostępny z poziomu przeglądarki internetowej. Możliwość ta powinna być zablokowana, aby zmniejszyć prawdopodobieństwo przeglądania elementów, usług, map internetowych, grup i innych zasobów portalu, ich odnalezienia podczas wyszukiwania sieciowego lub tworzenia odnoszących się do nich zapytań za pomocą formularza HTML.

PS04

Ważne

Bezpieczna komunikacja

Określa, czy portal może się komunikować jedynie za pośrednictwem protokołu HTTPS. Aby zapobiec przechwyceniu jakiejkolwiek komunikacji w obrębie portalu, zalecane jest skonfigurowanie portalu i serwera internetowego hostującego aplikację Web Adaptor tak, aby wymuszały szyfrowanie SSL.

PS05

Polecane

Rejestracja wbudowanych kont

Określa, czy użytkownicy mogą kliknąć przycisk Utwórz konto na stronie rejestrowania portalu w celu utworzenia wbudowanego konta portalu. W przypadku używania kont specyficznych dla instytucji lub jeśli wszystkie konta mają być tworzone ręcznie, tę opcję należy zablokować.

PS06

Polecane

Dostęp anonimowy

Określa, czy dozwolony jest dostęp anonimowy. Aby zapobiec uzyskiwaniu dostępu do zasobów przez użytkowników bez wcześniejszego podania poświadczeń portalu, zalecane jest skonfigurowanie portalu tak, aby nie zezwalał na dostęp anonimowy.

PS07

Polecane

Magazyn tożsamości LDAP

Jeśli portal jest skonfigurowany z magazynem tożsamości LDAP, określa, czy używana jest komunikacja szyfrowana. Zaleca się użycie protokołu LDAPS we właściwościach ldapURLForUsers i ldapURLForRoles wymienionych w parametrach konfiguracji magazynu użytkowników i magazynu grup.

PS08

Polecane

Certyfikat SSL portalu

Decyduje o tym, czy w portalu jest używany certyfikat z podpisem własnym. Aby ograniczyć liczbę ostrzeżeń generowanych przez przeglądarki internetowe i inne nieoczekiwane działania aplikacji klienckich komunikujących się z portalem, zalecane jest zaimportowanie i używanie certyfikatu SSL wystawionego przez CA i powiązanego z portem 7443.

PS09

Polecane

Żądania międzydomenowe

Określa, czy żądania międzydomenowe (CORS) nie są ograniczane. Aby zmniejszyć ryzyko uzyskania dostępu do udostępnionego elementu portalu przez nieznaną aplikację, zaleca się ograniczyć żądania międzydomenowe wyłącznie do aplikacji hostowanych w zaufanych domenach.

PS10

Krytyczne

Administracyjny adres URL serwera sfederowanego

Określa, czy adres URL administratora serwera sfederowanego jest dostępny dla portalu i czy certyfikat SSL używany w tym adresie URL jest zaufany. Jeśli certyfikat jest niezaufany lub adres jest nieosiągalny, wiele funkcji i operacji w portalu kończy się niepowodzeniem.

PS11

Polecane

Adres URL usług serwera sfederowanego

Określa, czy adres URL usług serwera sfederowanego jest dostępny dla portalu i czy certyfikat SSL używany w tym adresie URL jest zaufany. Jeśli certyfikat jest niezaufany lub adres jest nieosiągalny, portal działa, ale niektóre operacje w portalu mogą kończyć się niepowodzeniem.

PS12

Polecane

Zasoby publiczne

Jeśli portal skonfigurowano w taki sposób, że jego członkowie nie mogą udostępniać zasobów publicznie, wyświetlona zostanie lista elementów, które są wciąż udostępniane wszystkim użytkownikom (ustawienie Wszyscy).

PS13

Ważne

Ustawienia konfiguracji SAML

Jeśli portal jest skonfigurowany do korzystania z uwierzytelniania SAML, ten element określa, czy włączone są szyfrowane potwierdzenia i podpisane żądania. Jeśli jest to obsługiwane przez dostawcę tożsamości, zaleca się skonfigurowanie portalu tak, aby wymagał zarówno szyfrowanych potwierdzeń, jak i podpisanych żądań.

PS14

Ważne

Status domyślnej usługi drukowania

Usługa drukowania, która jest domyślnie skonfigurowana w portalu, jest zazwyczaj zastępowana po sfederowaniu serwera ArcGIS Server. Zaleca się wyłączenie domyślnej usługi drukowania, jeśli nie jest ona używana.

PS15

Polecane

Status usługi legendy

Usługa legendy jest używana przez portal do pobierania ikon legendy ze starszych usług mapowych i obiektowych (przez SOAP). Jeśli nie uzyskuje się dostępu do starszych usług, które nie obsługują pobierania legendy przez REST, zaleca się wyłączenie tej usługi.

PS16

Polecane

Status usługi RSS

Usługa RSS jest wykorzystywana przez portal do komunikacji z kanałami GeoRSS. Jeśli za pośrednictwem map internetowych na portalu nie uzyskuje się dostępu do żadnych kanałów GeoRSS, zaleca się wyłączenie tej usługi.

PS17

Polecane

Status usługi KML

Usługa KML jest używana przez portal do komunikacji z punktami końcowymi KML. Jeśli za pośrednictwem map internetowych na portalu nie uzyskuje się dostępu do żadnych punktów końcowych KML, zaleca się wyłączenie tej usługi.

Skrypt portalScan.py znajduje się w katalogu <Portal for ArcGIS installation location>\tools\security. Uruchom skrypt w wierszu poleceń, używając pliku portalScan.bat, który znajduje się w tym samym katalogu. Dla tego skryptu można określić jeden lub kilka parametrów jego uruchamiania.

Parametry skryptu portalScan.py

W poniższej tabeli opisano parametry skryptu portalScan.py:

ParametrOpis

-n

W pełni kwalifikowana nazwa domeny komputera, na którym jest zainstalowany portal (innymi słowy portalgis.domena.com). Domyślnie jest to nazwa hosta komputera, na którym działa skrypt.

-u

Nazwa użytkownika konta administratora.

-p

Hasło konta administratora.

-o

Katalog, w którym będzie zapisywany raport skanowania bezpieczeństwa. Domyślnie jest to ten sam katalog, w którym został uruchomiony skrypt.

-t

Może być wygenerowany token i używany zamiast nazwy użytkownika oraz hasła. Podczas generowania tokena w polu Webapp URL należy podać wartość portalScan. Po dostarczeniu tokena zastępuje on przekazaną nazwę użytkownika i hasło.

--ignoressl

Wyłączenie weryfikacji certyfikatu SSL. Począwszy od wersji 10.7.1 skrypt będzie domyślnie próbował zweryfikować wszystkie certyfikaty SSL. Jeśli środowisko Python nie ufa wystawcy certyfikatów, wykonanie skryptu zakończy się niepowodzeniem. Jeśli to konieczne, można podać ten parametr, aby ignorować wszystkie certyfikaty.

-h lub -?

Wyświetla listę dozwolonych parametrów uruchamianego skryptu.

Przykład (uruchomienie z poziomu wiersza polecenia z plikiem wyjściowym zapisanym w lokalizacji C:\Temp):

portalScan -n portal.domain.com -u admin -p my.password -o C:\Temp

Jeśli skrypt portalScan zostanie uruchomiony bez żadnych parametrów, pojawi się monit o wprowadzenie ich ręcznie lub wybranie wartości domyślnej. Jeśli ma być używany token, musi on być przekazany jako parametr przy uruchamianiu skryptu.

W wyniku skanowania jest generowany raport w formacie HTML zawierający listę znalezionych dla danego portalu problemów spośród przedstawionych wyżej.

Domyślnie raport jest zapisywany w tym samym folderze, w którym został uruchomiony skrypt i ma nazwę portalScanReport_[hostname]_[date].html.