Okta Hardening

Support HackTricks

Directory

People

공격자의 관점에서, 이는 매우 흥미롭습니다. 왜냐하면 등록된 모든 사용자, 그들의 이메일 주소, 그들이 속한 그룹, 프로필 및 심지어 디바이스(운영 체제가 포함된 모바일)를 볼 수 있기 때문입니다.

화이트박스 리뷰를 위해 "Pending user action" 및 "Password reset"이 여러 개 존재하지 않는지 확인하십시오.

Groups

여기에서 Okta에 생성된 모든 그룹을 찾을 수 있습니다. 이는 사용자에게 부여될 수 있는 다양한 그룹(권한 집합)을 이해하는 데 흥미롭습니다. 그룹 내에 포함된 사람들과 각 그룹에 할당된 을 볼 수 있습니다.

물론, admin이라는 이름의 그룹은 흥미롭습니다. 특히 Global Administrators 그룹의 멤버를 확인하여 가장 권한이 높은 멤버가 누구인지 알아보십시오.

화이트박스 리뷰에서는 글로벌 관리자 수가 5명을 넘지 않아야 합니다(2명 또는 3명만 있는 것이 더 좋습니다).

Devices

여기에서 모든 사용자의 모든 디바이스 목록을 찾을 수 있습니다. 또한 활성 관리 여부도 확인할 수 있습니다.

Profile Editor

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

또한, Okta의 프로필 **User (default)**에서 각 사용자가 가진 필드와 사용자가 쓰기 가능한 필드를 볼 수 있습니다. 관리자 패널을 볼 수 없는 경우 프로필 업데이트 정보로 이동하여 업데이트할 수 있는 필드를 확인할 수 있습니다(이메일 주소를 업데이트하려면 확인이 필요합니다).

Directory Integrations

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

보지 못했지만, Okta가 사용자를 가져오는 다른 디렉토리를 찾아내는 것이 흥미로울 것입니다. 그 디렉토리를 손상시키면 Okta에 생성된 사용자에게 일부 속성 값을 설정하고 Okta 환경을 손상시킬 수 있습니다.

Profile Sources

프로필 소스는 사용자 프로필 속성에 대한 진실의 원천 역할을 하는 애플리케이션입니다. 사용자는 한 번에 하나의 애플리케이션 또는 디렉토리에서만 소싱될 수 있습니다.

보지 못했으므로 이 옵션에 대한 보안 및 해킹 관련 정보는 환영합니다.

Customizations

Brands

이 섹션의 Domains 탭에서 이메일을 보내는 데 사용되는 이메일 주소와 회사의 Okta 내 커스텀 도메인을 확인하십시오(이미 알고 있을 가능성이 큽니다).

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

SMS

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

End-User Dashboard

여기에서 구성된 애플리케이션을 찾을 수 있지만, 해당 애플리케이션의 세부 사항은 나중에 다른 섹션에서 다룰 것입니다.

Other

흥미로운 설정이지만 보안 관점에서 특별히 흥미로운 것은 없습니다.

Applications

Applications

여기에서 모든 구성된 애플리케이션과 그 세부 사항을 찾을 수 있습니다: 누가 접근할 수 있는지, 어떻게 구성되어 있는지(SAML, OpenID), 로그인 URL, Okta와 애플리케이션 간의 매핑...

Sign On 탭에는 **Password reveal**이라는 필드도 있어 사용자가 애플리케이션 설정을 확인할 때 비밀번호를 공개할 수 있습니다. 사용자 패널에서 애플리케이션 설정을 확인하려면 3개의 점을 클릭하십시오:

그리고 애플리케이션에 대한 몇 가지 세부 정보를 볼 수 있습니다(비밀번호 공개 기능이 활성화된 경우):

Identity Governance

Access Certifications

Access Certifications를 사용하여 사용자의 리소스 접근을 주기적으로 검토하고 필요할 때 접근을 자동으로 승인하거나 취소하는 감사 캠페인을 생성하십시오.

사용된 것을 보지 못했지만, 방어적 관점에서 좋은 기능이라고 생각합니다.

Security

