Skip to content

조회 수 8917 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

#lokkit

#iptables -Z 
   패킷의 용량을 초기화 시킨다 (모든 패킷 0 )
   룰셋팅을 했을때 모니터링 할때 사용한다


#iptables -N  (chain 을 만든다)

               -X  (추가된 chain을 삭제 )

               -E  (chain명을 change 사용자 정의)


#iptables -X RH-Firewall-1-INPUT
       (사용자 정의 Chain 삭제)

#iptables -nL   (삭제 되었는지 확인)


새로운 chain 생성

#iptables -N TESTCHAIN

#iptables -nL

생성된 Chain 이름 변경

#iptables -E 예전chain명 새로운chain명

#iptables -E TESTCHAIN SSHD

#iptables -nL

 

새로운 chain을 만드는것은 관리를 쉽게 하기 위해서 만드는 것이다
rule이 많을 경우 관리하기가 어렵기 때문이다
서비스별로 분리를 하면 관리가 쉽다


사용자 저의 chain 은 policy 가 안되며 references가 적용


가정 >


 rule을 적용을 했을경우 하나도 매칭이 되지 않을 경우
최종적으로 rule 이 하나가 시작된다

최종 rule (기본정책:policy)

1. 윈xp에서 serv로 접속 ssh

2. serv에서 셋팅  (사용자 정의 SSHD)

   #iptables -t filter -A SSHD -s 192.168.37.1 -j DROP
      기본적으로 명령어를 보면 접속이 되지 않겠다고 생각하겠지만
       사용자 정의는 그 자체만으로는 적용이 되지 않는다
      
        기본 chain하고 링크가 걸어져야만 적용이 된다

   #iptables -t filter  -I INPUT -j SSHD  (링크를건다)
       
       이제 링크가 걸려서 xp에서 serv는 접속이 되지 않는다
  
  #iptables -vL

   #iptables -X SSHD  (링크가 걸려서 삭제가 되지 않는다)(

   #iptables -t filter -D INPUT 1

   #iptables -X SSHD  (삭제확인 : 되지 않는다 chain안에 룰)

     

    #iptables -F SSHD  (SSHD에 들어있는 모든 rule을 삭제할때 사용)
  
    #iptables -X SSHD ( SSHD 사용자 정의 chain 이 삭제 된다)

    #iptables -L

 


iptables -P   (기본 디폴트값 정책을 바꾼다 ACCEPT를 다른것으로)


기본 정책으로 보통 다 아래와 같이 설정해 둔다

이렇게 설정해 둘 경우  필요한 서비스만  ACCEPT 하여 보완성 안전하게
구성할 수 있다


#iptables -P INPUT DROP  (모든 들어오는 패킷 DROP)

#iptables -P FORWARD DROP  (개인 방화벽이므로 포워드 DROP)

#iptables -P OUTPUT ACCEPT  (설정 or 기본값 나가는거...)

 


위와같이 설정할 경우 몇가지 문제점이 있다.,(다른 컴과 통신 두절)

#ping 192.168.37.20  (핑 가지 않는다)

#yum -y install telnet-server  (다운로드 되지 않는다)


위와 같이 하는것은 핑이 다시 되돌아 올때 INPUT으로 들어오는 패킷을
DROP하기 때문이다

위의 것이 1세대 방화벽 방식이다.

 

 

이 모든것을 해결하기 위해서 상태 추적 테이블을 이용한다


======================상태 추적 테이블====================


현재 연결상태의 상태정보를 이용하여 패킷의 drop/allow 여부를
 결정한다면 많은 검사를 생략하여 방화벽의 속도를 획기적으로
향상이 가능하다.

명령어

# -m stat -state{NEW,ESTABLISHED,RELATED,INVLALID}


-NEW : 새로운 연결을 시작하거나 이전에 사용한 상태추적
         테이블에 정보가 없을때 (사용안한다)

-ESTABLISHED : 정상적으로 연결이 형성된 경우
          (ACK 패킷이 정상적으로 처리된 경우)

-RELATED :  FTP 서비스와 같이 제어포트와 데이터포트가 별도로
          존재할때 데이터를 전송하기 위해서는 제어포트를 통해
           데이터 포트의 연결을 시도한다
           이때 사용되는 연결 상태를 의미한다
             

-INVALID : 연결상태를 알 수 없거나 잘못된 접속 요청을 할때


정상적으로 접속을 할려면 -ESTABLISHED 나 RELATED 또는 INVLALID

 

<SERV 에서 정상적으로 이제 방화벽을 구동 (위 문제점을 해결) >


#iptables -t filter -I INPUT -m state --state

