Skip To Content

포털 스캔 (보안 모범 사례)

Portal for ArcGIS에는 일반적인 보안 문제를 검사하는 Python 스크립트 도구(portalScan.py)가 포함되어 있습니다. 이 도구는 포털의 보안 환경 구성을 위한 몇 가지 모범 사례를 기반으로 문제를 검사합니다. 이 도구는 여러 조건 또는 구성 등록정보를 분석하여 3가지 단계의 심각도(위험, 중요, 권장)로 나눕니다. 이러한 조건에 대한 설명은 다음과 같습니다.

ID심각도등록정보설명

PS01

매우 중요

프록시 제한

포털의 프록시 기능이 제한되는지를 확인합니다. 기본 설정에 따라 포털 프록시 서버는 모든 URL에 열립니다. DoS(Denial of Service) 또는 SSRF(Server Side Request Forgery) 공격 가능성을 완화하기 위해서는 포털의 프록시 기능이 승인된 웹 주소로 제한하는 것을 권장합니다.

PS02

매우 중요

토큰 요청

쿼리 매개변수에 자격 증명이 포함된 토큰 생성 요청이 지원되는지를 확인합니다. 지원되는 경우 토큰 생성 시 사용자의 자격 증명을 URL의 일부로 제공할 수 있으며 이러한 자격 증명은 브라우저 기록이나 네트워크 로그를 통해 노출될 수 있습니다. 다른 응용프로그램에서 필요하지 않은 경우 이를 비활성화하는 것을 권장합니다.

PS03

중요

포털 서비스 디렉터리

웹 브라우저를 통해 포털 서비스 디렉터리에 접근할 수 있는지를 확인합니다. 포털 항목, 서비스, 웹 맵, 그룹, 기타 리소스가 탐색되거나 웹 검색에서 찾아지거나 HTML 양식을 통해 쿼리될 수 있는 가능성을 줄이려면 이 옵션을 비활성화해야 합니다.

PS04

중요

보안 통신

포털이 HTTPS를 통해서만 통신하는지를 확인합니다. 포털 내부 통신의 가로채기를 방지하려면 Web Adaptor를 호스팅하는 웹 서버와 포털을 SSL을 적용하도록 구성하는 것이 좋습니다.

PS05

권장

빌트인 계정 등록

사용자가 포털 신청 페이지의 계정 생성 버튼을 클릭하여 빌트인 포털 계정을 생성할 수 있는지를 확인합니다. 기관별 계정을 사용하거나 모든 계정을 수동으로 생성하려면 이 옵션을 비활성화합니다.

PS06

권장

익명 접근

익명 접근이 허용되는지를 확인합니다. 사용자가 포털에 자격 증명을 제공하지 않고는 콘텐츠에 접근하지 못하도록 하려면 익명 접근을 금지하도록 포털을 구성하는 것이 좋습니다.

PS07

권장

LDAP 아이덴티티 저장소

포털이 LDAP 아이덴티티 저장소로 구성되어 있으면 암호화된 통신이 사용되는지 여부를 확인합니다. 사용자 저장소 및 그룹 저장소 구성 매개변수에 나열된 ldapURLForUsersldapURLForRoles 등록정보에서 LDAPS를 사용하는 것을 권장합니다.

PS08

권장

포털 SSL 인증서

포털에서 자체 서명된 인증서를 사용하는지를 확인합니다. 포털과 통신하는 클라이언트의 웹브라우저 경고 또는 기타 예기치 않은 동작을 줄이기 위해 포트 7443에 바인딩된 CA 서명 SSL 인증서를 가져와서 사용하는 것을 권장합니다.

PS09

권장

도메인 간 요청

도메인 간(CORS) 요청에 제한이 없는지를 확인합니다. 알 수 없는 응용프로그램이 공유 포털 항목에 접속하는 가능성을 줄이기 위해 도메인 간 요청을 신뢰할 수 있는 도메인에서만 호스팅되는 응용프로그램으로 제한하는 것을 권장합니다.

PS10

매우 중요

페더레이션된 서버 관리 URL

포털에서 페더레이션된 서버의 관리자 URL에 연결될 수 있는지 여부와 이 URL에 사용된 SSL 인증서를 신뢰할 수 있는지를 확인합니다. 신뢰할 수 없거나 연결할 수 없는 경우 많은 포털 기능 및 작업에 실패합니다.

PS11

권장

페더레이션된 서버 서비스 URL

포털에서 페더레이션된 서버의 서비스 URL에 연결될 수 있는지 여부와 이 URL에 사용된 SSL 인증서를 신뢰할 수 있는지를 확인합니다. 신뢰할 수 없거나 연결할 수 없는 경우 포털은 계속 작동되지만 일부 포털 작업에 실패할 수 있습니다.

PS12

권장

공개 콘텐츠

구성원이 공개적으로 콘텐츠를 공유할 수 없도록 포털이 구성되어 있으면 모든 사람과 계속 공유되는 항목이 나열됩니다.

PS13

중요

SAML 구성 설정

포털이 SAML 인증을 사용하도록 구성되어 있으면 암호화된 어설션 및 서명된 요청이 활성화되었는지 여부를 확인합니다. ID 공급자가 지원하는 경우, 포털이 암호화된 어설션 및 서명된 요청을 모두 요구하도록 구성하는 것을 권장합니다.

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

Portal for ArcGIS에 설치되어 있는 머신의 정규화된 도메인 이름(즉, gisportal.domain.com)입니다. 기본값은 스크립트를 실행하는 머신의 호스트 이름입니다.

-u

관리자 계정의 사용자 이름입니다.

-p

관리자 계정의 비밀번호입니다.

-o

보안 스캔 보고서가 저장되는 디렉터리입니다. 기본 디렉터리는 스크립트를 실행하는 폴더입니다.

-t

사용자 이름과 비밀번호 대신 토큰을 생성하여 사용할 수 있습니다. 토큰을 생성할 때는 portalScanWebapp 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(이)라는 이름으로 저장됩니다.