InfoGrab Docs

권한 있는 계정에 대한 접근 제한

요약

관리자로서 Teleport 서비스를 포함하여 인프라의 리소스에 대한 권한 있는 접근을 언제, 어떻게 부여할지에 대해 충분한 정보를 바탕으로 결정해야 합니다. 리소스에 레이블 추가에서 배웠듯이, 레이블을 사용하면 Teleport로 보호하려는 인프라의 노드와 서비스를 그룹화, 필터링 및 접근 제어할 수 있습니다.

관리자로서 Teleport 서비스를 포함하여 인프라의 리소스에 대한 권한 있는 접근을 언제, 어떻게 부여할지에 대해 충분한 정보를 바탕으로 결정해야 합니다. 또한 클러스터 스토리지 백엔드에 대한 접근을 관리하고 네트워크 수준 제한 적용 여부를 결정해야 합니다.

레이블과 레이블 표현식#

리소스에 레이블 추가에서 배웠듯이, 레이블을 사용하면 Teleport로 보호하려는 인프라의 노드와 서비스를 그룹화, 필터링 및 접근 제어할 수 있습니다. Teleport 역할의 허용 및 거부 규칙과 결합하면 레이블은 중요한 리소스에 접근을 허용하거나 거부하는 주요 메커니즘이 됩니다. 레이블을 추가하거나 수정할 수 있는 사용자는 의도적으로 또는 의도치 않게 다른 사용자의 역할이 평가될 때 권한 상승으로 이어지는 변경을 할 수 있습니다.

레이블 변경으로 인한 권한 상승을 방지하려면 다음을 해야 합니다:

  • 모든 역할에서 허용 및 거부 규칙이 어떻게 정의되고 상호작용하는지 신중하게 고려합니다.
  • 클러스터의 모든 노드에서 Teleport 프로세스 및 Teleport 구성 파일에 대한 접근을 제한합니다.
  • 명령을 실행하는 동적 레이블을 정의할 때 주의합니다.
  • 동적 레이블을 생성하는 데 사용되는 소스를 검토하고 명령 또는 사용된 데이터 소스에 대한 수정을 제한합니다.
  • 역할을 생성하고 할당할 때 최소 권한 원칙을 따릅니다. 더 제한적인 역할이 충분할 때 사용자에게 허용적인 역할을 부여하지 마세요. 예를 들어 사용자에게 모든 클러스터 리소스에 접근하고 편집할 수 있는 권한을 부여하는 사전 설정 access 또는 editor 역할을 할당하지 마세요. 대신 각 사용자에게 필요한 최소 권한으로 역할을 정의하고, 임시 상승된 권한을 제공하기 위해 접근 요청 또는 액세스 목록을 구성하세요.

루트 접근 제한#

모든 사용자에게 루트 권한이나 관리 권한이 있는 다른 계정에 대한 접근을 허용하는 것은 매우 선택적으로 해야 합니다. 권한 있는 사용자는 권한 부여 제어에 영향을 미치는 방식으로 Teleport 에이전트를 조작할 수 있습니다. 예를 들어 Teleport 구성 파일에 접근할 수 있는 권한 있는 사용자는 역할 기반 접근 제어를 우회하도록 설정을 수정할 수 있습니다. 마찬가지로 Teleport Auth Service, Teleport Proxy Service 또는 Teleport 에이전트 서비스에 대한 상승된 접근 권한을 가진 사용자는 Teleport 실행 파일을 교체하여 클러스터 시스템에 침투하거나 데이터를 유출하고, 동적 리소스 검색을 조작하고, 민감한 자격 증명과 세션을 침해하거나 감사를 방해할 수 있습니다.

