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