Spamcheck 안티 스팸 서비스
Spamcheck는
GitLab.com에서 증가하는 스팸을 방지하기 위해 GitLab에서 처음 개발한 안티 스팸 엔진이며,
이후 자가 관리 GitLab 인스턴스에서 사용할 수 있도록 공개되었습니다.
Spamcheck 활성화
Spamcheck는 패키지 기반 설치에만 사용할 수 있습니다:
-
/etc/gitlab/gitlab.rb
파일을 편집하고 Spamcheck를 활성화합니다:spamcheck['enable'] = true
-
GitLab을 재구성합니다:
sudo gitlab-ctl reconfigure
-
새로운 서비스
spamcheck
와spam-classifier
가
실행되고 있는지 확인합니다:sudo gitlab-ctl status
Spamcheck 사용을 위한 GitLab 구성
- 왼쪽 사이드바에서 아래쪽에 있는 Admin을 선택합니다.
- Settings > Reporting을 선택합니다.
- Spam and Anti-bot Protection을 확장합니다.
- Spam Check 설정을 업데이트합니다:
- “Enable Spam Check via external API endpoint” 체크박스를 체크합니다.
-
URL of the external Spam Check endpoint에
grpc://localhost:8001
를 입력합니다. - Spam Check API key는 비워둡니다.
- Save changes를 선택합니다.
localhost
에서 실행되며, 따라서 인증되지 않은 모드로 실행됩니다. 멀티 노드 인스턴스에서 GitLab이 한 서버에서 실행되고 Spamcheck가 별도의 서버에서 공개 엔드포인트를 통해 실행되는 경우, API 키와 함께 사용할 수 있는 리버스 프록시를 사용하여 일종의 인증을 적용하는 것이 권장됩니다. 한 가지 예로는 JWT
인증을 사용하고 API 키로 베어러 토큰을 지정하는 방법이 있습니다. Spamcheck에 대한 네이티브 인증이 진행 중입니다.TLS를 통한 Spamcheck 실행
Spamcheck 서비스 자체는 GitLab과 직접적으로 TLS를 통해 통신할 수 없습니다.
하지만 Spamcheck는 TLS 종료를 수행하는 리버스 프록시 뒤에 배포될 수 있습니다.
이러한 시나리오에서는 GitLab이
Admin 영역 설정에서 외부 Spamcheck URL에 대해
grpc://
대신 tls://
스킴을 지정하여
Spamcheck와 TLS를 통해 통신하게 할 수 있습니다.