일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 리눅스
- 데이터모델링
- NQ5
- Snort
- VMware
- 정보보안기사
- AI
- 기아
- 취약점진단
- snort2.9
- 웹모의해킹
- 정보보안산업기사
- 모의해킹
- dreamhack.io
- 스노트
- 정보보안
- DreamHack
- NEXUS
- Synology
- 보안기사실기
- M1
- 유닉스
- gns3
- 보안컨설팅
- docker
- 리눅스보안
- GitLab
- 드림핵
- Python
- Bigdata
- Today
- Total
Security_Analysis
gitlab, Synology NAS(DS220+) 연동 본문
재직 중인 회사에는 파일서버용으로 Synology NAS를 사용한다.
프로그램 및 스크립트에 대한 소스코드를 포함하여 다양한 엑셀 문서를 보관하는데,
gitlab, github 등 형상관리를 하지도 않았고, NAS는 정말 파일공유용으로만 사용했다.
이력관리도 어려워지고, 소스코드 변경도 제대로 파악이 어려웠다.
보안 컨설팅 일을 하면서 스크립트 개발 및 간단한 프로그램 개발도 겸하는 나한테는 정말 최악의 환경이었기에,
오늘 형상관리를 위한 연동을 해볼까 한다.
---------------------------------------------------------------------------------------------------------------------
준비물
1. Synology NAS(DS220+) < RAM 최소 4GB 이상 / 권장 6 혹은 그 이상 >
2. Gitlab 계정
----------------------------------------------------------------------------------------------------------------------
1. Synology NAS(DS220+) 최신 업데이트
DSM 7이상 버전으로 업데이트 권고
gitlab 연동시에 https를 사용하려면 인증서를 발급해야 하는데, Synology 설정에서 인증서를 갱신, 추가할 수 있다.
NAS 자체에서 무료로 추가 및 갱신을 하려면 "Lets's Encrypt" 라는 곳에서 할 수 있도록 되어있지만,
DSM 6.2.3 이하 버전은 "서버에 응답이 없습니다" 라는 오류가 발생하므로 최신으로 업데이트가 필요하다.
2. gitlab/gitlab-ce Docker Image 다운로드
Container Manager 실행 > 이미지 > 작업 > 가져오기 > URL에서 추가 > Docker-hub(gitlab-ce) 링크 입력 > 가져오기 > 태그(latest)
DSM 6버전에서는 Synology NAS 내에 "패키지 센터" 를 가보면 Gitlab 및 Docker 패키지를 설치할 수 있다.
※ DSM 6에서 Gitlab 패키지를 다운받으면 "sameersbn/gitlab" 으로 되어있어서 공식이 아니라고 생각(개인의견) 한다.
하지만, DSM 7버전에는 Gitlab 패키지도 검색이 되지 않으며, Docker 패키지 또한 "Container Manager" 로 변경되었다.
3. gitlab/gitlab-ce Container 추가
이미지 다운로드가 끝나면 컨테이너 탭으로 이동하여 다운로드 받은 이미지를 컨테이너화로 진행한다.
Container Manager 실행 > 컨테이너 > 생성 > 이미지(gitlab-ce)
이미지 : <Docker-hub> 에서 다운로드 받은 gitlab-ce
컨테이너 이름 : < 마음대로 >
"리소스 제한 활성화" 및 "자동 재시작 활성화" 기능은 본인 필요에 따라 설정
"Web Station을 통해 웹 포털 설정" 또한 HTTP, HTTPS 둘중 하나 골라서 진행
포트 설정 : 80과 443은 WebStation
네트워크 : Bridge로 진행
볼륨 설정은 원하는 경로에 작성
설정 요약 확인 후 "완료" 후 WebStation 설정
※ WebStation 은 443(HTTPS), 80(HTTP) 로 설정되어 있으나, 사내망에서 쓰기 때문에 특정 포트로 포워딩 설정까지 완료
4. 테스트
이제 IP:포트번호(443) 혹은 (80)을 입력하면 gitlab 로그인 사이트가 나온다.
원래 gitlab에서 쓰던 IP와 PW를 입력했더니 로그인 실패가 발생했다.
생각해보면 NAS에 gitlab을 설치한 것이며, gitlab-ce 이미지에 postgresDB가 포함되어 있다
결론적으로 외부에서 쓰던 ID와 PW는 NAS 내에서 사용이 불가능하다.
초기 설정으로 "Username : root" , "Password : /etc/gitlab/initial_root_password" 에 임시비밀번호가 존재하므로 입력하면 된다.
로그인 해보면 아래와 같이 로그인이 되는 것을 볼 수 있다.
5. root 계정 프로필 변경
사내에서 쓰는만큼 관리자 계정에 대한 이메일 주소를 업데이트 하기 위해 "Edit Profile" 에서 변경할 수 있다.
이메일 뿐만 아니라, 이름, 비밀번호 등 다양하게 변경을 하면 완료가 될 것 같다.
6. 마무리
NAS를 연결하는데 많은 유튜브 글들이 도움이 됐었다.
그러나 역시, 설정하는데 너무나 많이 오래 걸렸다.
HTTPS를 설정하다보니 인증서도 설정하고 했는데 502 오류에서 넘어가지를 않았고,
사내 방화벽 부터 이것저것 설정을 다 건드려본 것 같다.
결국에는 방화벽 문제는 없었고, 443 포트에 문제가 있어서 80번으로 진행했지만...
다음에는 SMTP를 연결해볼까 한다.
나를 포함하여 소스코드 및 스크립트를 수정하고 나서 Commit 하는데,
각 개발자들은 Commit 한 내용을 알고 있어야 하고,
관리자 계정은 커밋한 내용들에 대해서 전부 로그를 남기도록 해보려고 한다.
'현업' 카테고리의 다른 글
SMTP 연동 (Feat. Synology DS220+ Mediawiki) (0) | 2024.01.14 |
---|---|
MediaWiki 설치 (Feat. Synology DS220+ Docker) (0) | 2024.01.12 |
SMTP 연동 (Feat. Synology DS220+ Gitlab) (0) | 2023.12.22 |