Okta Hardening

htARTE (HackTricks AWS Red Team Expert)를 통해 **제로부터 영웅까지 AWS 해킹 배우기**!

HackTricks를 지원하는 다른 방법:

디렉토리

사용자

공격자의 관점에서, 여기서 등록된 모든 사용자, 이메일 주소, 소속 그룹, 프로필 및 심지어 기기 (모바일 및 운영 체제 포함)를 볼 수 있습니다.

화이트박스 검토에서는 "보류 중인 사용자 조치" 및 "암호 재설정"이 없는지 확인하세요.

그룹

Okta에 생성된 모든 그룹을 찾을 수 있는 곳입니다. 사용자에게 부여될 수 있는 권한 집합인 다양한 그룹을 이해하는 것이 흥미로울 것입니다. 그룹 내에 포함된 사람들과 각 그룹에 할당된 을 볼 수 있습니다.

물론, 관리자라는 이름의 그룹은 흥미로운데, 특히 글로벌 관리자 그룹은 특히 흥미로울 것입니다. 가장 특권이 있는 회원을 확인하려면 멤버를 확인하세요.

화이트박스 검토에서는 글로벌 관리자가 5명 이상이 되어서는 안 됩니다 (2명 또는 3명이면 더 좋습니다).

기기

여기에는 모든 사용자의 모든 기기 목록이 있습니다. 활성으로 관리되고 있는지 여부도 확인할 수 있습니다.

프로필 편집기

여기에서 Okta와 다른 애플리케이션 간에 이름, 성, 이메일, 사용자 이름 등과 같은 주요 정보가 어떻게 공유되는지 확인할 수 있습니다. 사용자가 Okta에서 필드(예: 이름 또는 이메일)를 수정할 수 있다면 (그런 다음 외부 애플리케이션이 사용자를 식별하는 데 사용하는 필드인) 내부자가 다른 계정을 탈취하려고 시도할 수 있습니다.

또한, Okta의 프로필 **사용자 (기본값)**에서 각 사용자가 가지고 있는 필드와 사용자가 수정 가능한 필드를 볼 수 있습니다. 관리자 패널을 볼 수 없다면, 프로필 정보를 업데이트하러 가면 업데이트할 수 있는 필드를 볼 수 있습니다 (이메일 주소를 업데이트하려면 확인해야 함을 기억하세요).

디렉토리 통합

디렉토리를 통해 기존 소스에서 사람을 가져올 수 있습니다. 다른 디렉토리에서 가져온 사용자를 볼 수 있을 것입니다.

저는 보지 못했지만, Okta가 사용하는 다른 디렉토리를 찾아 해킹하면 Okta에서 생성된 사용자의 속성 값을 설정할 수 있으므로 Okta 환경을 탈취할 수 있을 것입니다.

프로필 소스

프로필 소스는 사용자 프로필 속성의 진실의 원천으로 작용하는 애플리케이션입니다. 사용자는 한 번에 한 번의 애플리케이션 또는 디렉토리에만 소스로 지정될 수 있습니다.

저는 보지 못했지만, 이 옵션에 대한 보안 및 해킹 정보는 환영합니다.

사용자 정의

브랜드

이 섹션의 도메인 탭에서 이메일을 보내는 데 사용되는 이메일 주소와 회사의 Okta 내 사용자 정의 도메인을 확인할 수 있습니다 (아마 이미 알고 있을 것입니다).

또한, 설정 탭에서 관리자인 경우 "사용자 정의 로그아웃 페이지 사용"을 설정하고 사용자 정의 URL을 설정할 수 있습니다.

SMS

여기에는 흥미로운 내용이 없습니다.

최종 사용자 대시보드

여기에서 구성된 애플리케이션을 찾을 수 있지만, 나중에 다른 섹션에서 해당 세부 정보를 볼 것입니다.

기타

흥미로운 설정이지만 보안적으로는 특별히 흥미로운 내용은 없습니다.

애플리케이션

애플리케이션

