gitlab 에 403 오류 발생
8970 단어 Linux
개별 사용자 가 갑자기 나 타 났 다
403 forbidden
.서버 환경: docker gitlab 버 전: 8.7 로그 보기:192.161.11.20 - - [08/Jan/2018:17:01:32 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:01:49 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:09 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:20 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:20 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:22 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:24 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
192.161.11.20 - - [08/Jan/2018:17:02:25 +0800] "GET / HTTP/1.1" 403 10 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
통계 아래 횟수:
root@783977abd2ec:/home/git/gitlab# cat /var/log/gitlab/nginx/gitlab_access.log | grep 403 | grep "192.161.11.20" | wc -l
62
root@783977abd2ec:/home/git/gitlab#
조사 하 다
다른 사용자 가 정상 이 었 고 이 사용자 도 정상 이 었 기 때문이다.서버 시스템 설정 문제 가 아 닐 겁 니 다.
공식 토론 판 찾기:https://gitlab.com/gitlab-org/gitlab-ce/issues/1171
나 는 다음 과 같은 가능성 을 살 펴 보 았 다.
redis-cli keys '*' | grep '^[a-f0-9]\{32\}$' | wc -l
을 검사 한 결과 0 이 었 다.redis-cli keys '*' | grep 'rack::attack'
데이터 가 있 습 니 다.root@9152a066a2ba:/usr/bin#
root@9152a066a2ba:/usr/bin# redis-cli keys '*' | grep 'rack::attack'
cache:gitlab:rack::attack:allow2ban:ban:192.161.11.20
root@9152a066a2ba:/usr/bin# redis-cli -h
redis-cli 2.8.4
이 ip 은 바로 접근 할 수 없 는 ip 입 니 다.
문 제 를 찾 으 면 해결 하기 쉽다.내 가 계획 한 해결 방법:
첫 번 째 단계 가 끝나 기도 전에 이 데 이 터 는 자동 으로 삭제 되 었 다.멘 붕!!!자 료 를 찾 아 보 니 직접 삭제 할 수 있 습 니 다. 다음은 redis - cli 로 지정 한 key 를 삭제 하 는 것 입 니 다.두 번 째 단계: redis 에서 지정 한 key 삭제:
redis-cli keys '*' | grep 'rack::attack' | xargs redis-cli DEL
왜?
/ home / git / gitlab / config / gitlab. yml 파일 에 rack 가 있 습 니 다.attack 설정, 내부 네트워크 라면 직접 enabled 를 false 로 설정 하고 외부 네트워크 라면 실제 상황 에 따라 maxretry 를 확대 할 수 있 습 니 다.
rack_attack:
git_basic_auth:
# Rack Attack IP banning enabled
enabled: true
#
# Whitelist requests from 127.0.0.1 for web proxies (NGINX/Apache) with incorrect headers
ip_whitelist: [127.0.0.1]
#
# Limit the number of Git HTTP authentication attempts per IP
maxretry: 10
#
# Reset the auth attempt counter per IP after 60 seconds
findtime: 60
#
# Ban an IP for one hour (3600s) after too many auth attempts
bantime: 3600
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.