General

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

  • CAPTCHA 통합: 최소한 invisible reCaptcha를 설정하는 것이 좋습니다.

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

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

  • 사용자 열거 방지는 다음 조건 중 하나가 허용되는 경우에는 적용되지 않습니다(사용자 관리에서 자세한 정보 확인):

  • 셀프 서비스 등록

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

  • Okta ThreatInsight 설정: 위협 수준에 따라 보안을 기록하고 시행하십시오.

HealthInsight

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

Authenticators

여기에서 사용자가 사용할 수 있는 모든 인증 방법을 찾을 수 있습니다: 비밀번호, 전화, 이메일, 코드, WebAuthn... 비밀번호 인증기를 클릭하면 비밀번호 정책을 볼 수 있습니다. 강력한지 확인하십시오.

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

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

Authentication policies

모든 애플리케이션에는 인증 정책이 있습니다. 인증 정책은 사용자가 애플리케이션에 로그인하려고 할 때 특정 조건을 충족하는지 확인하고 해당 조건에 따라 요소 요구 사항을 시행합니다.

여기에서 각 애플리케이션에 접근하기 위한 요구 사항을 찾을 수 있습니다. 각 애플리케이션에 대해 최소한 비밀번호와 다른 방법을 요청하는 것이 좋습니다. 그러나 공격자로서 더 약한 것을 찾으면 공격할 수 있을 것입니다.

Global Session Policy

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

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

Identity Providers

Identity Providers(IdPs)는 사용자 계정을 관리하는 서비스입니다. Okta에 IdPs를 추가하면 최종 사용자가 소셜 계정 또는 스마트 카드를 사용하여 먼저 인증한 후 커스텀 애플리케이션에 셀프 등록할 수 있습니다.

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

어떤 IdP가 구성되어 있는지 공격자와 방어자의 관점에서 확인하고 소스가 정말 신뢰할 수 있는지 확인하십시오. 공격자가 이를 손상시키면 Okta 환경에 접근할 수 있기 때문입니다.

Delegated Authentication

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

다시 한 번, 이를 재확인하십시오. 공격자가 조직의 AD를 손상시키면 이 설정 덕분에 Okta로 피벗할 수 있기 때문입니다.

Network

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

하나 이상의 네트워크 존을 정의한 후 Global Session Policies, 인증 정책, VPN 알림 및 라우팅 규칙에서 이를 사용할 수 있습니다.

공격자의 관점에서 어떤 IP가 허용되는지(그리고 어떤 IP가 더 특권이 있는지 확인하십시오). 공격자의 관점에서 사용자가 특정 IP 주소나 지역에서 접근해야 하는 경우 이 기능이 제대로 사용되고 있는지 확인하십시오.

Device Integrations

  • Endpoint Management: Endpoint management는 관리 디바이스가 애플리케이션에 접근할 수 있도록 하는 인증 정책에 적용할 수 있는 조건입니다.

  • 아직 사용된 것을 보지 못했습니다. TODO

  • Notification services: 아직 사용된 것을 보지 못했습니다. TODO

API

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

Trusted Origins는 Okta API를 통해 Okta 조직에 접근할 수 있도록 제어하고 신뢰하는 웹사이트에 접근 권한을 부여합니다.

API 토큰이 많지 않아야 합니다. 많으면 공격자가 이를 접근하여 사용할 수 있기 때문입니다.

Workflow

Automations

Automations를 사용하여 최종 사용자의 라이프사이클 동안 발생하는 일련의 트리거 조건을 기반으로 자동화된 작업을 생성할 수 있습니다.

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

Reports

Reports

로그를 다운로드하십시오. 현재 계정의 이메일 주소전송됩니다.

System Log

여기에서 Okta 또는 Okta를 통해 애플리케이션에 로그인하는 것과 같은 사용자가 수행한 작업의 로그를 많은 세부 정보와 함께 찾을 수 있습니다.

Import Monitoring

이 기능은 Okta를 통해 접근한 다른 플랫폼에서 로그를 가져올 수 있습니다.

Rate limits

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

Settings

Account

여기에서 회사 이름, 주소, 이메일 청구 연락처, 이메일 기술 연락처와 같은 Okta 환경에 대한 일반 정보를 찾을 수 있으며, Okta 업데이트를 받을 사람과 어떤 종류의 Okta 업데이트를 받을지도 확인할 수 있습니다.

Downloads

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

Support HackTricks

Last updated