Contents

조회 수 14514 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
작성 규칙: 특정한 제한 사항은 전반적인 정책보다 앞에 와야 한다


1. 매스커레이딩 설정의 예

   # ip 포워딩 기능 활성화
   # $ vi /etc/sysconfig/network
   #   FORWARD_IPV4=true
   echo "1" > /proc/sys/net/ipv4/ip_forward

   /sbin/depmod -a
   /sbin/modprobe ip_masq_ftp
   /sbin/modprobe ip_masq_raudio
   /sbin/modprobe ip_masq_irc
   /sbin/modprobe ip_masq_quake ports=26000,27000,27910,27960
   /sbin/modprobe ip_masq_cuseeme
   /sbin/modprobe ip_masq_vdolive

   ipchains -P forward DENY
   ipchains -A forward -j MASQ -s 0.0.0.0/0 -d 0.0.0.0/0
   #ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0 

   # RFC1812에 따른 IP spoof 방지를 위한 설정
   for pfile in /proc/sys/net/ipv4/conf/*/rp_filter
   do 
        echo "1" > $pfile
   done

   # ip 주소를 스푸핑한다고 예상되는 경우 로그에 기록하기
   echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

   # 브로드캐스트, 멀티캐스트 주소에 ICMP 메시지 보내는것 막기, "smurf" 공격 방지용
   echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

<b>2. 특정 홈페이지에 접속하여 인증후 인터넷을 사용하게 하고, 사용후 차단하는 예
   (순서를 맞추지 않으면 나의 원격 접속이 끊어진다.)

   # 도메인 이름의 사용을 허용한다.
   ipchains -A input -p tcp --destination-port domain -j ACCEPT
   # 웹서버로 가는 주소(192.168.1.101 또는 www.senun.com)만 허용한다.
   ipchains -A input -d 192.168.1.101 -j ACCEPT
   # 내부 랜카드(eth1)로 들어오는 패킷은 모두 죽인다.
   ipchains -A input -i eth1 -j DENY
   # 특정 IP만 허용한다.
   ipchains -I input -s 192.168.1.39 -j ACCEPT
   # 또는 특정 IP를 차단한다.
   ipchains -D input -s 192.168.1.39 -j ACCEPT
   
3. 특정 주소로부터 오는 것을 특정 주소의 특정 포트로 강제로 가게 하기

   # 들어오는 모든것은 서버의 80 포트로 가게 한다.
   ipchains -I input -p tcp -s 0.0.0.0/0 -j REDIRECT 80
   # 목적지가 80 포트인 것은 모두 서버의 80포트로 가게 한다.
   ipchains -I input -p tcp -d 0.0.0.0/0 80 -j REDIRECT 80
   # 내부망 인터페이스 eth1으로 들어오는 모든것 중에 목적지가 80 포트인것은 서버의 80 포트로 가게한다.
   ipchains -I input -i eth1 -p tcp -d 0.0.0.0/0 80 -j REDIRECT 80

4. 현재 들어 오는 패킷에 대한 규칙 보기

    ipchains -L                        규칙 사항 모두 보기
    # 현재 규칙 리스트 보기, 위에부터 1,2,3..
    $ ipchains -L -n
    ipchains -L input                이름으로 보기
    ipchains -L input -n         IP 숫자로 보기

5. 규칙 지우기

    # 규칙의 n번째 지우기
    $ ipchains -D input 1
    # 또는 규칙을 만들 때 그대로 -D 옵션으로 지우기
    $ ipchains -I input -s 192.168.1.39 -j ACCEPT
    $ ipchains -D input -s 192.168.1.39 -j ACCEPT

6. 기본 정책 정하기

   # 기본 정책을 거부한 경우
   ipchains -F input
   ipchains -P input REJECT
   ipchains -F output
   ipchains -P output REJECT
   ipchains -F forward
   ipchains -P forward REJECT

   # 기본 정책을 허용으로한 경우
   ipchains -F input
   ipchains -P input ACCEPT
   ipchains -F output
   ipchains -P output ACCEPT
   ipchains -F forward
   ipchains -P forward ACCEPT

7. input 정책의 예(방화벽)

   # 내부에서 외부로의 접근 허용
   ipchains -A input -i eth1 -s 192.168.1.0/24 -d 0/0 -j ACCEPT

   # 내부 네트웍 통신허용, 위 내용에 포함됨
   #ipchains -A input -i eth1 -j ACCEPT

   # 외부에서 공인 아이피로 접근 허용
   ipchains -A input -i eth0 -s 0/0 -d 211.111.111.68/32 -j ACCEPT

   # 내부 인터페이스는 모두 허용
   ipchains -A input -i lo -s 0/0 -d 0/0 -j ACCEPT

   ####### IP spoofing 막기 #######
   # 외부에서 사설 ip로 접근하는것
   ipchains -A input -i eth0 -s 10.0.0.0/8 -d 0/0 -j DENY
   ipchains -A input -i eth0 -s 127.0.0.0/8 -d 0/0 -j DENY
   ipchains -A input -i eth0 -s 172.16.0.0/16 -d 0/0 -j DENY
   ipchains -A input -i eth0 -s 192.168.0.0/24 -d 0/0 -j DENY

   # ip spoofing 방지 외부에서 내부 사설 ip 위장
   ipchains -A input -i eth0 -s 192.168.1.0/24 -d 0/0 -j DENY

   # ip 어드레스를 속여서 외부에서 들어오는 패킷 거부함, 외부에서 공인 ip 속여 접근하는것 차단
   ipchains -A input -i eth0 -s 211.111.111.68/32 -d 0/0 -j DENY

   # 블록킹 BLOCKING 1:1023
   # 방화벽 서버에서 외부에 제공할 서비스가 없으므로 포트를 막음
   ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -i eth0 -d 0.0.0.0/0 1:1023
   ipchains -A input -p udp -j DENY -s 0.0.0.0/0 -i eth0 -d 0.0.0.0/0 1:1023

   # broadcast, multicast 막음
   ipchains -A input -i eth0 -s 0/0 -d 255.255.255.255/32 -j DENY
   ipchains -A input -i eth0 -s 0/0 -d 211.111.111.255/32 -j DENY

   ipchains -A input -i eth1 -s 0/0 -d 255.255.255.255/32 -j DENY
   ipchains -A input -i eth1 -s 0/0 -d 192.168.1.255/32 -j DENY

   #ipchains -A input -i eth1 -s 0/0 -d 211.111.111.255/32 -j DENY

   # ICMP에 broadcast, multicast 하는것(Smurf 공격) 막음. DOS 공격에 필요함
   ipchains -A input -p icmp -i eth0 -s 0/0 -d 211.111.111.255 -j DENY

   # 나머지는 모두 버리고 로그 기록에 남김
   ipchains -A input -s 0/0 -d 0/0 -j REJECT
   #ipchains -A input -s 0/0 -d 0/0 -l -j REJECT


8. output 정책의 예

   #ipchains -F output
   #ipchains -P output REJECT

   # 로컬 내부 전송 허용
   ipchains -A output -i eth1 -s 0.0.0.0/0 -d 192.168.1.0/24 -j ACCEPT

   # 내부 네트웍 통신허용. 위 내용에 포함이 됨
   #ipchains -A output -i eth1 -j ACCEPT

   # 외부로 나가는 것이 사설 ip(목적지)를 향해 나가는 것은 말이 안되지요?
   # 사설 ip 전송 차단
   ipchains -A output -i eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -l -j REJECT

   # 외부로 나가는것이 사설 ip(출발지)면 말이 안되지요?
   ipchains -A output -i eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -l -j REJECT

   # 공인 ip에서 외부로 나가기 허용
   ipchains -A output -i eth0 -s 211.111.111.68/32 -d 0.0.0.0/0 -j ACCEPT

   # 루프백으로 나가는것 허용
   ipchains -A output -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

   # 그외의 것은 모두 차단
   ipchains -A output -s 0.0.0.0/0 -d 0.0.0.0/0 -l -j REJECT

9. forward 정책의 예

   # 192.168.1.0-255 사이 외부 접속 허가. 그 이외의 패킷은 전송하지 않음.
   #ipchains -P forward DENY
   ipchains -A forward -i eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
   #ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ

   # userlink를 사용하여 LAN 내부로부터 포트번호 137-139의 NetBIOS 패킷 외부로의 전송을 거부
   ipchains -A forward -i eth0 -p tcp -s 192.168.1.0/0 137:139 -d 0/0 1024:65535 -j DENY
   ipchains -A forward -i eth0 -p udp -s 192.168.1.0/0 137:139 -d 0/0 1024:65535 -j DENY

10. 매스커레이딩 타임아웃 설정의 예

   # 2 hrs timeout for TCP session timeouts
   # TCP 세션 타임아웃시간
   # 10 sec timeout for traffic after the TCP/IP "FIN" packet is received
   # FIN 패킷 이후의 TCP 세션
   #  60 sec timeout for UDP traffic (MASQ'ed ICQ users must enable a 30sec firewall timeout in ICQ itself)
   #  UDP 패킷에 대한 값 
   ipchains -M -S 7200 10 60 


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
» System/OS [linux] ipchains 사용예(패킷 필터링) hooni 2003.04.23 14514
96 System/OS [linux] ipchains 옵션 hooni 2003.04.23 13995
95 System/OS [linux] Xwindow/Xmanager 사용 hooni 2003.04.23 13816
94 System/OS [linux] 최소한의 커널 설정(커널설치 전체과정) hooni 2003.04.23 17792
93 System/OS [linux] 네트워크 커널 설정.. hooni 2003.04.23 16812
92 System/OS [linux] 커널 컴파일, 설정 hooni 2003.04.23 18199
91 System/OS [linux] 네트웍 트래픽 모니터링(MRTG) hooni 2003.04.23 44221
90 System/OS [linux] DHCP(Dynamic Host Configuration Protocol) 서버 hooni 2003.04.23 13347
89 System/OS [linux] Masquerade 가상 ip분할기법 hooni 2003.04.23 48386
88 System/OS [linux] DNS(Domain Name System) 설치, 설정 hooni 2003.04.23 12773
87 System/OS [linux] sendmail 설정/사용 hooni 2003.04.23 14902
86 System/OS [linux] 이기종간의 파일 공유(Samba) hooni 2003.04.23 15229
Board Pagination Prev 1 ... 86 87 88 89 90 91 92 93 94 95 ... 99 Next
/ 99