RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

오늘은 Iptables 에 대해 간단히 포스팅 하겠습니다. 그전에 몇가지 팁을 적어볼게요 ^^

옵션 보고 익히는 것보다 아래에 적은 팁이 실무에선 더 중요할 것 같네요.!!


Tip 7가지

1. Iptables 하면서 팁은 위에서부터 아래로 적용 됨

2. 명렁어 치기전엔 3번 생각하자

-쳐놓고 서비스 장애 등 가용성에 문제가 온다면 GG입니다

3. 신뢰 IP Any Any open 해놓고 작업하기

-ssh 등 원격 접속 해 있을 때 실수로 차단되면 콘솔로 붙어서 작업해야함.

-inbound 와 outbound 해야함(ssh 같은경우 inbound open만 해놓을경우 통신 불가)

4. 생각나는데로 룰 만드는 것이 아닌 먼저 정책 분석, 트래픽 분석하고 다 정리한다음 테스트 장비에 테스트 후 적용할 것.

-초기 셋팅이 아닌 서비스 중에 변경할 땐 더욱 신중해야함.

5. #]man iptables 를 이용할 것

-man 명령어로 명령어 옵션 보는 습관을 들이는 것이 좋습니다. 모든 명령어들어 옵션을 외울 수는 없지요. 물론 자주 쓰는 것은 외워두는 것이 좋습니다.

6. 일괄 적업하지 말 것.

-일괄작업 하면 빠르지만 하나하나씩 넣으면서 확인하는 습관을 길러야 합니다. 모든 보안 시스템은 일괄처리 기능이 제거되어있는데요 기계는 실수를 안하지만 사람은 항상 실수 하기 때문 입니다.

7. Vi 편집기로 /etc/sysconfig/iptables 편집하는 것이 더 편하다.

-저장하기전에 확인하고 확인할것!!또한 vi 편집기로 작업후 서비스 재시작 해줄 것!(service iptables restart)

*처음 룰 생성해서 저장 하기 전까지는 /etc/sysconfig/iptables 파일이 없습니다.


# iptables 명령어(옵션) 간단한 설명

~]#vi /etc/sysconfig/iptables

~]#iptables -L :리스트보기

~]#iptables -P INPUT DROP : -P 기본정책, INPUT의 기본정책을 DROP으로 하겠다.

현재 FORWARD 기본정책은 ACCEPT

~]#iptables -A : -A 는 추가할떄

~]#iptables -I INPUT 3 : -I 는 원하는 라인에 추가, 3번쨰 라인에 추가한다는말임.

~]#iptables -A INPUT -p tcp : -p 는 프로토콜 정하기

~]#iptables -A INPUT -p tcp -s : -s src ip

~]#iptables -A INPUT -p tcp -s 192.168.81.63 --dport 80: --dport dst port

~]#iptables -A INPUT -p tcp -d 192.168.81.62: -d dst ip

~]#iptabels -A INPUT -p tcp --sport 80: --sport src port

~]#iptables -A INPUT -p tcp -dport 80 -j ACCEPT : -j 는 대응 방법(ACCEPT, DROP, REJECT ),

*REJECT DOS 공격시 부하가 걸리므로 권장하지 않음

~]#iptables -A INPUT –m : -m man 페이지를 참조 하길..옵션이 너무 많아요..

#서비스 시작/정지/재시작/저장

*iptables save 명령어를 쳐주지 않으면 시스템 재부팅 후 정책이 초기화 됩니다.

~]#service iptables start

~]#service iptables stop

~]#service iptables restart

~]#service iptables save

예제 참조는

http://team.boanin.com/

0. 기본정책을 ACCEPT로 설정

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

1. 현재 자신의 방화벽 규칙을 볼 수 있는 명령

iptables -L

iptables --list

2. 21.23.25.80 포트를 차단하는 정책(각각 하나씩 규칙을 만들것)

iptables -A INPUT -p tcp --dport 21 -j DROP

iptables -A INPUT -p tcp --dport 23 -j DROP

iptables -A INPUT -p tcp --dport 25 -j DROP

iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A INPUT -p tcp -m multiport --destination-port 21,23,25,80 -j DROP

3.첫번쨰 정책을 삭제

