어느날 갑자기 호스팅 중인 GitLab이 'Forbidden' 메시지를 표시한다면,
해킹 시도를 위한 접근으로 의심되는 IP를 GitLab이 Block 한 것입니다.
경험상 공유기 아이피를 Block 해 버려서 해당 공유기에 물려 있는 PC들 모두가 'Forbidden' 메시지를 보게 되더군요.
그래서 취한 조치는 아래와 같습니다.
1. Block 리스트에서 Block된 공유기의 IP를 지운다.
a. 하기 명령으로 나타나는 IP주소를 확인합니다.
sudo grep "Rack_Attack" /var/log/gitlab/gitlab-rails/production.log
b. IP주소가 공유기의 것이 맞다면 Block List에서 해당 IP를 아래의 명령으로 삭제합니다.
(만약, 그렇지 않다면 해당 IP로 부터 어떤 행동이 있었는지 충분히 검토한 후 진행하세요)
sudo /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket
del cache:gitlab:rack::attack:allow2ban:ban:<ip 주소>
c. gitlab을 재시작 합니다.
sudo gitlab-ctl reconfigure
2. 혹은, GitLab에 접근이 가능한 IP들을 일일이 등록한다.
a. 하기 경로의 파일을 엽니다.
/etc/gitlab/gitlab.rb
b. 아래와 같이 파일의 내용을 수정합니다. 'basic_auth'키워드를 검색하면 아래와 같은 라인이 나옵니다. 주석을 해제한후 IP를 추가합니다.
gitlab_rails['rack_attack_git_basic_auth'] = { 'enabled' => true, 'ip_whitelist' => ["127.0.0.1", "<IP추가>", "<IP추가>"], 'maxretry' => 10, 'findtime' => 60, 'bantime' => 3600 }
c. gitlab을 재시작 합니다.
sudo gitlab-ctl reconfigure
건투를 빕니다!
참고자료 : https://docs.gitlab.com/ee/security/rack_attack.html