ESTABLISHED,RELATED -j ACCEPT


#ping 192.168.37.20  (이제 핑이 제대로 간다)

 


#cat /proc/net/ip_conntrack

상태추적테이블은 메모리에 만들어 진다.
이것은 항상 유지가 되는 것이 아니라 시간이 경과 후 사라진다.

 

 


Rule Matching


#ssh root@localhost
   자기 자신이 ssh서버에 접속이 되지 않는다

  -i lo -j ACCEPT : 루프백에 들어오는 패킷 허용
 
  -o eth0 -j DROP :  eth0에 들오는 패킷 DROP


#iptables -t filter -A INPUT -i lo -j ACCEPT

    위 명령어는 loopbak 의 패킷을 허용한다는 것이다.

#ssh root@localhost  (접속이 이제는 된다)

 

 


-negation (부정문)

 부정표시 ! 표시 (아이피 앞 또는 port번호 앞)

 

-TCP MATCHES

 -p tcp, --protocal tcp

 --sport , --source-port

 --dport , --destinatioon-port


port

 UDP

  TFTP : 69
  NTP : 123
  SYSLOG : 514
  DHCP : 67.68

 

<SERV>

#iptable -F

#vi /var/www/html/index.html
 <html>
 <body bgcolor=green>
 <h1>Host Firewall</h1>
 </body>
 </html>

#vi /etc/xinetd.d/telnet
 disable = no 수정

#service httpd start
#service vsftpd start
#service xinetd restart
#netstat -ntlp 명령으로 open port 확인

 

퀴즈> serv 컴에는 많은 서비스가 동작중이다 이러한 서비스중 xp에게는  
        web서비스만 접속을 허용하고, work컴에게는 ssh.telnet 서비스만
        허용 할 수 있도록 serv 컴의 방화벽을 셋팅하세요
         (단 위에서 언급되지 않는 서비스의 접속은 모두 차단)

-t filter (입력안해도 된다 미 입력시 기본으로 된다)

 #iptable -P INPUT DROP

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

ACCEPT

 #iptables -A INPUT -s 192.168.37.1 -p tcp --dport 80 -j ACCEPT

 #iptables -A INPUT -s 192.168.37.20 -p tcp --dport 22 -j ACCEPT

 #iptables  -A INPUT -s 192.168.37.20 -p tcp --dport 23 -j ACCEPT


 입력후 제대로 동작이 되는지 확인...


List of Articles
번호 제목 글쓴이 날짜 조회 수
68 리눅스 보안 - 권한설정에 주의해야할 명령어들은 ? l2zeo 2010.03.31 27817
67 안티 루트킷 사용 예 l2zeo 2010.03.28 11629
66 리눅스 - iptables NAT rule ADMINPLAY 2010.03.24 9725
65 Cisco/Tip/라우터,스위치에서 패킷 캡쳐하기 file l2zeo 2010.03.23 16185
64 해킹이 의심될 때 사용되는 명령어들 l2zeo 2010.03.08 9901
63 iptables 리눅스? NETFILTER관련 1 l2zeo 2010.03.08 10187
62 LINUX 해킹당했을 때 대처요령 l2zeo 2010.03.08 8781
61 파일 퍼미션 설정을 통한 로컬 공격 방지 l2zeo 2010.03.08 8229
60 SSH 공격막아내기 방법 l2zeo 2010.03.08 8449
59 Tcpdump 용어 정리 ADMINPLAY 2010.01.30 8549
58 홈페이지 보안 강화 도구(CASTLE) 보급 안내 1 file ADMINPLAY 2010.01.22 8971
57 Kernel 2.4.23 버전 이하에 나온 ptrace 버그에 관한 사항 ADMINPLAY 2009.12.13 8842
56 lsof 활용 가이드 ADMINPLAY 2009.11.30 8357
55 실전 테스트!! 스니퍼 공격 ADMINPLAY 2009.11.30 9824
54 해외에서 접근하는 IP 차단하기 ADMINPLAY 2009.11.30 9311
» iptables 옵션 및 상태 추적 테이블 및 rule ADMINPLAY 2009.11.30 8917
52 ossec 로그 분석 툴 설치 ADMINPLAY 2009.10.20 11576
51 SSH(Security SHell) 보안쉘 ADMINPLAY 2009.10.20 8444
50 홈페이지 변조 대처법 (FTP 계정을 이용한 아이프레임 코... ADMINPLAY 2009.10.15 9091
49 iframe 이용한 악성코드 삽입, 홈페이지 변조 사고 대비 ... ADMINPLAY 2009.10.15 10869
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234