애플리케이션과 관리 접근을 보호하고, 백엔드 리스너를 제한하며, onion 서비스 키를 보호하고, 호환 클라이언트를 통해 게시를 테스트하십시오. Onion 라우팅은 설계의 한 계층입니다. 이는 애플리케이션 취약점, 게시된 콘텐츠의 실수 또는 누가 접근해야 하는지 정의할 필요성을 제거하지 않습니다.
게시 및 대상 독자 정의
합법적인 게시 목적과 대상 독자 설명으로 시작하십시오. 공개 연구 게시물과 제한된 프로젝트 포털은 접근 요구 사항이 다릅니다. 어떤 콘텐츠가 공개용인지, 어떤 콘텐츠에 애플리케이션 인증이 필요한지, 어떤 콘텐츠가 웹 루트에 도달해서는 안 되는지 결정하십시오. 이러한 결정을 사이트에 도달하는 데 사용되는 전송과 분리하여 유지하십시오.
배포 전에 페이지, 업로드, 데이터베이스 콘텐츠, 관리자 계정 및 서비스 구성을 포함하는 작은 데이터 인벤토리를 작성하십시오. 업데이트 및 사고 처리를 위한 담당자를 지정하십시오. 사이트가 onion 주소를 사용한다는 사실이 보존, 콘텐츠 권리 또는 보안 책임을 해결하지 않습니다. 이들은 명시적인 운영 계획이 필요한 실질적인 애플리케이션 결정으로 남습니다.
백엔드 리스너를 의도적으로 유지
Onion 서비스는 연결을 로컬 애플리케이션 엔드포인트에 매핑합니다. 해당 엔드포인트가 수신 대기하는 위치와 다른 네트워크가 접근할 수 있는지 검토하십시오. Tor Project의 설정 가이드는 백엔드를 로컬 네트워크에 노출하지 않는 유용한 방법으로 Unix 소켓을 설명합니다. 서버에서 지원하는 접근 방식을 선택하고 실제 도달 가능성을 확인하십시오.
Tor를 통해 작동하는 연결은 의도하지 않은 공용 리스너와 공존할 수 있습니다. 의도한 접근 경로와 백엔드 주변의 경계를 모두 테스트하십시오. 일반적인 구성 가정을 피하고, 애플리케이션의 수신 설정과 웹 서버의 가상 호스트 라우팅을 읽으십시오. 관리 인터페이스를 공개적으로 의도된 서비스와 구분하고 해당 설정을 변경할 수 있는 사람을 제한하십시오.
애플리케이션이 게시하는 내용 검토
독자가 접하게 될 페이지, 업로드된 파일, 오류 출력 및 포함된 리소스를 검사하십시오. 애플리케이션은 디버깅 메시지를 통해 운영 세부 정보를 노출하거나 주요 설계에서 명확하지 않은 외부 자산으로 연결할 수 있습니다. 생성된 URL과 콘텐츠 메타데이터를 검토하십시오. 게시에 필요한 리소스만 제공하고 애플리케이션이 시작하는 모든 제3자 요청을 이해하십시오.
예시 연구 사이트의 경우, 출시 전에 샘플 기사, 첨부 파일 및 연락처 페이지를 검토하십시오. 비공개 편집 문서와 환경 파일이 공용 디렉터리 밖에 있는지 확인하십시오. 업로드를 확인할 때는 민감하지 않은 테스트 자료를 사용하십시오. 성공적인 onion 연결은 도달 가능성을 증명하지만, 이 콘텐츠 검토는 서비스가 대상 독자에게 실제로 공개하는 내용을 확인합니다.
서비스 신원을 보호 대상 자료로 취급
Onion 서비스 구성에는 비공개로 유지해야 하는 키 자료가 포함됩니다. 이를 공개 웹사이트 파일 밖에 두고 필요한 운영자로 접근을 제한하십시오. 합법적인 복구가 의도한 서비스 신원을 보존하는 방법과 침해가 발생하면 어떻게 처리할지 계획하십시오. 서비스 키를 공개 아카이브, 지원 메시지 또는 공유 프로젝트 저장소에 두지 마십시오.
복구 설계에 애플리케이션, 데이터 및 필요한 서비스 구성을 포함하고 각각에 적절한 보호를 적용하십시오. 사이트 콘텐츠만 백업하면 의도한 주소를 복원하지 못할 수 있으며, 개인 키가 포함된 사본은 민감한 백업이 됩니다. 누가 이를 복호화하고 복원할 수 있는지 문서화하고, 훈련 보고서에 키를 노출하지 않고 해당 접근을 테스트하십시오.
공개 또는 제한 접근을 명시적으로 선택
애플리케이션 로그인과 Tor 클라이언트 권한 부여는 서로 다른 계층입니다. Tor Project는 v3 onion 서비스 접근을 클라이언트 자격 증명에 의존하게 만드는 클라이언트 권한 부여를 문서화합니다. 해당 모델이 대상 독자와 운영 프로세스에 맞는지 결정하십시오. 공개 게시물에 자동으로 필요한 것은 아니며, 클라이언트가 연결된 후 애플리케이션의 권한을 대체하지도 않습니다.
소규모 승인 그룹이 있는 프로젝트 포털을 고려하십시오. 접근 자료를 비공개로 배포, 교체 및 폐기하고 애플리케이션 계정을 관리할 방법이 필요합니다. 승인된 클라이언트와 애플리케이션 사용자의 제거를 별도로 테스트하십시오. 다음 표는 하나의 설정이 모든 접근 문제를 해결한다고 약속하는 대신 이러한 제어를 구분합니다.
| 제어 | 답하는 질문 | 책임 분리 |
|---|---|---|
| 백엔드 리스너 | 누가 로컬 애플리케이션 엔드포인트에 도달할 수 있나요? | 웹 서버 및 네트워크 구성 |
| 클라이언트 권한 부여 | 어떤 클라이언트가 onion 서비스에 연결할 수 있나요? | 비공개 자격 증명 배포 및 폐기 |
| 애플리케이션 권한 | 연결된 사용자가 무엇을 할 수 있나요? | 계정 역할 및 데이터 접근 |
| 게시 검토 | 사이트가 무엇을 공개하나요? | 콘텐츠, 업로드 및 오류 처리 |
독자의 연결을 통해 테스트
호환 클라이언트를 사용하여 의도한 onion 접근 경로를 통해 페이지, 탐색, 양식 및 다운로드를 테스트하십시오. 무해한 테스트 트래픽으로 오류와 애플리케이션 리소스 사용을 관찰하십시오. 로컬 백엔드 요청만 측정하지 마십시오. 이는 독자의 전체 연결을 실행하지 않습니다. 테스트 계정과 제한 접근 자격 증명을 비공개로 유지하십시오.
복구 및 유지 관리 절차도 확인하십시오. 애플리케이션 업데이트에는 롤백 지점과 이후 onion 경로를 검증할 방법이 있어야 합니다. 배포 또는 전송 라벨이 무로그 정책을 만든다고 가정하지 않고 유용한 운영 로그와 보존을 정의하십시오. 불필요한 수집을 피하면서 결함을 진단할 충분한 증거를 보존하십시오.
호스팅 옵션을 설계의 일부로 읽기
SwissOctet Veil은 애플리케이션 스택, onion 주소 및 백업 선택을 나열합니다. 소프트웨어가 기대하는 스택과 워크로드에 충분한 CPU, 메모리 및 스토리지를 선택하십시오. 의존하기 전에 실제 서비스가 배포, 서비스 신원 및 복원을 처리하는 방법을 확인하십시오. 카탈로그의 스위스 위치는 애플리케이션의 개인정보 보호 동작과 별개입니다.
서비스를 합법적인 게시 및 승인된 사용자를 위한 것으로 유지하십시오. 관리자 업데이트, 접근 검토 및 손상된 애플리케이션 자격 증명에 대한 대응을 계획하십시오. Onion 게시는 콘텐츠, 백엔드 노출 및 복구를 이해할 수 있을 때 가장 잘 작동합니다. 전송은 일반적인 소프트웨어 보안을 건너뛸 변명이 되기보다 해당 계획을 지원해야 합니다.
실용 체크리스트.
- 배포 전에 공개 및 제한 콘텐츠를 정의하십시오.
- 백엔드 리스너의 실제 노출을 확인하십시오.
- 페이지, 업로드 및 외부 리소스 요청을 검토하십시오.
- 서비스 키 자료의 복구를 보호하고 테스트하십시오.
- 클라이언트 권한 부여와 애플리케이션 역할을 분리하십시오.
- onion 경로를 통한 유지 관리 및 독자 여정을 테스트하십시오.
중요한 세부 사항.
Onion 호스팅이 애플리케이션을 그 자체로 익명으로 만드나요?+
아니요. 게시된 콘텐츠, 구성, 계정 및 운영 관행이 정보를 드러낼 수 있습니다. 연결 방법에 의존하지 말고 전체 서비스를 검토하십시오.
모든 onion 사이트가 클라이언트 권한 부여를 사용해야 하나요?+
아니요. 의도한 대상 독자를 기준으로 결정하십시오. 클라이언트 권한 부여는 연결 접근을 제한하고 자격 증명 수명 주기를 추가합니다. 애플리케이션 권한은 별도로 유지됩니다.
복구 사본에서 무엇을 보호해야 하나요?+
사이트 데이터와 구성에는 적절한 접근 제어가 필요합니다. 포함된 서비스 키 자료는 특히 민감하며 저장 및 복원 중에 비공개로 유지해야 합니다.
출처로 이동하세요.
이 참고 자료는 이 가이드의 기술 개념을 뒷받침합니다. 프로덕션 시스템을 변경하기 전에 최신 문서를 확인하세요.
- Tor Project: onion 서비스 설정 community.torproject.org
- Tor Project: 고급 onion 서비스 설정 community.torproject.org
- Tor Project: 클라이언트 권한 부여 community.torproject.org
SwissOctet의 편집 지침. 예시는 설명용입니다. 서비스 사양, 사용 가능한 옵션 및 계약 조건은 별도로 확인해야 합니다.