진이의 Developer Story

리눅스 해외 IP 차단하기 본문

기타

리눅스 해외 IP 차단하기

JIN3260 2016. 12. 12. 10:42
$ wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
$ unzip GeoIPCountryCSV.zip

일단 국가별 IP를 다운받아줍니다.

압축을 풀어주세요.

파일은 csv 파일 하나 있습니다. (GeoIPCountryWhois.csv)


그리고 아래의 쉘스크립터 명령어를 작성해주세요.

저는 중국발 IP를 전부 차단할 생각이기 때문에 China로 입력했습니다.

리눅스에 로그인을 하게 되면 마지막으로 실패한 아이피가 나오는데,

이를 whois로 검색하시게 되면 어느 국가에서 접근을 시도하는지 알 수 있습니다.


저의 경우는 중국, 인도, 러시아, 프랑스 쪽에서 해킹 시도가 끊임없이 들어왔습니다.

가져갈것도 없는 서버인데 왜 해킹하려고 하는지 모르겠네요 ^^;

#!/bin/bash
DATA=/usr/local/src/GeoIPCountryWhois.csv
IPT=/sbin/iptables

// 차단할 국가 China
for IPRANGE in `egrep "China" $DATA | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`

do
         $IPT -A INPUT -p all -m iprange --src-range $IPRANGE -j DROP
done

이렇게 해주시면 아이피테이블에 입력하신 국가의 IP는 모두 차단됩니다.

가장 좋은 방법은 SSH 키를 생성하는 방법이지만 (아니면 자주 접속하는 PC의 아이피만 접속할 수 있도록 허용하거나...), 저는 안드로이드 폰에서도 가끔씩 접속하는지라... 일단 해외 아이피만 차단해두었습니다.


보통은 하루에 만번이상 로그인 실패가 뜨는데, 아이피 차단 후 해킹시도는 들어오지 않고 있어요 ^^


아무쪼록... 해외에서 로그인 시도가 자꾸 들어온다면 차단해버리세요~

Comments