StorageGRID에서 내부 방화벽 제어 관리
StorageGRID는 각 노드에 내부 방화벽을 포함하여 노드에 대한 네트워크 액세스를 제어함으로써 그리드의 보안을 강화합니다. 방화벽을 사용하여 특정 그리드 배포에 필요한 포트를 제외한 모든 포트에 대한 네트워크 액세스를 차단할 수 있습니다. 방화벽 제어 페이지에서 변경한 구성은 각 노드에 적용됩니다.
방화벽 제어 페이지의 세 가지 탭을 사용하여 그리드에 필요한 액세스 권한을 사용자 지정합니다.
-
Privileged address list: 이 탭을 사용하여 닫힌 포트에 대한 특정 액세스를 허용할 수 있습니다. 외부 액세스 관리 탭에서 닫힌 포트에 액세스할 수 있도록 IP 주소 또는 서브넷(CIDR 표기법)을 추가할 수 있습니다.
-
외부 액세스 관리: 이 탭을 사용하여 기본적으로 열려 있는 포트를 닫거나 이전에 닫았던 포트를 다시 열 수 있습니다.
-
신뢰할 수 없는 클라이언트 네트워크: 이 탭을 사용하여 노드가 클라이언트 네트워크에서 들어오는 트래픽을 신뢰할지 여부를 지정합니다.
이 탭의 설정은 '외부 액세스 관리' 탭의 설정을 재정의합니다.
-
신뢰할 수 없는 클라이언트 네트워크를 가진 노드는 해당 노드에 구성된 로드 밸런싱 엔드포인트 포트(전역, 노드 인터페이스 및 노드 유형 바인딩 엔드포인트)에 대한 연결만 허용합니다.
-
로드 밸런서 엔드포인트 포트는 외부 네트워크 관리 탭의 설정과 관계없이 신뢰할 수 없는 클라이언트 네트워크에서 _유일하게 열려 있는 포트_입니다.
-
신뢰할 수 있는 경우, 외부 액세스 관리 탭에서 열린 모든 포트와 클라이언트 네트워크에서 열린 모든 로드 밸런서 엔드포인트에 액세스할 수 있습니다.
-
|
|
한 탭에서 설정한 내용이 다른 탭에서 변경한 액세스 권한에 영향을 줄 수 있습니다. 네트워크가 예상대로 작동하는지 확인하려면 모든 탭의 설정을 확인하십시오. |
내부 방화벽 제어를 구성하려면 "방화벽 제어 구성"을 참조하십시오.
외부 방화벽 및 네트워크 보안에 대한 자세한 내용은 "외부 방화벽에서 액세스 제어"을 참조하십시오.
특권 주소 목록 및 외부 액세스 관리 탭
'특권 주소 목록' 탭에서는 닫혀 있는 그리드 포트에 대한 액세스 권한이 부여된 하나 이상의 IP 주소를 등록할 수 있습니다. '외부 액세스 관리' 탭에서는 선택한 외부 포트 또는 모든 열린 외부 포트(외부 포트는 기본적으로 그리드에 속하지 않은 노드에서 액세스할 수 있는 포트)에 대한 외부 액세스를 차단할 수 있습니다. 이 두 탭은 그리드에 허용해야 하는 정확한 네트워크 액세스를 사용자 지정하기 위해 함께 사용할 수 있습니다.
|
|
권한 있는 IP 주소는 기본적으로 내부 그리드 포트에 대한 액세스 권한이 없습니다. |
예시 1: 유지 관리 작업을 위해 점프 호스트 사용
보안이 강화된 호스트인 점프 호스트를 네트워크 관리에 사용하려는 경우를 가정해 보겠습니다. 다음과 같은 일반적인 단계를 따를 수 있습니다.
-
권한 있는 주소 목록 탭을 사용하여 점프 호스트의 IP 주소를 추가하십시오.
-
외부 액세스 관리 탭을 사용하여 모든 포트를 차단할 수 있습니다.
|
|
포트 443 및 8443을 차단하기 전에 우선 순위 IP 주소를 추가하십시오. 현재 차단된 포트에 연결된 모든 사용자(본인 포함)는 IP 주소가 우선 순위 주소 목록에 추가되지 않으면 Grid Manager에 액세스할 수 없게 됩니다. |
구성을 저장하면 그리드의 관리 노드에 있는 모든 외부 포트가 점프 호스트를 제외한 모든 호스트에 대해 차단됩니다. 그러면 점프 호스트를 사용하여 그리드에서 유지 관리 작업을 더욱 안전하게 수행할 수 있습니다.
예시 2: 민감한 포트 잠금
민감한 포트와 해당 포트에서 실행되는 서비스를 차단하고 싶다고 가정해 보겠습니다. 다음과 같은 일반적인 단계를 따를 수 있습니다.
-
'권한 있는 주소 목록' 탭을 사용하여 서비스에 액세스해야 하는 호스트에만 액세스 권한을 부여하십시오.
-
외부 액세스 관리 탭을 사용하여 모든 포트를 차단할 수 있습니다.
|
|
Grid Manager 및 Tenant Manager에 액세스하는 데 할당된 포트(기본 설정 포트는 443 및 8443)에 대한 액세스를 차단하기 전에 권한 있는 IP 주소를 추가하십시오. 차단된 포트에 현재 연결된 모든 사용자(본인 포함)는 IP 주소가 권한 있는 주소 목록에 추가되지 않으면 Grid Manager에 액세스할 수 없게 됩니다. |
구성을 저장하면 해당 포트와 해당 포트의 서비스는 권한 있는 주소 목록에 있는 호스트에서만 사용할 수 있습니다. 다른 모든 호스트는 요청이 어떤 인터페이스를 통해 들어오든 관계없이 해당 서비스에 액세스할 수 없습니다.
예시 3: 사용하지 않는 서비스에 대한 액세스 비활성화
네트워크 수준에서 사용하지 않을 일부 서비스를 비활성화할 수 있습니다. 예를 들어 HTTP S3 클라이언트 트래픽을 차단하려면 외부 액세스 관리 탭에서 토글을 사용하여 18084번 포트를 차단하면 됩니다.
신뢰할 수 없는 클라이언트 네트워크 탭
클라이언트 네트워크를 사용하는 경우, 명시적으로 구성된 엔드포인트에서만 인바운드 클라이언트 트래픽을 허용함으로써 악의적인 공격으로부터 StorageGRID를 보호할 수 있습니다.
기본적으로 각 그리드 노드의 클라이언트 네트워크는 신뢰할 수 있는 상태입니다. 즉, 기본적으로 StorageGRID는 모든 "사용 가능한 외부 포트"에서 각 그리드 노드에 대한 인바운드 연결을 신뢰합니다.
StorageGRID 시스템에 대한 악의적인 공격 위협을 줄이려면 각 노드의 클라이언트 네트워크를 _신뢰할 수 없음_으로 지정하십시오. 노드의 클라이언트 네트워크가 신뢰할 수 없는 경우 해당 노드는 로드 밸런서 엔드포인트로 명시적으로 구성된 포트에서만 수신 연결을 허용합니다. "로드 밸런서 엔드포인트 구성" 및 "방화벽 제어 구성"을 참조하십시오.
예시 1: 게이트웨이 노드는 HTTPS S3 요청만 허용합니다
게이트웨이 노드가 HTTPS S3 요청을 제외한 클라이언트 네트워크의 모든 인바운드 트래픽을 거부하도록 설정하려면 다음과 같은 일반적인 단계를 수행합니다.
-
해당 "로드 밸런서 엔드포인트" 페이지에서 포트 443을 통해 HTTPS를 사용하는 S3용 로드 밸런서 엔드포인트를 구성하십시오.
-
방화벽 제어 페이지에서 Untrusted를 선택하여 게이트웨이 노드의 클라이언트 네트워크를 신뢰할 수 없는 것으로 지정합니다.
구성을 저장하면 게이트웨이 노드의 클라이언트 네트워크로 들어오는 모든 인바운드 트래픽은 차단되지만, 포트 443의 HTTPS S3 요청과 ICMP 에코(핑) 요청은 예외적으로 허용됩니다.
예시 2: 스토리지 노드가 S3 플랫폼 서비스 요청을 보냅니다
스토리지 노드에서 S3 플랫폼 서비스로의 아웃바운드 트래픽은 허용하되, 클라이언트 네트워크에서 해당 스토리지 노드로의 인바운드 연결은 차단하고 싶다고 가정해 보겠습니다. 이 경우 일반적으로 다음과 같은 단계를 수행합니다.
-
방화벽 제어 페이지의 '신뢰할 수 없는 클라이언트 네트워크' 탭에서 스토리지 노드의 클라이언트 네트워크가 신뢰할 수 없음을 지정합니다.
구성을 저장하면 스토리지 노드는 클라이언트 네트워크에서 들어오는 트래픽을 더 이상 수락하지 않지만, 구성된 플랫폼 서비스 대상으로 나가는 요청은 계속 허용합니다.
예제 3: Grid Manager에 대한 액세스를 서브넷으로 제한하기
특정 서브넷에서만 Grid Manager에 대한 액세스를 허용하려고 한다고 가정합니다. 다음 단계를 수행합니다.
-
관리 노드의 클라이언트 네트워크를 서브넷에 연결하십시오.
-
신뢰할 수 없는 클라이언트 네트워크 탭을 사용하여 클라이언트 네트워크를 신뢰할 수 없는 네트워크로 구성하십시오.
-
관리 인터페이스 로드 밸런서 엔드포인트를 생성할 때 포트를 입력하고 해당 포트에서 액세스할 관리 인터페이스를 선택하십시오.
-
신뢰할 수 없는 클라이언트 네트워크에 대해 *예*를 선택하십시오.
-
'외부 액세스 관리' 탭을 사용하여 모든 외부 포트를 차단할 수 있습니다(해당 서브넷 외부 호스트에 대해 특권 IP 주소를 설정했는지 여부와 관계없음).
구성을 저장하면 지정한 서브넷에 있는 호스트만 Grid Manager에 액세스할 수 있습니다. 다른 모든 호스트는 차단됩니다.