강화 - 일반 개념
GitLab 인스턴스 강화를 위한 일반적인 개념과 철학을 설명합니다.
일반적인 강화 지침은 주요 강화 문서 에 설명되어 있습니다. 다음 문서는 GitLab 인스턴스 강화에 대한 기본 철학 중 일부를 요약합니다. 많은 경우 모든 컴퓨터 시스템에 적용할 수 있습니다. 계층적 보안 # 보안을 구현하는 두 가지 방법이 있다면 하나만 선택하는 것이 아니라 두 가지 모두 구현해야 합니다. 계정 보안에 대한 간단한 예는 다음과 같습니다: 계정에 길고 복잡하며 고유한 비밀번호 사용. 추가 보안을 위해 인증 프로세스에 두 번째 인증 요소 구현. 두 번째 인증 요소로 하드웨어 토큰 사용. 인증 실패 시도에 대해 계정 잠금(적어도 일정 시간 동안). 특정 기간 동안 사용되지 않은 계정은 비활성화하고, 자동화 또는 정기 감사로 이를 시행. 목록에서 한두 가지만 사용하는 것이 아니라 가능한 한 많이 사용합니다. 이 철학은 계정 보안 외에 다른 영역에도 적용할 수 있으며 가능한 모든 영역에 적용해야 합니다. 모호성에 의한 보안 제거 # 모호성에 의한 보안은 잠재적 공격자가 그 세부 정보를 이용하여 공격을 구성할 수 있다는 두려움 때문에 시스템, 서비스 또는 프로세스의 특정 요소에 대해 논의하지 않는 것을 의미합니다. 대신, 시스템을 구성에 대한 세부 정보가 공개되더라도 시스템이 여전히 최대한 안전할 정도로 강화해야 합니다. 본질적으로 공격자가 컴퓨터 시스템의 구성 세부 정보를 알게 되더라도 이점을 얻지 못해야 합니다. 모호성에 의한 보안의 단점 중 하나는 시스템이 실제보다 더 안전하다고 생각하는 시스템 관리자에게 잠재적인 거짓 보안 감각을 줄 수 있다는 것입니다. 예를 들어 비표준 TCP 포트에서 서비스를 실행하는 경우를 들 수 있습니다. 예를 들어 서버의 기본 SSH 데몬 포트는 TCP 포트 22이지만 SSH 데몬을 TCP 포트 2222와 같은 다른 포트에서 실행하도록 구성할 수 있습니다. 이를 구성한 관리자는 시스템의 보안이 향상된다고 생각할 수 있지만, 공격자가 시스템을 포트 스캔하여 모든 열린 포트를 발견하는 것은 매우 일반적이므로 SSH 서비스를 빠르게 발견하여 인지된 보안 이점을 무력화할 수 있습니다. GitLab은 오픈 코어 시스템이고 모든 구성 옵션이 잘 문서화되어 공개 정보이므로 모호성에 의한 보안 개념은 GitLab의 핵심 가치인 투명성에 반합니다. 이러한 강화 권고 사항은 모호성에 의한 보안을 제거하는 데 도움이 되도록 공개적으로 제공됩니다. 공격 표면 감소 # GitLab은 많은 구성 요소를 가진 대규모 시스템입니다. 보안의 일반적인 규칙으로 사용하지 않는 시스템을 비활성화하는 것이 도움이 됩니다. 이렇게 하면 잠재적 공격자가 사용할 수 있는 "공격 표면"이 줄어듭니다. 또한 사용 가능한 시스템 리소스를 늘리는 추가적인 이점도 있습니다. 예를 들어, 시스템에 5분마다 실행되어 입력을 위한 큐를 확인하고 검사를 수행하는 동안 여러 하위 프로세스를 쿼리하는 프로세스가 있다고 가정합니다. 이 프로세스를 사용하지 않는다면 구성할 이유가 없으므로 비활성화해야 합니다. 공격자가 이 프로세스를 사용하는 공격 벡터를 파악했