iptabels -D INPUT 1

4. 세번째 정책의 출발지 IP 192.168.1.0/24로 수정

iptables -R INPUT 3 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

5. 출발지 IP A클래스 사설 IP 일 경우 차단하는 정책

iptables -A INPUT -s 10.0.0.0./8 -j DROP

6. 출발지 IP 192.168.10.1 부터 192.168.10.100, 그리고 192.168.150.0/24이고 목적지 IP 192.168.10.170이고 목적지 포트는 3306일 경우 차단하는 정책

iptables -A INPUT -p tcp -s 192.168.150.0/24 -d 192.168.10.170 --dport 3306 -j DROP

iptables -A INPUT -p tcp -m iprange --src-range 192.168.10.1-192.168.10.100 -d 192.168.10.170 --dport 3306 -j DROP

7. tcp 패킷이 초당 10개가 올경우 차단하는 정책(limit match 이용)

iptables -A INPUT -p tcp -m limit --limit 10/s -j DROP

8. 하나의 세션에서 10개의 패킷이 매치된 후 tcp 패킷이 분당 100개가 올 경우 차단하는 정책

iptables -A INPUT -p tcp -m limit --limit 100/m --limit-burst 10 -j DROP

9. 옆사람의 윈도우와 리눅스에서 SSH 접속을 차단하도록 설정, 윈도우에서 연결은 DROP, 리눅스는 REJECT

iptables -A INPUT -p tcp -s 172.17.24.140 --dport 22 -j DROP

iptables -A INPUT -p tcp -s 172.17.24.170 --dport 22 -j REJECT --reject-with tcp-reset

10. ICMP 라는 체인을 생성

-icmp 패킷이 들어올 경우 ICM 체인으로 전달

-icmp 체인에 ping에 대한 응답하지 않는 정책 추가

iptables -N ICMP

iptables -A INPUT -p icmp -j ICMP

iptables -A ICMP -p icmp --icmp-type 8 -j DROP

11. 기본정책을 DROP으로 설정

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

본인의 윈도우에서 ssh연결이 되도록 설정하고 이미 연결된 상태나 연광성이 있는 연결은 별도의 정책 대신 state 매치를 이용하여 계쏙 사용할수 있도록 설정

iptables -I INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

iptables -A INPUT -p tcp -s 172.17.24.130 --dport 22 -j ACCEPT

12. TCP FLAG 중 전체를 보고 그 중 SYN FIN이 있을 경우 차단하는 정책

iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j DROP

13. TCP FLAG 중 전체를 보고 그 중 PSH FIN이 있을 경우 차단하는 정책

iptables -A INPUT -p tcp --tcp-flags ALL FIN,FIN -j DROP

2012/08/18 14:07 2012/08/18 14:07
http://zosel.net/trackback/10
ZOSEL:Too much is as bad as too little...!! 자공(子貢)이 공자에게 "사(師:子張의 이름)와 상(商:子夏의 이름)은 어느 쪽이 어집니까?" 하고 묻자, 공자는 "사는 지나치고 상은 미치지 못한다"고 대답하였다. "그럼 사가 낫단 말씀입니까?" 하고 반문하자, 공자는 "지나친 것은 미치지 못한 것과 같다(過猶不及)"고 말하였다.
Too much is as bad as too little...!! 자공(子貢)이 공자에게 "사(師:子張의 이름)와 상(商:子夏의 이름)은 어느 쪽이 어집니까?" 하고 묻자, 공자는 "사는 지나치고 상은 미치지 못한다"고 대답하였다. "그럼 사가 낫단 말씀입니까?" 하고 반문하자, 공자는 "지나친 것은 미치지 못한 것과 같다(過猶不及)"고 말하였다.
전체 (209)
리눅스시스템 (92)
윈도우시스템 (16)
프로그램 (7)
네트워크시스템 (7)
최근관심 (1)
«   2019/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
  1. Ugg Sito  2015
    Ugg Sito
  2. Ugg Online  2015
    Ugg Online
  3. Ugg Boots Outlet Italia  2015
    Ugg Boots Outlet Italia
  1. 2018/02 (1)
  2. 2017/03 (2)
  3. 2016/12 (2)