리눅스에서 특정 IP 접속 차단하는 방법

2010. 1. 3. 09:54프로그래밍/기타

반응형

LINUX에서 IP및 도메인 차단은 2가지를 사용합니다. route명령을 이용하는것과 iptables를 이용하는 방법이 있스빈다.차이가 있다면 route는 실행한 곧바로 적용되지만 iptables은 차단/해제 시마다
데몬을 재가동(서비스 재가동)시켜야 합니다. 이외에도 아파치나 다른 프로그램을 이용해 차단가능합니다.

둘다 수동적으로 한번씩 명령을 주어야 하는 나쁜점이 있으면 ip하나별로 입력가능합니다.
범위 지정이 불가능합니다.(x.x.x.x ~ x.x.x.x)

※ iptables는 네트워크 서비스이기때문에 재시작을 해줘야 적용됩니다.
route는 재시작을 안해도 되지만 route는 짧은 시간 간격으로 수시로 체크하기 때문입니다.

0.lokkit를 이용한 포트 차단

lokkit을 이용하면 gui방식으로 쉽게 방화벽 구성이 가능하다.
security level을 enabled로 놓고 customize에서 원하는 포트만 체크하여 open한다.


1.route를 이용한 ip/도메인 차단

route : rounting table을 설정한다.
route(라우팅 테이블 추가/삭제하기)
 
차단하기(리눅스)
route add -host 도메인(ip) reject
해제하기(리눅스)
route del -host 도메인(ip) reject
 
현재관리ip리스트보기(리눅스)
route
 
현재관리ip리스트보기(원도우)
route print
 
2. iptables 프로그램을 이용한 IP 차단
iptables는 Kernel 2.4.x 기반의 리눅스 설치시에 설치되며 /sbin 디렉토리 아래에 있다.
 
차단하기(리눅스)
 
iptables -A INPUT -s 211.255.32.38 -j DROP
//211.255.32.38 아이피는 서버에 접근할수 없다.
 
iptables -A INPUT -t filter -s 211.218.150.0/24 -j DROP
//211.218.150.0~255 까지 256개의 IP를 한꺼번에차단합니다.
 
※ 설정후 iptables 프로그램을 리스타트 하지 안해도 적용된다.
 
해제하기(리눅스)
 
iptables -A INPUT -s 211.255.32.38 -j ACCEPT
 
※ 이해가 안되는 부분이 A아이피를 차단한후 A아이피를 다시 해제해도 A아이피는 계속
차단된다. 왜그럴까?
※ 더웃긴건 A아이피를 해체한후 A아이피를 다시 차단해도 A아이피는 접속이 가능하다.
※ 그 이유는 iptables은 위에 있는 정책이 우선이기 때문이다.
 
3. iptables 프로그램으로 아이피 대역대 차단하는 방법
http://whois.apnic.net 에서 아이피찍어보시면 할당된 아이피대역이 나옵니다.
222.51.178.135 는 222.32.0.0 - 222.63.255.255 이렇게 할당되어 있는데
아랫쪽에 친절하게 route: 222.32.0.0/11 라고 알려주네요.
/sbin/iptables -A INPUT -s 222.32.0.0/11 -j DROP
쉘상에서 이렇게 입력하시면
222.51.178.0 ~ 222.51.178.255 아이피대역은 아예 차단시켜버립니다.
현재관리ip리스트보기(리눅스)
 
iptables -L
//# 현재 차단하거나 허용된 아이피 리스트가 나온다.
iptables -F
//# 현재 차단하거나 허용된 아이피 리스트를 모두 지우고 초기화 한다.
 
IP를 차단하는 방법의 단점 :
 
접속시도를 하는 IP가 많을 경우에는 관리가 복잡해 질 수 있습니다.
또는 꼭 접속해야 하는 IP가 막히는 상황이 발생할 수도 있습니다.

필요해서 검색해보앗더니... 나와서 퍼다 넣습니당.

원문 : http://www.zetblog.net/?0021360097
반응형