DO - Basic Information
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
DigitalOcean은 사용자에게 다양한 서비스를 제공하는 클라우드 컴퓨팅 플랫폼으로, 가상 사설 서버(VPS) 및 애플리케이션을 구축, 배포 및 관리하기 위한 기타 리소스를 포함합니다. DigitalOcean의 서비스는 간단하고 사용하기 쉽게 설계되어 있어 개발자와 소규모 기업 사이에서 인기가 높습니다.
DigitalOcean의 주요 기능은 다음과 같습니다:
가상 사설 서버(VPS): DigitalOcean은 웹사이트와 애플리케이션을 호스팅하는 데 사용할 수 있는 VPS를 제공합니다. 이러한 VPS는 단순성과 사용 용이성으로 유명하며, 다양한 사전 구축된 "드롭릿" 또는 사용자 정의 구성을 사용하여 빠르고 쉽게 배포할 수 있습니다.
스토리지: DigitalOcean은 웹사이트와 애플리케이션의 데이터를 저장하고 관리하는 데 사용할 수 있는 객체 스토리지, 블록 스토리지 및 관리형 데이터베이스를 포함한 다양한 스토리지 옵션을 제공합니다.
개발 및 배포 도구: DigitalOcean은 API 및 사전 구축된 드롭릿을 포함하여 애플리케이션을 구축, 배포 및 관리하는 데 사용할 수 있는 다양한 도구를 제공합니다.
보안: DigitalOcean은 보안에 강한 중점을 두고 있으며, 사용자가 데이터와 애플리케이션을 안전하게 유지하는 데 도움이 되는 다양한 도구와 기능을 제공합니다. 여기에는 암호화, 백업 및 기타 보안 조치가 포함됩니다.
전반적으로 DigitalOcean은 사용자가 클라우드에서 애플리케이션을 구축, 배포 및 관리하는 데 필요한 도구와 리소스를 제공하는 클라우드 컴퓨팅 플랫폼입니다. 그 서비스는 간단하고 사용하기 쉽게 설계되어 있어 개발자와 소규모 기업 사이에서 인기가 높습니다.
DigitalOcean과 AWS의 주요 차이점 중 하나는 제공하는 서비스의 범위입니다. DigitalOcean은 간단하고 사용하기 쉬운 가상 사설 서버(VPS), 스토리지 및 개발 및 배포 도구를 제공하는 데 중점을 둡니다. 반면 AWS는 VPS, 스토리지, 데이터베이스, 머신 러닝, 분석 및 기타 많은 서비스를 포함한 훨씬 더 넓은 범위의 서비스를 제공합니다. 이는 AWS가 복잡한 기업 수준의 애플리케이션에 더 적합한 반면, DigitalOcean은 소규모 기업과 개발자에게 더 적합하다는 것을 의미합니다.
두 플랫폼 간의 또 다른 주요 차이점은 가격 구조입니다. DigitalOcean의 가격은 일반적으로 AWS보다 더 간단하고 이해하기 쉽습니다. 드롭릿 및 기타 리소스 사용량에 따라 다양한 가격 계획이 있습니다. 반면 AWS는 사용되는 리소스의 유형과 양을 포함한 다양한 요소에 따라 더 복잡한 가격 구조를 가지고 있습니다. 이는 AWS를 사용할 때 비용을 예측하기 더 어렵게 만들 수 있습니다.
사용자는 예상하는 대로 사용자입니다. 그는 팀을 생성하고 다양한 팀의 구성원이 될 수 있습니다.
팀은 사용자의 그룹입니다. 사용자가 팀을 생성하면 그는 그 팀의 소유자 역할을 가지며 처음에 청구 정보를 설정합니다. 다른 사용자는 팀에 초대될 수 있습니다.
팀 내에는 여러 프로젝트가 있을 수 있습니다. 프로젝트는 단순히 서비스 세트가 실행되는 것입니다. 이는 프로덕션, 스테이징, 개발 등과 같은 다양한 인프라 단계를 분리하는 데 사용될 수 있습니다.
설명한 바와 같이, 프로젝트는 모든 서비스(드롭릿, 스페이스, 데이터베이스, 쿠버네티스 등)가 함께 실행되는 컨테이너입니다. Digital Ocean 프로젝트는 IAM이 없는 GCP 프로젝트와 매우 유사합니다.
기본적으로 팀의 모든 구성원은 팀 내에서 생성된 모든 프로젝트의 DO 리소스에 접근할 수 있습니다(특권의 차이는 있을 수 있습니다).
팀 내의 각 사용자는 다음 세 가지 역할 중 하나를 가질 수 있습니다:
역할 | 공유 리소스 | 청구 정보 | 팀 설정 |
---|---|---|---|
소유자 | 전체 접근 | 전체 접근 | 전체 접근 |
청구자 | 접근 없음 | 전체 접근 | 접근 없음 |
구성원 | 전체 접근 | 접근 없음 | 접근 없음 |
소유자와 구성원은 사용자를 나열하고 그들의 역할을 확인할 수 있습니다(청구자는 확인할 수 없습니다).
대부분의 플랫폼과 마찬가지로 GUI에 접근하기 위해 유효한 사용자 이름과 비밀번호 세트를 사용할 수 있습니다. 클라우드 리소스에 접근하기 위해 로그인한 후, https://cloud.digitalocean.com/account/profile에서 자신이 속한 모든 팀을 볼 수 있습니다. 그리고 https://cloud.digitalocean.com/account/activity에서 모든 활동을 볼 수 있습니다.
MFA는 사용자에게 활성화할 수 있으며, 팀의 모든 사용자가 팀에 접근하기 위해 강제 적용할 수 있습니다.
API를 사용하기 위해 사용자는 API 키를 생성할 수 있습니다. 이 키는 항상 읽기 권한을 가지지만 쓰기 권한은 선택 사항입니다. API 키는 다음과 같은 형식입니다:
The cli tool is doctl. 초기화하려면 (토큰이 필요함):
기본적으로 이 토큰은 Mac의 /Users/<username>/Library/Application Support/doctl/config.yaml
에 평문으로 기록됩니다.
이 키는 Spaces에 대한 액세스를 제공합니다 (AWS의 S3 또는 GCP의 Storage와 유사합니다).
이들은 이름, 키 ID 및 비밀로 구성됩니다. 예를 들면:
OAuth 애플리케이션은 Digital Ocean에 대한 접근 권한을 부여받을 수 있습니다.
https://cloud.digitalocean.com/account/api/applications에서 OAuth 애플리케이션을 생성하고 https://cloud.digitalocean.com/account/api/access에서 모든 허용된 OAuth 애플리케이션을 확인할 수 있습니다.
https://cloud.digitalocean.com/account/security에서 콘솔을 통해 Digital Ocean 팀에 SSH 키를 추가할 수 있습니다.
이렇게 하면 새 드롭렛을 생성할 때 SSH 키가 설정되어 비밀번호 없이 SSH로 로그인할 수 있습니다 (보안상의 이유로 새로 업로드된 SSH 키는 이미 존재하는 드롭렛에 설정되지 않습니다).
REST API를 통해 함수를 트리거하는 방법(항상 활성화되어 있으며, cli가 사용하는 방법)은 인증 토큰을 포함한 요청을 트리거하는 것입니다:
사용자의 로그는 https://cloud.digitalocean.com/account/activity에서 찾을 수 있습니다.
팀의 로그는 https://cloud.digitalocean.com/account/security에서 찾을 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)