여기에서 구성된 애플리케이션 및 세부 정보를 찾을 수 있습니다: 누가 액세스 권한을 가지고 있는지, 구성 방법(SAML, OPenID), 로그인 URL, Okta와 애플리케이션 간의 매핑...

로그인 탭에서 사용자가 애플리케이션 설정을 확인할 때 **암호 표시**라는 필드도 있습니다. 사용자 패널에서 애플리케이션의 설정을 확인하려면 3 점을 클릭하세요:

그리고 앱에 대한 자세한 정보를 볼 수 있습니다 (암호 표시 기능이 활성화되어 있는지 등):

신원 관리

액세스 인증

액세스 인증을 사용하여 사용자의 리소스 액세스를 주기적으로 검토하고 필요할 때 자동으로 액세스를 승인 또는 취소하는 감사 캠페인을 생성할 수 있습니다.

사용하지 않았지만, 방어적인 관점에서는 좋은 기능일 것으로 예상됩니다.

보안

일반

  • 보안 알림 이메일: 모두 활성화되어 있어야 합니다.

  • CAPTCHA 통합: 적어도 보이지 않는 reCaptcha를 설정하는 것이 좋습니다.

  • 조직 보안: 모든 것을 활성화할 수 있으며 활성화 이메일은 오래 지속되어서는 안 됩니다 (7일이 적당합니다).

  • 사용자 열거 방지: 둘 다 활성화되어 있어야 합니다.

  • 사용자 열거 방지는 다음 조건 중 하나라도 허용된 경우에는 적용되지 않음을 주의하세요 (사용자 관리에서 자세한 정보 확인):

    • 셀프 서비스 등록

    • 이메일 인증을 통한 JIT 흐름

  • Okta ThreatInsight 설정: 위협 수준에 따라 로그를 기록하고 보안을 강화합니다.

HealthInsight

여기에서 올바르게 구성된 위험한 설정을 찾을 수 있습니다.

인증기

사용자가 사용할 수 있는 모든 인증 방법을 찾을 수 있습니다: 암호, 전화, 이메일, 코드, WebAuthn... 암호 인증기를 클릭하면 암호 정책을 볼 수 있습니다. 강력한지 확인하세요.

등록 탭에서 필수 또는 선택 사항인 방법을 확인할 수 있습니다:

전화를 비활성화하는 것이 좋습니다. 가장 강력한 것은 아마도 암호, 이메일 및 WebAuthn의 조합일 것입니다.

인증 정책

모든 앱에는 인증 정책이 있습니다. 인증 정책은 앱에 로그인하려는 사용자가 특정 조건을 충족하는지 확인하고 해당 조건에 따라 요소 요구 사항을 강제합니다.

여기에서 각 애플리케이션에 액세스하는 요구 사항을 찾을 수 있습니다. 각 애플리케이션에 대해 적어도 암호와 다른 방법을 요청하는 것이 좋습니다. 그러나 공격자로서 더 취약한 부분을 찾으면 공격할 수 있을 수도 있습니다.

전역 세션 정책

여기에서는 다른 그룹에 할당된 세션 정책을 찾을 수 있습니다. 예를 들어:

MFA를 요청하고 세션 수명을 몇 시간으로 제한하며, 브라우저 확장 프로그램 간에 세션 쿠키를 유지하지 않고 위치 및 ID 제공자를 제한하는 것이 좋습니다. 예를 들어, 모든 사용자가 특정 국가에서 로그인해야 하는 경우 해당 위치만 허용할 수 있습니다.

ID 제공자

ID 제공자(IdPs)는 사용자 계정을 관리하는 서비스입니다. Okta에 IdPs를 추가하면 사용자가 소셜 계정이나 스마트 카드로 인증한 후 사용자 지정 응용 프로그램에 자체 등록할 수 있습니다.

ID 제공자 페이지에서 소셜 로그인(IdPs)을 추가하고 수신 SAML을 추가하여 Okta를 서비스 제공자(SP)로 구성할 수 있습니다. IdPs를 추가한 후 사용자의 위치, 장치 또는 이메일 도메인과 같은 컨텍스트에 따라 사용자를 IdP로 보내는 라우팅 규칙을 설정할 수 있습니다.

