Nginx 해외서버 차단방법

2020. 9. 10. 18:37Nginx

AWS나 Azure로 서버를 운영 할 때  중국쪽에서 php등등 해킹을 시도한다.

해외서버를 차단시켜버리면 해킹을 방어 할 수 있다.

 

nginx로 차단하는 방법

일단 리눅스 환경에서 nginx가 설치되어있는 경우 geoip 설정이 가능하지 확인을 해야한다.

nginx -V 명령어를 입력하여 출력 내용중 --with-http_geoip_module 라는 값이 있으면  nginx에서 해외 서버차단이 사용이 가능하다. 

 

cd /etc/nginx

vi nginx.conf

http안에 값을 넣어준다 

 

* 전체를 차단하고 한국 서버만 열어주는 경우 

 http {

geoip_country /usr/share/GeoIP/GeoIP.dat;

map $geoip_country_code $allowed_country {
   default no;
   KR yes;
        }

}

*반대로 한개의 서버만 막으려면

default yes;

KR no; 

이렇게 쓰면 된다.

 

서버는 본인이 사용하고있는 서버에 넣어주면되는데 

 

사용하는 서버가 node-server이다

본인이 사용하는 서버가 node-server이면

cd sites-available

vi node-server

node-server를 들어가 밑에 값을 넣어주면된다.

server{
   location / {
     if ($allowed_country = no) {
       return 403;
         }

       }
   }

 

마지막으로 sudo service nginx restart  nginx를 재시작 하면 차단 완료.

 

 

참고 : 

happist.com/549059/%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84%ED%98%B8%EC%8A%A4%ED%8C%85%EC%97%90%EC%84%9C-%EC%84%9C%EB%B2%84-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95-nginx-ubuntu-16-04%EC%9D%98-%EA%B2%BD

728x90
반응형