Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 113
  • 2596390
DNS Powered by DNSEver.com
Linux

iptables 명령을 이용하여 특정 IP대역 접속 차단하기

Posted 2013. 01. 08 Updated 2014. 11. 17 Views 19040 Replies 0

auth.log 파일을 살펴봤는데, 하루에만도 셀 수 없이 많은 해킹 시도가 있다는 것을 알 수 있었습니다.

도대체 이 서버 털어서 돈이나오는 것도 아니고, 밥이 나오는 것도 아닌데 왜 그짓들을 시도 하는건지 이해를 할 수가 없었습니다. 악성코드를 심어서 DDOS공격에라도 사용하려고 그런건지..

포트스캐닝이나, 무작위 ID/PW 대입으로 SSH 접속을 시도하는 로그기록도 쉽게 찾아 볼 수 있었습니다.

http://www.ip-adress.com에 추린 IP들을 입력해보니 열이면 아홉 중국에서 시도한 접속이었습니다.

본래 오늘 저녁밥 먹고 나서부터는 개발용 웹 페이지를 구축하려고 했습니다. 하지만 가장 중요한 보안상의 문제가 발견된 이상, 다른 일을은 일단 미뤄 두고 해킹을 시도한 IP들을 차단하는 작업부터 하기로 하였습니다.



iptables 명령


한 개의 IP 차단

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP


IP 대역 차단

iptables -A INPUT -t filter -s xxx.xxx.xxx.xxx/yy -j DROP


IP 차단 해제

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP


IP 차단 목록 보기

iptables -L


목록 전체 삭제

iptables -F INPUT



특정 국가의 IP주소 일괄 차단하기

차단할 IP 주소들을 추리다보니 죄다 중국 IP들이었습니다. 이것들을 보일때마다 차단 등록 한다고 해도, 매번 다른 IP에서 공격이 들어올테니 부질 없는 헛짓일 것입니다.

잠시 명상(?)을 하며 스마트한 해결책을 찾다가 중국 IP대역을 모두 차단하기로 마음먹고 방법을 찾아 나섰습니다. 중국에서 이곳 서버로 접속하는 시도는 정보를 얻는 시도라기 보다는 악의적인 목적이 월등히 더 많을거라는 판단에서였습니다.

역시 구글신의 도움으로 쉽게 방법을 찾을 수가 있었습니다.

우선, IP 대역 DB 파일 얻기위해 다음 사이트에 접속해서 최신 버전의 GeoIPCountryCSV.zip을 다운받아 압축을 풀어둡니다.

http://dev.maxmind.com/geoip/legacy/geolite/

GeoIPCountryWhois.csv 파일이 나오는데, 이 파일이 각 국가의 IP 할당 정보가 들어 있는 DB 파일입니다.

그리고 다음과 같은 스크립트를 만들어 위 DB파일과 같은 디렉토리에 ipban.sh로 저장합니다.

여기서는 중국 IP 대역만 차단하기 위해 5번째 줄에 "China"라고 썼는데, 다른 국가를 차단하고 싶다면 이 부분을 해당 국가로 바꾸면 됩니다. 국가별 표기 방법은 csv파일을 열어서 찾아보면 알 수 있습니다.

#!/bin/sh

SRC=./GeoIPCountryWhois.csv

for BANIP in `egrep "China" $SRC | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
	do
		/sbin/iptables -A INPUT -p all -m iprange --src-range $BANIP -j DROP
 	done

ipban.sh 파일에 실행 권한을 준 뒤, 터미널에서 실행하면 특정 IP 대역의 접속을 모조리 차단할 수 있습니다.


TAG •
서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
33 일반 [WSL] Windows Subsystem for Linux - 디스플레이 서버 설정 및 GUI 사용하기 file TUW 2021.12.28 33326
32 Security [SSL/HTTPS] Let's Encrypt 무료 SSL 인증서 발급/설치/관리 - certbot 사용법 file TUW 2021.12.28 33718
31 Android 루팅 응용 : 스마트폰 부팅화면 커스터마이징 4 file TUW 2017.06.02 33847
30 Android 루팅 응용 : 스마트폰 카메라 셔터음 없애기 2 file TUW 2018.02.08 34310
29 일반 정규식(Regular Expression)에 대한 소개와 입문, 튜토리얼 1 file TUW 2017.12.11 36259
28 Linux [Ubuntu] 디스크 마운트하기 TUW 2014.04.20 36577
27 Apache Apache에서 서브 도메인 및 가상 호스트 설정하기 file TUW 2017.06.02 38093
26 일반 [사설 클라우드 구축] 자동 동기화 설정 (FreeFileSync) 2 file TUW 2017.06.02 39130
25 일반 [GIT] Patch 만들기 및 적용하기: format-patch, am TUW 2015.01.10 41207
24 Linux SCP명령어 - 초간단 파일/디렉토리 전송 TUW 2014.04.23 41260
23 일반 [포토샵] 사진 가장자리 투명하게 처리하기 file TUW 2017.06.02 42432
22 Linux 좀 더 '진짜같이' VirtualBox 활용하기 - 심리스 모드 외 file TUW 2017.06.02 43338
21 일반 [WSL] Windows Subsystem for Linux - SSH 서버 세팅하기 file TUW 2021.12.28 43415
20 일반 Windows 7에서 보호된 노트북 복구파티션 삭제하기 file TUW 2017.06.02 44126
19 Linux Windows에서 Ubuntu로 원격 데스크톱 연결하기 TUW 2014.04.20 45188
18 PSpice PSpice에서 Global Parameter Sweep을 활용하여 가변저항 시뮬레이션하기 file TUW 2021.12.28 46277
목록
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5