Contents

조회 수 14169 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
1173 System/OS 해커스랩 깨기.. 후후.. ㅋㅋ file hooni 2013.04.23 18413
1172 Etc 플라스터(Plaster) 수업 내용 secret hooni 2016.05.24 0
1171 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16385
1170 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 21247
1169 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16485
1168 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11370
1167 Etc 티스토리 테이블 html,css 구문 hooni 2013.11.03 15948
1166 System/OS 콘솔에서 패스워드 걸린 zip 압축하는 명령 hooni 2018.03.02 933
1165 System/OS 컴파일러 수업 자료(교재 : 컴파일러 입문) file hooni 2003.04.23 21966
1164 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 730
1163 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 972
1162 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98