튜토리얼: 단일 노드 GitLab 인스턴스 설치 및 보안
튜토리얼: 단일 노드 GitLab 인스턴스 설치 및 보안에 대해 설명합니다.
이 튜토리얼에서는 최대 초당 20 RPS 또는 1,000명의 사용자 를 수용할 수 있는 단일 노드 GitLab 인스턴스를 설치하고 안전하게 구성하는 방법을 배웁니다. 단일 노드 GitLab 인스턴스를 설치하고 보안을 구성하려면: 서버 보안 GitLab 설치 GitLab 구성 다음 단계 시작하기 전에 # 도메인 이름과 올바른 DNS 설정 . 다음 최소 사양의 Debian 기반 서버: 8 vCPU 7.2 GB 메모리 모든 저장소를 위한 충분한 하드 드라이브 공간. 스토리지 요구 사항 에 대해 더 읽어보세요. 서버 보안 # GitLab을 설치하기 전에 서버를 좀 더 안전하게 구성하는 것으로 시작합니다. 방화벽 구성 # 포트 22(SSH), 80(HTTP), 443(HTTPS)을 열어야 합니다. 클라우드 공급자의 콘솔을 사용하거나 서버 수준에서 수행할 수 있습니다. 이 예에서는 ufw 를 사용하여 방화벽을 구성합니다. 모든 포트에 대한 액세스를 거부하고, 포트 80과 443을 허용하고, 마지막으로 포트 22에 대한 액세스를 속도 제한합니다. ufw 는 지난 30초 동안 6번 이상 연결을 시도한 IP 주소에서의 연결을 거부할 수 있습니다. ufw 를 설치합니다: sudo apt install ufw ufw 서비스를 활성화하고 시작합니다: sudo systemctl enable --now ufw 필요한 포트를 제외한 다른 모든 포트를 거부합니다: sudo ufw default deny sudo ufw allow http sudo ufw allow https sudo ufw limit ssh/tcp 마지막으로 설정을 활성화합니다. 다음은 패키지를 처음 설치할 때만 한 번 실행해야 합니다. 메시지가 표시되면 yes( y )로 답합니다: sudo ufw enable 규칙이 존재하는지 확인합니다: $ sudo ufw status Status: active To Action From -- ------ ---- 80/tcp ALLOW Anywhere 443 ALLOW Anywhere 22/tcp LIMIT Anywhere 80/tcp (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 22/tcp (v6) LIMIT Anywhere (v6) SSH 서버 구성 # 서버를 더 안전하게 하려면 공개 키 인증을 허용하고 잠재적인 보안 위험이 되는 일부 기능을 비활성화하도록 SSH를 구성합니다. 편집기로 /etc/ssh/sshd_config 를 열고 다음이 있는지 확인합니다: PubkeyAuthentication yes PasswordAuthentication yes UsePAM yes UseDNS no AllowTcpForwarding no X11Forwarding no PrintMotd no PermitTunnel no # Allow client to pass locale environment variables AcceptEnv LANG LC_* # override default of no subsystems Subsy
