부제: 도커 깃랩 White list 등록
안녕하세요!!
아과노트 입니다.
오늘은 지난 시간에 도커로 깃랩을 설치한데 이어
보안강화의 일환으로
깃랩에 허가받은 IP만 접속가능하도록 하는 셋팅을 진행하도록 하겠습니다.
이 포스팅은 지난 시간에 이어서 진행됩니다.
아직 깃랩을 설치하지 않으셨다면 이 글을 참고하여 먼저 깃랩 설치를 진행해 주세요
2023.03.20 - [도커(Docker)] - 도커 / 깃랩(GitLab) 설치 / 공식문서 기준 / 아과노트
그럼 셋팅을 진행해 보겠습니다.
오늘 셋팅 순서는 다음과 같습니다.
- 도커로 설치한 깃랩의 gitlab.rb 파일 위치 찾기
- 등록할 내 IP 주소 찾기
- gitlab.rb 파일 수정하기
- 도커 깃랩 재시작
그리고 오늘의 공식문서는 깃랩에서 제공하는 문서로 다음과 같습니다.
https://docs.gitlab.com/ee/administration/monitoring/ip_allowlist.html
그럼 진행해 보겠습니다.
공식 문서에 보면 아쉽게도 도커에 맞는 케이스는 존재하지 않습니다.
하지만 깃랩 설치(도커) 문서 부분에서 힌트를 얻을 수 있습니다.
https://docs.gitlab.com/ee/install/docker.html#configuration
This container uses the official Omnibus GitLab package, so all configuration is done in the unique configuration file /etc/gitlab/gitlab.rb.
도커 컨테이너는 공식 Omnibus GitLab 패키지를 사용하므로
모든 구성은 고유한 구성 파일인 /etc/gitlab/gitlab.rb에서 설정합니다
-아과노트-
즉, 옴니버스(Omnibus)를 이용한 부분으로 셋팅을 진행하면 됩니다.
1. 도커로 설치한 깃랩의 gitlab.rb 파일 위치 찾기
우리는 지난 시간에 config 폴더를 퍼시스턴스 볼륨으로 셋팅을 해 두었습니다.
그래서 설정 ~/gitlab/config 폴더에서 해당 파일을 수정하면 됩니다.
다음과 같이 입력해 보세요
cd ~/gitlab
ls -lart
그러면 지난번에 셋팅한 config, logs, data 폴더가 보입니다.
여기서 config 폴더로 들어가서 파일들을 확인해 볼게요
cd config
ls -lart
그러면 공식문서에서 말한 대로 gitlab.rb 파일을 찾을 수 있습니다.
이 파일을 vi로 수정하면 됩니다.
2. 등록할 내 IP 주소 찾기
혹시라도 내 공인 IP주소를 모르시는 분을 위해 찾는 방법을 간단히 알려드립니다.
공인 IP는 네이버에서 "ip 주소 확인"으로 검색하면 알 수 있습니다.
사설 IP의 경우는 cmd 창에서 ipconfig를 입력하면 알 수 있습니다.
3. gitlab.rb 파일 수정하기
이제 실제 접속 가능할 IP주소를 gitlab.rb 파일에 등록해 보겠습니다
vi gitlab.rb를 입력해 주세요.
권한 문제 때문에 관리자 권한(sudo)을 이용해서 열어주세요.
sudo vi gitlab.rb
그리고 whitelist를 찾아야 하는데 눈으로 찾기 어려우니 검색명령어를 이용합니다.
vi에서는 "/"를 입력하고 찾을 단어를 입력하면 됩니다.
vi 편집기에서 찾기는 " / " 입니다
ex: /whitelist
-아과노트-
그러면 다음과 같이 찾아집니다.
# gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '::1/128']
이 부분을 수정해야 하는데요
# 은 주석을 의미합니다
여기서 주석을 풀고(#을 지우고), 여러분이 허가할 IP를 추가하겠습니다.
예를 들면
gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '::1/128', '192.168.10.5', '211.62.10.0']
이런 식으로 뒷부분에 IP를 추가하면 됩니다.
참고로 vi에서 수정은 "Insert"키를 눌러서 수정모드로 진입 후에 수정이 가능합니다.
이제 저장하고 나갑시다
:wq를 입력하고 나가주세요
4. 도커 깃랩 재시작
환경설정 파일만 바꾸면 알아서 적용되면 좋겠지만...
도커 깃랩 재시작이 필요합니다.
깃랩의 docker-compose.yml 이 있는 파일에 가서 다음 명령어로 재시작해 주세요
cd ~/gitlib #gitlab 폴더로 가서
docker compose down #gitlab 컨테이너 종료 후
docker compose up -d #gitlab 컨테이너 (재)시작
다음 처럼 되면 성공입니다.
이제 깃랩에 접속해서 확인하면 됩니다.
허가받지 않은 IP에서 접속하면 다음과 같이 접속이 안되면 성공입니다!
허가받은 IP에서는 정상적으로 접근이 가능하면 성공입니다!
참고로 docker compose up -d 했다고 바로 깃랩이 접속되지 않습니다.
깃랩이 올라오는데(부팅)까지 시간이 걸립니다.
오늘은 여기까지입니다.
고생하셨습니다.