1. 악성 IP 리스트 확인
우선 악성 IP리스트를 구해봅시다
유료버전으로 워드프레스 보안 플러그인인 워드펜스 나 iThemes Security 그리고 Sucuri Security 등이 있으며
이를 무료버전으로 사용할 시 30일 후에나 추가로 리스트를 제공하는 등 실시간으로 처리가 어려운 부분이 있습니다.
그렇다면 실시간 악성 IP LIST는 어디서 구할 수 있을까요?
== > 레스큐사이버 https://rescure.me/ 에서 구할 수 있습니다.
https://rescure.me/feeds.html에 접속하여
2. NGINX 설정에서 악성 IP 차단 리스트 추가
NGINX를 이용해 가장 간단하게 악성 IP 차단 리스트를 추가하는 방법은 NGINX 설정의 Block 섹션에서 deny 명령어를 사용해 악성 IP 리스트를 추가하는 것입니다.
************************************************************
EX )
deny 41.109.68.211; # wordfence에서 추가한 Block ip
}
************************************************************
그런데 아무래도 대량의 악성 IP차단 리스트를 추가한다면 이러한 방식은 비효율적인 방법이죠.
NGINX에서 적용되는 include 명령을 사용해 악성 IP 차단 리스트를 불러오는 것이 더 좋을 것 같습니다.
악성 IP 차단 리스트 파일 만들기
우선 아래와 같은 형식의 ip-block-list.conf 파일을 만듭니다. 이름은 원하는대로 만들면 되겠죠. 저는 이 파일을 /etc/nginx 폴더에 만들었습니다. 마찬가지로 만들어진 파일 위치만 명확하면 됩니다.
- 디폴트 값은 0으로 차단하지 않음
- 차달할 IP 다음에 1값을 주면 NGINX에서는 이 ip를 차달할 ip로 인식
geo $bad_ip {
default 0;
41.104.8.106 1;
41.109.68.211 1;
차단1;
차단1;
...
}
차단 리스트 불러오기
앞서 만들어진 악성 IP 차단 리스트 파일을 NGINX에서 불러와 인식시킵니다.
이는 앞서 이야기한대로 include명령을 사용합니다. nginx.conf 파일의 http 섹션에서 아래와 같은 명령어를 추가해줍니다.
************************************************************
include /etc/nginx/ip-block-list.conf
************************************************************
444 화면 띄워주기
마직막으로 이렇게 차단된 ip가 접근 시 아무런 응답도 보내지 않고 444 상태로 연결을 종료합니다.
이는 NGINX 설정 중 Block 섹션중에 아래와 같은 명령어를 추가합니다.
************************************************************
location / {
if ($bad_ip) {
return 444;
}
}
************************************************************
NGINX 다시 시작
이렇게 변경 후 NGINX를 다시 가동합니다.
************************************************************
Service nginx restart
************************************************************
'개발자 공부 업무 정보 > ETC' 카테고리의 다른 글
아파치 카프카 (0) | 2022.10.19 |
---|---|
CORS_작성중 (0) | 2021.12.10 |
Ireport 사용할 때 파라미터 전달 등 사용법 (0) | 2019.01.22 |
요다 조건문 / Yoda Conditions (0) | 2019.01.15 |
여러 도메인들 간 쿠키 공유하기 (0) | 2019.01.14 |