[기본개념] 4. 네트워크 접근 통제


이 글은 방화벽 운영에 필요한 기본 개념을 정리한 글입니다.

네트워크 접근 통제


1. ACL

시스템 운영 시에 접근 제어를 구현해야 하는 경우가 있다. 이 때 관리자는 접근 통제 정책(Access Control)을 구성하게 될 것이다. 접근 통제 정책에는 3가지 방식이 있다. 강제적인 접근통제 방식으로 군사시설에서 자주 쓰이는 MAC(Mandatory Access Control)정책과 객체(장비 또는 파일)의 소유주가 임의적으로 정의하는 DAC(Discretionary Access Control)정책, 사용자들의 역할을 기반으로 해서 통제하는 Role Based AccessControl정책이 있다.

DAC 방식에서 구현할 수 있는 접근 통제 방식은 크게 두 가지로 Capability List와 ACL(Access Control List)가 있다. Capability List는 사용자에게 다양한 객체의 접근권한을 정의한 것이고, ACL은 각 객체에게 사용자들의 접근권한을 명시하는 것이다.

ACL을 자세히 설명하자면, 시스템 상에서 각각의 단말(네트워크 장비)에 사용자들의 접근 권한을 설정하는 것이다. 라우터의 경우 각각의 인터페이스 혹은 프로토콜별로 네트워크 트래픽을 제어하고, 패킷의 식별 또는 차단용으로 사용한다. 접근제어 대상이 되는 파라미터는 송신지 주소, 목적지 주소, 프로토콜의 종류, 포트번호 등이 있다. ACL을 확인하기 위해서는 라우터에 access-list 명령어를 입력하면 된다.



2. Inspection

Stateful Inspection방식이라고 불리며, 상태 기반 검사로 불린다. 이스라엘의 방화벽 업체인 체크포인트사가 최초로 사용하였으며, 패킷 필터링 방식과 어플리케이션 게이트웨이 방식을 결합한 방식이다. 네트워크 계층(IP)에서 패킷을 처리하면서도, 프로토콜의 상태 정보 테이블을 유지하여 최근 거의 모든 방화벽 시스템에서 사용되고 있다.

출처: http://blog.naver.com/PostView.nhn?blogId=twers&logNo=50117532883 하나의 서비스에 대한 접근 규칙을 생성할 때에, 되돌아가는 통신에 대한 접근규칙도 설정해야 하는 복잡함이 있었지만, 상태 기반 검사를 통해 들어오는 방향(Incoming)에 대한 규칙을 설정하였다면 되돌아 나가는(Outgoing)에 대하여 별도의 규칙을 필요로 하지 않는다. 서비스에 대한 특성 및 통신상태를 관리하며 패킷의 접근규칙을 동적으로 생성한다. 하지만 데이터 내부에 악의적인 정보를 포함하는 연결에 대한 대응이 어렵다.



3. NAT

공인 IP 주소 사용시에 인터넷 공급업체를 바꿀 때 마다 모든 컴퓨터의 주소를 바꿔야 하는 단점이 있다. 또한, 내부 사설망을 운영하고자 하는 요구와 공인 IP의 효율적인 운영을 위해 Network Address Translation 방식이 나왔다. 1개의 실제 공인 IP 주소에서 포트 별로 최대 64,000여 개의 가상 사설 IP 주소를 할당 및 연결하는 주소 변환 방식이며, 운영방식에는 3가지가 있다.

1. 정적 NAT

정적 NAT방식은 수동으로 외부 공인 IP의 포트와 사설 IP를 1대1로 연결하는 방법이다. 외부 주소로 들어온 요청을 미리 지정된 내부 주소로 변환하여 전달하게 된다. “ip nat inside source static 사설IP 외부IP”와 “ip nat inside, ip nat ouside”명령어로 설정 가능하다.

2. 동적 NAT

동적 NAT방식은 사설 IP주소 그룹을 라우팅 가능한 공인 IP주소 그룹으로 자동으로 연결하는 방법이다. 내부 PC가 외부로 연결하게 되면 라우터는 설정된 공인 IP주소 그룹에서 할당되지 않은 IP중 하나로 변환하여 외부로 연결하게 된다. 이 때, NAT Table에 설정 정보를 저장하고, 외부에서 응답 신호가 돌아오면 라우터에서는 NAT Table에 있는 정보와 비교 후, 사설 IP로 변환해 준다.

3. PAT

PAT(Port Address Translation)방식은 IP 주소뿐만 아니라 포트 번호까지도 포함시켜 내부 호스트를 구분하는 방법이다. 동적 NAT를 사용시에 공인 IP 주소가 부족하면 연결 가능한 PC는 한정되게 된다. 이를 보완하기위해 나온 방법이 PAT이며, 하나의 외부 IP주소 및 여러 포트에 의해, 여러 내부 사설 IP로 연결이 가능하다.



4. VPN

Virtual Private Network는 인터넷 망 안에서 논리적으로 분리하여 구성하는 가상 사설망을 뜻한다. 한 그룹에서 다른 그룹에게 통신 내용을 드러내지 않고 연결할 목적으로 사용하고 있으며, 다양한 보안 기술을 통해 패킷을 암호화하여 구현하고 있다. 이 기술은 터널링이라고 하며, 가상회선을 생성하고 유지할 목적으로 서로 다른 프로토콜의 패킷안에 패킷을 캡슐화 하는 기능을 가지고 있다. 암호화에는 대칭키(DES, RC5, SEED, AES)등을 사용한다. 대표적인 운용 방법은 VPN 공급자가 운영하는 원격 서버에서 인터넷 연결을 암호화한 후 ISP(인터넷 서비스 제공업체)서버로 리디렉션하는 방식이다. VPN Server는 라우터의 개념과 비슷하며, 운용 주체, 접속 범위, 통신 계층 등에 따라서 구분하고 있다.

1. 운용 주체

VPN을 운용하는 주체에 따라 구분할 수 있다. 일반적으로 기업측이 독자적으로 구축/운용하는 방식인 CPE-VPN이 있고, 통신사인 ISP 망사업자 측이 제공/운용/관리하는 방식의 Provider Provisioned VPN이 있다.

2. 접속 범위

VPN이 접속하는 범위에 따라 구분할 수 있다. 내부망을 기반으로 하는 인트라넷VPN, 물리적으로 떨어진 곳과의 내부망을 사용하기 위한 엑스트라넷 기반의 VPN, 그리고 원격지에 접속하기 위해 사용하는 VPN이 있다.

3. 통신 계층

VPN이 사용하는 계층에 따라 구분할 수 있다. PPTP(Point To Point)와 L2TP(Layer2 Tunneling Protocol)등의 데이터링크 계층 기반 VPN, IPSec과 MPLS(Multi-Protocol Label Switching)을 사용하는 네트워크계층 기반의 VPN, SOCKv5와 SSL을 사용하는 세션 계층 기반의 VPN이 있다.

4. IPSec VPN과 SSL VPN

IPSec VPN은 TCP/IP의 3계층(TCP/UDP)로 지원해주고, 별도의 소프트웨어를 설치해야 한다. Site to Site통신을 지원하기 때문에 정교한 접근제어가 힘들며, 종단간 보안기능을 제공한다. SSL VPN은 TCP/IP의 5계층(Application)으로 지원해주고 웹 브라우저에서 자체지원 해줍니다. Site to Remote통신으로서 정교한 접근제어가 가능하며, 접속과 관리가 편하다.




© 2019. by ChanCERT

Powered by jekyll