상승된 권한으로 인한 보안 사고를 방지하려면 다음 지침을 준수해야 합니다:

  • 새로운 비루트 사용자를 만들고 Teleport로 실험하기 위한 테스트 인스턴스를 사용합니다.
  • SSH 서비스를 제외한 모든 Teleport 에이전트 서비스를 비루트 사용자로 실행합니다. SSH 서비스는 루트 접근이 필요하므로 SSH 서비스에 대한 접근을 제한해야 합니다. Teleport Proxy Service는 포트 443을 포함하여 1024 미만의 포트 번호에서 Teleport가 수신할 수 있도록 루트 권한이나 CAP_NET_BIND_SERVICE 기능을 가져야 합니다.
  • 필요하지 않은 한 프로덕션 환경에서 sudo 허용을 피합니다.
  • 모든 Teleport 실행 파일이 수정되거나 교체되지 않도록 보호합니다.
  • Teleport 구성 파일이 수정되거나 교체되지 않도록 보호합니다.
  • 사용자의 클라이언트 ~/.tsh 디렉터리가 안전하고 복사되어서는 안 된다는 것을 확인합니다. 사용자의 tsh 클라이언트가 침해되면 해당 사용자의 침해로 이어질 수 있습니다.

스토리지에 대한 접근 방지#

Teleport 스토리지 백엔드에 직접 접근하거나 수정할 수 없도록 해야 합니다. 예를 들어 감사 로그 이벤트와 세션 녹화를 위해 사용하는 스토리지가 데이터를 변조할 수 없도록 보호되어야 합니다. 스토리지 관리에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

네트워크 접근 제한#

Teleport는 네트워크 제한을 제공하지 않습니다. 예를 들어 포트 포워딩을 허용해야 하는지, 허용한다면 어떤 역할이 허용하고 어떤 리소스에 접근할 수 있는지 고려해야 합니다. 사용자가 Teleport를 통해 네트워크 접근을 설정한 다음 Teleport 클러스터 감사 시스템 외부에서 다른 클라이언트와 프로토콜을 사용하여 추가 시스템에 접근하는 상황을 방지해야 합니다.

권한 있는 계정에 대한 접근 제한

원문 보기
요약

관리자로서 Teleport 서비스를 포함하여 인프라의 리소스에 대한 권한 있는 접근을 언제, 어떻게 부여할지에 대해 충분한 정보를 바탕으로 결정해야 합니다. 리소스에 레이블 추가에서 배웠듯이, 레이블을 사용하면 Teleport로 보호하려는 인프라의 노드와 서비스를 그룹화, 필터링 및 접근 제어할 수 있습니다.

관리자로서 Teleport 서비스를 포함하여 인프라의 리소스에 대한 권한 있는 접근을 언제, 어떻게 부여할지에 대해 충분한 정보를 바탕으로 결정해야 합니다. 또한 클러스터 스토리지 백엔드에 대한 접근을 관리하고 네트워크 수준 제한 적용 여부를 결정해야 합니다.

레이블과 레이블 표현식#

리소스에 레이블 추가에서 배웠듯이, 레이블을 사용하면 Teleport로 보호하려는 인프라의 노드와 서비스를 그룹화, 필터링 및 접근 제어할 수 있습니다. Teleport 역할의 허용 및 거부 규칙과 결합하면 레이블은 중요한 리소스에 접근을 허용하거나 거부하는 주요 메커니즘이 됩니다. 레이블을 추가하거나 수정할 수 있는 사용자는 의도적으로 또는 의도치 않게 다른 사용자의 역할이 평가될 때 권한 상승으로 이어지는 변경을 할 수 있습니다.

