DMZ - 지정된 내부 IP 주소의 PC로 모든 포트를 개방

Twin IP - 지정된 MAC 주소의 PC가 공인 IP 주소를 사용함


DMZ

컴퓨터 보안에서의 비무장지대(Demilitarized zone, DMZ)는 조직의 

내부 네트워크와 (일반적으로 인터넷인) 외부 네트워크 사이에 위치한 서브넷이다. 

내부 네트워크와 외부 네트워크가 DMZ로 연결할 수 있도록 허용하면서도, 

DMZ 내의 컴퓨터는 오직 외부 네트워크에만 연결할 수 있도록 한다는 점이다. 

즉 DMZ 안에 있는 호스트들은 내부 네트워크로 연결할 수 없다. 이것은 DMZ에 

있는 호스트들이 외부 네트워크로 서비스를 제공하면서 DMZ 안의 호스트의 

침입으로부터 내부 네트워크를 보호한다. 내부 네트워크로 불법적 연결을 

시도하는 외부 네트워크의 누군가가 있다면, DMZ는 그들에게 막다른 골목이 된다.


DMZ는 일반적으로 메일서버, 웹서버, DNS 서버와 같이 외부에서 접근되어야 할 필요가 

있는 서버들을 위해 사용된다.


외부 네트워크에서 DMZ로 가는 연결은 일반적으로 포트 주소 변환(port address translation 또는 PAT)을 

통해 제어된다.

iptables -F

iptables -X

iptables -Z


iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP


iptables -A INPUT -i lo -j ACCEPT -m comment --comment "ACCEPT IN - LOOP BACK"

iptables -A OUTPUT -o lo -j ACCEPT -m comment --comment "ACCEPT OUT - LOOP BACK"


#ESTABLISHED, RELATED state

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment -comment "ACCEPT IN - ESTABLISHED, RELATED"

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment -comment "ACCEPT OUT - ESTABLISHED, RELATED"



#ICMP

iptables -A INPUT -p icmp -j ACCEPT -m comment --comment "ACCEPT IN - ICMP"


#ssh

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


#http

iptables -A INPUT -s 10.10.30.28 -p tcp --dport 80 -j ACCEPT




service iptables save

service iptables restart

'Server - Linux' 카테고리의 다른 글

[snmp] (Linux-client) 설정  (0) 2016.07.04
[RSync]  (0) 2016.07.04
iptables  (0) 2016.07.04
Selinux  (0) 2016.07.04
MySql 사용법  (0) 2016.07.04

iptables


옵션

-A --append

-C --check

-D --delete

-I --insert

-R --replace

-L --list

-S --list-rules

-F --flush

-Z --zero

-N --new-chain

-X --delete-chain

-P --policy chain target

-E --rename-chain old-chain new-chain

-p, --protocol protocol

-s, --source address

-d, --destination address

-j, --jump target  

-g, --goto chain

-i, --in-interface name

-o, --out-interface name

-f, --fragment

-c, --set-counters packets bytes



ssh 포트 열기

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

service iptables save    (/etc/sysconfig/iptables 자동등록)


# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP


# iptables -A INPUT -j DROP

-A    :룰을 추가한다 

INPUT : 패킷이 들어오는 체인에 

-j    :패킷의 운명을 결정한다. 

DROP  : 패킷을 버려라.



새로운 체인 만들기 (-N). 

비어있는 체인을 제거하기 (-X).

※ 이 두옵션은 직접체인을 만들었을경우와 제어할경우에 해당된다.

기본체인(INPUT,OUTPUT,FORWARD) 에는 해당되지 않는다.


미리 만들어진 체인의 정책을 바꾸기 (-P) 

어떤 체인의 규칙들을 나열하기 (-L) 

체인으로부터 규칙들을 지우기 (-F) 

체인내의 모든 규칙들의 패킷과 바이트의 카운드를 0 으로 만들기 (-Z)



# 스크립트로 등록하는 방법

/etc/rc.d/rc.local 에 

if [ -f /etc/sysconfig/iptables ] ; then

/etc/sysconfig/iptables

fi



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

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT



iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP




IP 주소 지정


신뢰할 만한 ip에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.3 -j ACCEPT


신뢰할 만한 ip 대역에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT


신뢰할 만한 ip 대역에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT


신뢰할 만한 ip와 MAC주소에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.3 -m mac --mac-source 00:50:80:FD:E6:32 -j ACCEPT


포트 범위지정

# iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT



state - tcp/udp/icmp 등의 전송 프로토콜의 연결 '상태'를 가지고 확인한다

NEW - 세션을 만들 때의 첫 번째 패킷

ESTABLISHED - 이미 세션이 연결된 후에 오가는 패킷

INVALID - 열리지 않는 세션에 대한 데이터 전송 패킷

RELATED - 기존의 연결 세션을 바탕으로 새로 만들어지는 세션의 패킷




 ip 대역으로 차단할때

# iptables -A INPUT ?-m iprange --src-range 1.169.0.0-1.169.255.255 -j DROP

'Server - Linux' 카테고리의 다른 글

[snmp] (Linux-client) 설정  (0) 2016.07.04
[RSync]  (0) 2016.07.04
[iptables] 웹서버 방화벽 iptables 실습 (22, 80 Accept)  (0) 2016.07.04
Selinux  (0) 2016.07.04
MySql 사용법  (0) 2016.07.04

+ Recent posts