이놈들을 막기 위해 방화벽을 설치 후 간단한 Script를 돌려 차단하였다.
iptables를 이용하면 간단하게 막을 수가 있다.
iptables를 이용하여 국가별 접속을 차단하는 방법에는 2가지가 있다.
(1) Kernel을 업데이트 한 후 iptables를 이용하는 방법
(2) Script를 이용하는 방법
나는 아직 Kernel Level에서 접근하는 법을 확실히 익히지 못하여 (2) 번 레벨에서 막도록 하겠다.
[1] 접속한 IP찾기
/var/log/auth.log를 뒤져 보면 아래와 같은 메시지가 뜬다.
1 18:Feb 13 13:14:03 xxxxx pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=200.27.62.186 2 22:Feb 13 13:14:07 xxxxx pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=200.27.62.186 3 25:Feb 13 13:14:09 xxxxx pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=200.27.62.186 |
위에서 얼핏보면 알겠지만 220.27.62.186 에서 자꾸 접속을 시도한다. 저놈이 도대체 어느나라 놈인지 알아보자.
대충 보아하나 칠레쪽 양키놈이다. 아~~~ 내서버에 뭔 볼일이 있다고 ㅠㅠㅠ 이제 저놈을
막도록 하자. 참고적으로 오늘부터 칠레 놈들이 싫어졌다.
[2] 국가별 Network 정보 Download하기
URL : http://geolite.maxmind.com/download/geoip/database/
위 URL로 가서 가장 최신으로 업데이트 된 Network 정보를 가져온다.
파일(GeoIPCountryWhois.csv) 을 열어보면 아래와 같다.
1 "1.0.0.0","1.7.255.255","16777216","17301503","AU","Australia" 2 "1.9.0.0","1.9.255.255","17367040","17432575","MY","Malaysia" 3 "1.10.10.0","1.10.10.255","17435136","17435391","AU","Australia" 4 "1.11.0.0","1.11.255.255","17498112","17563647","KR","Korea, Republic of" 5 "1.12.0.0","1.15.255.255","17563648","17825791","CN","China" 6 "1.16.0.0","1.19.255.255","17825792","18087935","KR","Korea, Republic of" 7 "1.21.0.0","1.21.255.255","18153472","18219007","JP","Japan" 8 "1.22.0.0","1.23.255.255","18219008","18350079","IN","India" 9 "1.24.0.0","1.31.255.255","18350080","18874367","CN","China" 10 "1.33.0.0","1.33.255.255","18939904","19005439","JP","Japan" 11 "1.34.0.0","1.35.255.255","19005440","19136511","TW","Taiwan" 12 "1.36.0.0","1.36.255.255","19136512","19202047","HK","Hong Kong" |
앞에껀 순번 | startNetwork | EndNetwork | ,,, | 국가 이런 순이다. 그럼 위 정보를 파싱하여
Script를 만들어 보도록 하자.
[3] Script 생성하기
#! /bin/bash BLOCK_LIST_FILE=./GeoIPCountryWhois.csv sudo iptables -L |
위 스크립트는 랑이가 짠것이다. awk를 이해 하고 있다면, 아주 쉽게 만들수 있다.
만약 허용국가만 포함하고 싶을때에는 egrep의 조건을 조금 바꾸어주면된다.
#! /bin/bash BLOCK_LIST_FILE=./GeoIPCountryWhois.csv sudo iptables -L |
[4] Script 실행
########## IP BLOCK Script START ########### Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) |
다됐따 ㅋㅋㅋ 요렇게 하면 무사히 작업이 완료된다.
이 글을 쓰니 괜시리 애국심이 막 불타온다. 나도 언젠간 짱깨 / 양키 놈들 서버 들어가서 해집고 다니는 실력자가 되어야 겠다 .ㅋㅋㅋㅋ 이제 중국|프랑스|칠레 의 나쁜시키들이 안들어오겠지? 낼도 로그를 지켜봐야겠당 ㅋㅋ
- 2011.02.15 랑이씀 -
'Server > Linux' 카테고리의 다른 글
[ 파티션 설정 ] (0) | 2011.02.21 |
---|---|
[ 로그인 N번 실패시 아이피 차단 ] (2) | 2011.02.18 |
[ SSH 터널링 팁 ] (0) | 2011.02.13 |
Ubuntu Logs Explain (0) | 2011.02.08 |
Tomcat Parameters: Invalid Error 해결법 (0) | 2011.02.04 |