레이블 변경으로 인한 권한 상승을 방지하려면 다음을 해야 합니다:

  • 모든 역할에서 허용 및 거부 규칙이 어떻게 정의되고 상호작용하는지 신중하게 고려합니다.
  • 클러스터의 모든 노드에서 Teleport 프로세스 및 Teleport 구성 파일에 대한 접근을 제한합니다.
  • 명령을 실행하는 동적 레이블을 정의할 때 주의합니다.
  • 동적 레이블을 생성하는 데 사용되는 소스를 검토하고 명령 또는 사용된 데이터 소스에 대한 수정을 제한합니다.
  • 역할을 생성하고 할당할 때 최소 권한 원칙을 따릅니다. 더 제한적인 역할이 충분할 때 사용자에게 허용적인 역할을 부여하지 마세요. 예를 들어 사용자에게 모든 클러스터 리소스에 접근하고 편집할 수 있는 권한을 부여하는 사전 설정 access 또는 editor 역할을 할당하지 마세요. 대신 각 사용자에게 필요한 최소 권한으로 역할을 정의하고, 임시 상승된 권한을 제공하기 위해 접근 요청 또는 액세스 목록을 구성하세요.

루트 접근 제한#

모든 사용자에게 루트 권한이나 관리 권한이 있는 다른 계정에 대한 접근을 허용하는 것은 매우 선택적으로 해야 합니다. 권한 있는 사용자는 권한 부여 제어에 영향을 미치는 방식으로 Teleport 에이전트를 조작할 수 있습니다. 예를 들어 Teleport 구성 파일에 접근할 수 있는 권한 있는 사용자는 역할 기반 접근 제어를 우회하도록 설정을 수정할 수 있습니다. 마찬가지로 Teleport Auth Service, Teleport Proxy Service 또는 Teleport 에이전트 서비스에 대한 상승된 접근 권한을 가진 사용자는 Teleport 실행 파일을 교체하여 클러스터 시스템에 침투하거나 데이터를 유출하고, 동적 리소스 검색을 조작하고, 민감한 자격 증명과 세션을 침해하거나 감사를 방해할 수 있습니다.

상승된 권한으로 인한 보안 사고를 방지하려면 다음 지침을 준수해야 합니다:

  • 새로운 비루트 사용자를 만들고 Teleport로 실험하기 위한 테스트 인스턴스를 사용합니다.
  • SSH 서비스를 제외한 모든 Teleport 에이전트 서비스를 비루트 사용자로 실행합니다. SSH 서비스는 루트 접근이 필요하므로 SSH 서비스에 대한 접근을 제한해야 합니다. Teleport Proxy Service는 포트 443을 포함하여 1024 미만의 포트 번호에서 Teleport가 수신할 수 있도록 루트 권한이나 CAP_NET_BIND_SERVICE 기능을 가져야 합니다.
  • 필요하지 않은 한 프로덕션 환경에서 sudo 허용을 피합니다.
  • 모든 Teleport 실행 파일이 수정되거나 교체되지 않도록 보호합니다.
  • Teleport 구성 파일이 수정되거나 교체되지 않도록 보호합니다.
  • 사용자의 클라이언트 ~/.tsh 디렉터리가 안전하고 복사되어서는 안 된다는 것을 확인합니다. 사용자의 tsh 클라이언트가 침해되면 해당 사용자의 침해로 이어질 수 있습니다.

스토리지에 대한 접근 방지#

Teleport 스토리지 백엔드에 직접 접근하거나 수정할 수 없도록 해야 합니다. 예를 들어 감사 로그 이벤트와 세션 녹화를 위해 사용하는 스토리지가 데이터를 변조할 수 없도록 보호되어야 합니다. 스토리지 관리에 대한 자세한 내용은 스토리지 백엔드를 참조하세요.

네트워크 접근 제한#

Teleport는 네트워크 제한을 제공하지 않습니다. 예를 들어 포트 포워딩을 허용해야 하는지, 허용한다면 어떤 역할이 허용하고 어떤 리소스에 접근할 수 있는지 고려해야 합니다. 사용자가 Teleport를 통해 네트워크 접근을 설정한 다음 Teleport 클러스터 감사 시스템 외부에서 다른 클라이언트와 프로토콜을 사용하여 추가 시스템에 접근하는 상황을 방지해야 합니다.