개발
백엔드
Nginx 특정 IP 차단 하기
792 views as of June 20, 2019.
⚠ 이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!
오랜만에 방문자 세션을 뒤지던 도중에 일반적인 사용자도 아닌 봇도 아닌 접근자가 이상한 경로를 요청한 로그를 발견했다.
남겨진 로그정보를 바탕으로 조금 검색해봤더니 관리자 권한이나 특정 엑세스를 노리는 해킹용 접근시도로 밝혀졌다. 보통 과도한 접근시도같은건 자동으로 막히는데 무슨 매크로 돌리는거처럼 발견되는 모든 도메인에 특정파일을 접근시도해보는거는 뭘 어떻게 막아보기도 힘들다.
그냥 이번처럼 수동적으로 해당 아이피가 다시는 공격하지 못하게 서버단에서 차단 리스트를 관리하는 수밖에...
다행히도 차단하는 방법은 짱 간편하다. 아래 구문처럼 쓰면 해당 아이피는 막힌다.
# sudo vi /etc/nginx/conf.d/ips.conf <- 없으면 생성하자
deny 185.220.100.252;
deny 185.220.101.6;
Copy
이 구문을 nginx 서버 설정 파일의 서버 1뎁스 하위나 로케이션 1뎁스 하위 어디에나 적으면 차단처리가 진행된다. 단 이런 리스트가 많아지면 그만큼 나중에 추가 삭제하기도 힘드니 별도의 ip 차단리스트 파일(/etc/nginx/conf.d/ips.conf)을 만들어서 따로 관리 후 아래처럼 include를 통해 설정옵션을 더 깔끔하게 관리할 수 도 있다.
#sudo vi /etc/nginx/sites-available/default
server {
...
include /etc/nginx/conf.d/ips.conf;
...
Copy
물론 위의 서버설정 후 서버 재시작은 잊지말고 해줍시다!
#Nginx
0
개의 댓글
백엔드 콜렉션의 다른 글
개발 카테고리의 다른 글
09/03/2019
MySQL CONCAT 기능에 대해서
잊어버릴까봐 작업 로그겸 기록 남깁니다. MySQL 또는 MariaDB에서 한 개 이상의 문자열 데이터를 합치는 DB함수로서 CONCAT을...
06/20/2019
Nginx 체인 인증서 적용
eruLabo의 SSL 인증서가 거의 만료때가 다가와서 2년 연장하면서 새로 인증작업을 다시하는 도중에 체인 인증서라는 것을 적용해...
05/21/2019
Integrity 해시 생성
최근에 cdn 주소를 가져다 쓰다가 api 자체에서 Integrity 용 해시를 제공하지 않아서 생성 사이트를 찾아봤습니다. 제 경우에...