만약 어떤 ID 제공자가 구성되어 있다면 공격자와 방어자 관점에서 해당 구성을 확인하고 소스가 실제로 신뢰할 수 있는지 확인해야 합니다. 공격자가 해당 ID 제공자를 침해하면 Okta 환경에도 액세스할 수 있습니다.

위임된 인증

위임된 인증을 사용하면 사용자가 조직의 Active Directory(AD) 또는 LDAP 서버 자격 증명을 입력하여 Okta에 로그인할 수 있습니다.

다시 한번 확인하십시오. 조직의 AD를 침해한 공격자는 이 설정 덕분에 Okta로 피벗할 수 있을 수 있습니다.

네트워크

네트워크 영역은 요청하는 IP 주소를 기반으로 조직 내의 컴퓨터 및 장치에 대한 액세스를 허용하거나 제한할 수 있는 구성 가능한 경계입니다. 네트워크 영역을 정의할 때 하나 이상의 개별 IP 주소, IP 주소 범위 또는 지리적 위치를 지정할 수 있습니다.

하나 이상의 네트워크 영역을 정의한 후에는 전역 세션 정책, 인증 정책, VPN 알림 및 라우팅 규칙에서 사용할 수 있습니다.

공격자의 관점에서는 허용된 Ps를 알아두는 것이 흥미로울 것이며 (그리고 어떤 IP가 다른 것보다 더 특권이 있는지 확인하십시오). 사용자가 특정 IP 주소나 지역에서 액세스해야 하는 경우 해당 기능이 올바르게 사용되었는지 확인하십시오.

장치 통합

  • 엔드포인트 관리: 엔드포인트 관리는 인증 정책에 적용할 수 있는 조건으로, 관리되는 장치가 응용 프로그램에 액세스할 수 있도록 하는 것입니다.

  • 아직 이것을 사용한 적이 없습니다. TODO

  • 알림 서비스: 아직 이것을 사용한 적이 없습니다. TODO

API

이 페이지에서 Okta API 토큰을 생성하고 생성된 토큰의 권한, 만료 시간 및 원본 URL을 볼 수 있습니다. API 토큰은 토큰을 생성한 사용자의 권한으로 생성되며, 토큰을 생성한 사용자활성 상태인 경우에만 유효합니다.

신뢰할 수 있는 원본은 Okta API를 통해 Okta 조직에 액세스할 수 있는 웹사이트에 액세스 권한을 부여합니다.

많은 API 토큰이 없어야 합니다. 공격자가 이러한 토큰에 액세스하려고 시도하고 사용할 수 있기 때문입니다.

워크플로우

자동화

자동화를 사용하면 최종 사용자의 라이프사이클 중 발생하는 일련의 트리거 조건에 따라 실행되는 자동화된 작업을 생성할 수 있습니다.

예를 들어 조건으로는 "Okta에서 사용자 비활성화" 또는 "Okta에서 사용자 비밀번호 만료"가 있고, 작업으로는 "사용자에게 이메일 보내기" 또는 "Okta에서 사용자 라이프사이클 상태 변경"이 있을 수 있습니다.

보고서

보고서

로그를 다운로드합니다. 이 로그는 현재 계정의 이메일 주소전송됩니다.

시스템 로그

Okta에서 또는 Okta를 통해 응용 프로그램에 로그인하는 사용자가 수행한 작업에 대한 로그를 찾을 수 있습니다.

가져오기 모니터링

이것은 Okta로 액세스한 다른 플랫폼에서 로그를 가져올 수 있습니다.

속도 제한

도달한 API 속도 제한을 확인하십시오.

설정

계정

회사 이름, 주소, 이메일 청구 연락처, 이메일 기술 연락처와 Okta 업데이트를 받아야 하는 사람 및 어떤 종류의 Okta 업데이트를 받아야 하는지와 같은 Okta 환경에 대한 일반 정보를 찾을 수 있습니다.

다운로드

Okta 에이전트를 다운로드하여 Okta를 다른 기술과 동기화할 수 있습니다.

最終更新