강화 - 애플리케이션 권고 사항
일반적인 강화 지침은 주요 강화 문서를 참조하세요. 웹 인터페이스를 통해 GitLab 인스턴스에 대한 강화 권고 사항을 제어합니다. 관리자 액세스 권한이 있어야 합니다. 일반적인 강화 환경에서는 내부 정보가 시스템 외부로 전송되거나 저장되지 않습니다.
일반적인 강화 지침은 주요 강화 문서를 참조하세요.
웹 인터페이스를 통해 GitLab 인스턴스에 대한 강화 권고 사항을 제어합니다.
사전 요구 사항#
관리자 액세스 권한이 있어야 합니다.
시스템 훅#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 왼쪽 사이드바에서 시스템 훅을 선택하세요.
일반적인 강화 환경에서는 내부 정보가 시스템 외부로 전송되거나 저장되지 않습니다. 오프라인 환경 시스템의 경우 이는 암묵적으로 이해됩니다. 시스템 훅은 환경의 로컬 이벤트가 트리거를 기반으로 환경 외부의 정보를 전달하는 방법을 제공합니다.
원격 시스템을 통한 시스템 모니터링과 같이 이 기능의 사용 사례가 지원됩니다. 그러나 시스템 훅을 배포할 때는 매우 주의해야 합니다. 강화된 시스템의 경우 오프라인 환경을 의도하는 경우 서로 통신할 수 있는 신뢰할 수 있는 시스템의 경계를 적용해야 하므로 훅(시스템, 웹 또는 파일)은 해당 신뢰할 수 있는 시스템과만 통신해야 합니다. 시스템 훅을 통한 통신에는 TLS를 강력히 권장합니다.
푸시 규칙#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 왼쪽 사이드바에서 푸시 규칙을 선택하세요.
다음 항목이 선택되어 있는지 확인하세요:
- 미확인 사용자 거부
- 사용자가
git push로 Git 태그를 제거하는 것을 허용하지 않음 - 커밋 작성자가 GitLab 사용자인지 확인
- 비밀 파일 푸시 방지
이 조정은 확립되고 인증된 사용자에게 푸시를 제한하는 데 도움이 됩니다.
배포 키#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 왼쪽 사이드바에서 배포 키를 선택하세요.
공개 배포 키는 인스턴스의 모든 프로젝트에 읽기 또는 읽기/쓰기 액세스를 부여하고 원격 자동화가 프로젝트에 액세스하기 위한 것입니다. 강화된 환경에서는 공개 배포 키를 사용해서는 안 됩니다. 배포 키를 사용해야 하는 경우 대신 프로젝트 배포 키를 사용하세요. 자세한 내용은 배포 키 및 프로젝트 배포 키 문서를 참조하세요.
일반#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 왼쪽 사이드바에서 설정 > 일반을 선택하세요.
강화 조정은 4개 섹션에서 수행할 수 있습니다.
가시성 및 액세스 제어#
다음 설정의 기본값은 비공개입니다:
- 기본 프로젝트 가시성
- 기본 스니펫 가시성
- 기본 그룹 가시성
프로젝트, 스니펫 또는 그룹에 특정 액세스 권한이 부여된 사용자만 이 리소스에 액세스할 수 있습니다. 이는 나중에 또는 생성 시에 필요에 따라 조정할 수 있습니다. 이는 정보의 우발적이거나 악의적인 공개를 방지하는 데 도움이 됩니다.
보안 정책 및 태세에 따라 제한된 가시성 수준을 공개로 설정하여 인증되지 않은 사용자가 사용자 프로필을 볼 수 없도록 하려는 경우가 있을 수 있습니다.
가져오기 소스에서 실제로 필요한 소스만 선택하세요.
일반적인 배포에서는 활성화된 Git 액세스 프로토콜이 SSH 및 HTTP(S) 모두로 설정되어 있지만 사용자가 Git 프로토콜 중 하나를 사용하지 않는 경우 그에 따라 SSH만 또는 HTTP(S)만으로 설정하세요. 이는 공격 표면을 줄이는 데 도움이 됩니다.
SSH 키 유형의 경우 선호 순서는 다음과 같습니다: ED25519(및 ED25519-SK), RSA, ECDSA(및 ECDSA-SK). ED25519는 RSA가 2048비트 이상으로 설정될 때 RSA만큼 안전하다고 여겨지지만 ED25519 키는 더 작고 알고리즘이 훨씬 빠릅니다.
ED25519-SK와 ECDSA-SK는 모두 "보안 키"를 의미하는 -SK로 끝납니다. -SK 유형은 FIDO/U2F 표준과 호환되며 예를 들어 YubiKeys와 같은 하드웨어 토큰 사용과 관련이 있습니다.
DSA는 "금지됨"으로 설정해야 합니다. DSA에는 알려진 결함이 있으며 많은 암호학자들이 ECDSA 사용을 의심하고 지원하지 않습니다.
GitLab이 FIPS 모드인 경우 다음을 사용하세요:
- FIPS 모드에서 실행하는 경우:
RSA를 사용하고 최소 2048비트이어야 함으로 설정하세요.ECDSA(및ECDSA-SK)를 사용하고 최소 256비트이어야 함으로 설정하세요.- 다른 모든 키 유형을 금지됨으로 설정하세요.
RSA와ECDSA는 모두 FIPS 사용에 승인되었습니다.
- FIPS 모드에서 실행하지 않는 경우
ED25519를 사용해야 하며RSA도 사용할 수 있습니다:ED25519(및ED25519-SK)를 최소 256비트이어야 함으로 설정하세요.RSA를 사용하는 경우 최소 2048비트이어야 함으로 설정하세요.- 다른 모든 키 유형을 금지됨으로 설정하세요.
- 새 사용자 그룹을 위해 인스턴스를 설정하는 경우 추가 보안을 위해 최대 비트 설정으로 사용자 SSH 키 정책을 정의하세요.
강화된 환경에서는 일반적으로 RSS 피드가 필요하지 않으며 피드 토큰에서 피드 토큰 비활성화 체크박스를 선택하세요.
모든 사용자가 특정 IP 주소에서 오는 경우 전역 허용 IP 범위를 사용하여 해당 주소만 특별히 허용하세요.
가시성 및 액세스 제어에 대한 자세한 내용은 가시성 및 액세스 제어를 참조하세요. SSH 설정에 대한 자세한 내용은 SSH 키 제한을 참조하세요.
계정 및 제한#
강화 목적으로 Gravatar 활성화 옆의 체크박스가 선택되지 않았는지 확인하세요. 모든 불필요한 통신은 제한해야 하며 일부 환경에서는 제한될 수 있습니다. 계정 아바타는 사용자가 수동으로 업로드할 수 있습니다.
이 섹션의 설정은 사용자에게 특정 표준의 사용자 지정 구현을 적용하는 데 도움이 됩니다. 다양한 시나리오가 너무 많고 다양하기 때문에 계정 및 제한 설정 문서를 검토하고 자체 정책을 적용하기 위한 변경 사항을 적용해야 합니다.
새 계정 제한#
강화된 인스턴스에서 새 사용자 계정이 생성될 수 없도록 하세요. 새 사용자 계정 허용 체크박스가 해제되어 있는지 확인하세요.
이메일 확인 설정에서 하드가 선택되어 있는지 확인하세요. 이제 액세스가 부여되기 전에 사용자의 이메일 주소 확인이 강제됩니다.
최소 비밀번호 길이(문자 수) 기본 설정은 12이며 추가 인증 기술이 사용되는 한 괜찮습니다. 비밀번호는 복잡해야 하므로 다음 네 가지 체크박스가 모두 선택되어 있는지 확인하세요:
- 숫자 필요
- 대문자 필요
- 소문자 필요
- 기호 필요
모든 사용자가 이메일 주소에 특정 도메인을 사용하는 동일한 조직에 속해 있는 경우 새 사용자에게 허용된 도메인에 해당 도메인을 나열하세요. 이는 다른 도메인의 이메일 주소를 가진 사람들이 가입하는 것을 방지합니다.
자세한 내용은 새 사용자 계정 제한을 참조하세요.
로그인 제한#
모든 사용자에게 이중 인증(2FA)을 활성화해야 합니다. 이중 인증(2FA) 옆의 체크박스가 선택되어 있는지 확인하세요.
이중 인증 유예 기간의 기본 설정은 48시간입니다. 이는 8시간과 같이 훨씬 낮은 값으로 조정해야 합니다.
관리자 모드 활성화 옆의 체크박스가 선택되어 관리자 모드가 활성화되어 있는지 확인하세요. 이를 통해 관리자 액세스 권한을 가진 사용자가 관리 작업을 수행하기 위해 추가 인증을 사용해야 하며 사용자의 추가 2FA를 강제합니다.
알 수 없는 로그인에 대한 이메일 알림에서 이메일 알림 활성화가 선택되어 있는지 확인하세요. 인식되지 않는 위치에서 로그인이 발생하면 사용자에게 이메일이 전송됩니다.
자세한 내용은 로그인 제한을 참조하세요.
통합#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 설정 > 통합을 선택하세요.
일반적으로 관리자가 사용을 제어하고 모니터링하는 한 강화된 환경에서 통합은 괜찮습니다. 일반적으로 로컬 프로세스 또는 인증된 사용자가 수행하면 제한하거나 감사하는 수준의 액세스가 필요한 작업과 프로세스를 트리거하는 외부 시스템의 작업을 허용하는 통합에 주의하세요.
메트릭 및 프로파일링#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 설정 > 메트릭 및 프로파일링을 선택하세요.
강화의 주요 초점은 사용 통계입니다:
-
버전 확인 활성화가 선택되어 있는지 확인하세요. 이는 최신 버전의 GitLab을 실행하고 있는지 확인하며 새 기능 및 보안 패치가 포함된 새 버전이 자주 출시되므로 최신 상태를 유지하는 데 도움이 됩니다.
-
환경이 격리되어 있거나 조직 요구 사항이 소프트웨어 벤더에 대한 데이터 수집 및 통계 보고를 제한하는 경우 서비스 핑 활성화 기능을 해제해야 할 수 있습니다.
네트워크#
- 오른쪽 상단 모서리에서 관리를 선택하세요.
- 설정 > 네트워크를 선택하세요.
속도 제한을 활성화하는 설정의 경우 모두 선택되어 있는지 확인하세요. 기본값은 괜찮습니다. 또한 액세스를 활성화하는 수많은 설정이 있으며 이 모두는 지워야 합니다.
이러한 조정을 수행한 후 성능 및 사용자 요구를 충족하도록 시스템을 미세 조정할 수 있으며, 이를 위해 속도 제한을 비활성화하고 조정하거나 액세스를 활성화해야 할 수 있습니다. 다음은 염두에 두어야 할 몇 가지 주목할 만한 사항입니다:
-
아웃바운드 요청에서 제한된 수의 시스템에 대한 액세스를 열어야 하는 경우 IP 주소 또는 호스트 이름을 지정하여 해당 시스템에만 액세스를 제한할 수 있습니다. 또한 이 섹션에서 액세스를 허용하는 경우 DNS 리바인딩 공격 보호 적용을 선택했는지 확인하세요.
-
노트 속도 제한 및 사용자 API 속도 제한 아래에서 필요한 경우 특정 사용자를 해당 제한에서 제외할 수 있습니다.
