반응형

방화벽(Firewall)은 IP와 Protocol, Port를 기반으로 허용/차단하는 솔루션이다.

운영을 위해 필요한 서비스(ex, 웹서비스) 등을 방화벽에서 허용하기 위해 TCP 80, 443을 모두 허용한다면 일반 유저들 뿐만 아니라 악의적인 목적을 가진 악성코드, 스팸메일 등도 유입을 허용하게 된다. 

 

이러한 방화벽의 한계를 극복하기 위해 웹방화벽과 침입 탐지/차단 시스템이 필요하다.

 

# 웹방화벽(WAF, Web Application Firewall)

네트워크 방화벽과는 달리 이름처럼 Web Application 보안에 특화되어있는 시스템을 말한다.

즉, WAF란 SQL Injection, XSS, Directory Traversal 등의 웹 공격을 탐지/차단하는 역할을 하는 시스템을 말한다.

 

 

# 침입 탐지 시스템(IDS, Intrusion Detection System)

방화벽은 OSI 7 Layer에서 Transport Layer 와 Network Layer 만을 확인할 수 있으나, IDS/IPS는 Transport Layer 상단의 Application Layer의 데이터까지도 탐지가 가능하다.

2020/09/27 - [기초지식/네트워크] - 네트워크 - OSI 7계층
 

네트워크 - OSI 7계층

OSI(Open System Interconnection) 7 Layer 모든 네트워크 통신에서 생기는 여러가지 충돌 문제를 완화하기 위하여, 국제표준기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델이다. [참고] 통신

teacheryoon.tistory.com

데이터의 패킷을 방화벽에서 검사할 수 없는 영역의 패킷까지 확인하고 분석하는 기술을 DPI(Deep Packet Inspection)라고 한다.

 

 

# 침입 차단 시스템(IPS, Intrusion Prevention System)

IDS의 탐지 기능에 차단 기능이 추가된 시스템

반응형

'보안장비 > 보안장비 종류' 카테고리의 다른 글

방화벽 FW, UTM, NGFW  (0) 2021.01.12
반응형

방화벽을 네이버 지식백과에서 검색 해보면 '기업이나 조직의 모든 정보가 컴퓨터에 저장되면서, 컴퓨터의 정보 보안을 위해 외부에서 내부, 내부에서 외부의 정보통신망에 불법으로 접근하는 것을 차단하는 시스템'으로 설명하고 있다.

 

좀 더 쉽게 말하면 빙화벽은 성 또는 기업의 출입문처럼 허가된 사람(통신)만 출입을 허용하는 역할을 해서 기업과 IT자산을 보호하는 역할을 하는 시스템으로 설명할 수 있다.

 

장비의 발전 순서는 FW → UTM → NGFW 이며, 각각의 역할은 아래와 같다.

 

# FW(Firewall, 방화벽)

네트워크 보안의 기본이며, 외부→내부 또는 내부외부 접속 시도에 대해 Accept/Deny 하는 시스템이다.

 

# UTM(United Threat Management, 통합 위협 관리 시스템)

방화벽, VPN, IPS, Anti-DDoS, Anti-Virus, Web-Filtering 등 여러가지 보안 기능을 결합시킨 시스템을 말한다.

 

# NGFW(New Generation Firewall, 차세대 방화벽)

FW, UTM의 한계를 극복하기 위해 만들어진 시스템을 말한다.

IP와 Port 기반으로 허용/차단하는 FW에서 다양한 보안 기능을 추가한 UTM으로 발전되었지만, 여러 기능을 사용할 때 성능상 문제가 발생했다. 이러한 문제점을 해결하고 L7 단의 제어까지 가능하도록 NGFW가 등장했다.

 

 

추가) 방화벽의 Routed Mode와 Transparent Mode

1. Routed Mode

- 방화벽이 L3 라우터처럼 동작한다. 

- 인터페이스마다 서로 다른 네트워크 대역이 할당되며, 라우팅 구성이 되어야한다.

 

2. Transparent Mode

- 방화벽이 스위치처럼 동작하며 별도의 네트워크 대역을 설정하지 않는다.

- 인터페이스별 네트워크 대역 설정이 필요하지 않다.

반응형
반응형

 

Cisco ASA 장비는 Tunnel 구축 시 IPSec과 ISAKMP 터널링 표준을 사용한다.

Tunneling에 대한 자세한 내용은 이전 포스팅 참고
2020/09/27 - [기초지식/네트워크] - Tunneling
 

네트워크 - Tunneling

Tunneling 실제로 여러 홉을 거친 후 도착할 수 있는 목적지를 마치 다음 홉에 있는 것처럼 보이게 하는 기술이다. 출발지와 목적지에서만 사용하고 중간에서는 사용하지 않는 프로토콜을 전송하��

teacheryoon.tistory.com

 

ISAKMP와 IKE

ISAKMP(Internet Security Associationand Key Management Protocol)

말 그대로 host 간의 IPSec을 구축하는 과정에서의 협상 Protocol을 말하며, 총 2단계에 걸쳐 터널을 생성하게 된다.

1단계에서는 ISAKMP 협상 메시지를 보호하는 터널을 생성하고, 2단계에서는 데이터를 보호하는 터널을 생성하게 된다.

 

IKE(Internet Key Exchange)

ISAKMP를 통해 IPSec SA(Security Association)를 사용할 수 있도록 하며, peer 인증 시 사용되는 암호화 키를 생성한다.

ASA 장비에서는 용도에 따라 사용되는 IKE version에 차이가 있다.

VPN Client와의 연결을 위한 용도로는 IKEv1을 사용하고, AnyConnect VPN Client 연결을 위한 용도로는 IKEv2를 사용한다.

peer: tunnel을 맺는 반대쪽 host라고 생각하면 된다.

 

 

장비 설정

1. IKE 정책 구성

만약 IKEv1 정책을 구성 시 DES 암호화, MD5 해시, RSA 인증 알고리즘 사용, Diffle-Hellman 그룹 5, SA 수명 4시간으로 설정한다면 Command는 아래와 같다. (각 옵션별 자세한 내용은 하단 'IKEv1, IKEv2 명령어 및 옵션 표' 참고)

IKEv1, IKEv2 명령어 및 옵션 표

IKEv1

명령어 옵션 설명
authentication rsa-sig 각 IPSec Peer의 ID 설정을 위한 인증 방법을 설정하는 명령어
- rsa-sig : RSA 서명 알고리즘에서 사용하는 인증 방법을 사용
- crack : 인증된 암호화 키에대한 시도 및 응답
- pre-share : 사전 공유 키 사용
crack
pre-share
encryption des Peer간 전송되는 데이터를 보호하는 대칭 암호화 알고리즘을 지정하는 명령어로, des: 56비트, 3des는 168비트의 DES를 뜻한다.
3des
hash sha 데이터 무결성 보장을 위한 해시 알고리즘을 지정하는 명령어
md5
group 1 IPSec Peer가 사용하는 Diffle-Hellman 그룹의 식별자를 지정하는 명령어로, 숫자가 높을수록 보안적인 측면에서 우수하다.
그룹1: 768비트, 그룹2: 1024비트, 그룹3: 1536비트
2
5
lifetime 정수 값 SA의 lifetime을 지정한다. Default: 86400 (24시간=86400초)

IKEv2

integrity sha 해시 알고리즘을 지정하는 명령어
md5
sha256 / sha384 / sha512
encryption des 두 IPSec Peer의 전송 데이터를 보호하는 대칭 암호화 알고리즘을 지정하는 명령어
3des
aes / aes-192 / aes-256
aes-gcm / aes-gcm-192 / aes-gcm-256
prf sha / sha256 / sha384 / sha512 키 요소를 생성하는데 사용되는 PRF(Pseudo Random Function) 알고리즘을 지정하는 명령어
md5
group 1 / 2 / 5 / 14 / 19 / 20 / 21 /24 IPSec Peer가 사용하는 Diffle-Hellman 그룹의 식별자를 지정하는 명령어로, 숫자가 높을수록 보안적인 측면에서 우수하다.
lifetime 정수 값 SA의 lifetime을 지정한다. Default: 86400 (24시간=86400초)

 

 

2. IKE 활성화

VPN 터널이 맺어질 때 사용되는 Interface(보통 outside interface) 에서 IKE 활성화하는 작업이 필요하며, 명령어는 아래와 같다.

 

3. 트래픽 암호화 방식 설정

트래픽의 보호를 위한 암호화 방식을 설정할 수 있으며 IKEv1, IKEv2 각각의 명령어는 아래와 같다.

아래 커맨드에서 [name]은 담당자가 지정하면 되며 [encryption]은 암호화 방식의 종류를, [authentication]은 해시 알고리즘의 종류를 정하면되는데, 관련 옵션은 아래 작성한 '트래픽 암호화 방식 설정 옵션 표'를 참고하면 된다.

 

3-1. IKEv1

3-2. IKEv2

트래픽 암호화 방식 설정 옵션 표
encryption 설명 authentication 설명
IKEv1 IKEv2 IKEv1 IKEv2
esp-aes aes 128bit AES 사용 esp-md5-hmac md5 MD5/HMAC-128 해시 알고리즘 사용
esp-aes-192 aes-192 192bit AES 사용 esp-sha-hmac sha-1 SHA/HMAC-160 해시 알고리즘 사용
esp-aes-256 aes-256 256bit AES 사용 esp-none   인증을 사용하지 않음
esp-des des 56bit DES-CBC 사용  
esp-3des 3des 삼중 DES 알고리즘 사용
esp-null null 암호화하지 않음

 

4. 터널 그룹 정의

터널 그룹 생성 및 설정

Cisco ASA 장비에는 기본 IPSec 원격 액세스 터널 그룹(DefaultRAGroup)과 LAN to LAN 터널 그룹(DefaultL2L)이 있다.

 

4-1. 터널 그룹을 생성하는 커맨드는 아래와 같으며 type 지정 시, 원격 액세스 터널의 경우 'ipsec-ra', L2L의 경우 'ipsec-l2l'로 설정하면 된다.

4-2. 인증방법을 설정할 때, general-attributes 명령어를 사용하면 된다. 생략된 추가 옵션은 가독성을 위해 생략하였으며, 최하단 '참고' 부분의 공식 사이트 참고

4-3. 터널 그룹에 대해 사용할 address pool을 설정하는 명령어는 아래와 같다.

4-4. IKEv1 연결에 대해 IPSec 속성을 입력하기 위한 명령어는 아래와 같다.

4-5. 사전 공유 키를 구성하는 명령어는 아래와 같다.(IKEv1만 해당됨)

 

5. 동적 암호화 맵 생성 및 설정

아래와 같이 동적 암호화 맵을 설정함으로써, IP를 알지 못하는 Peer와의 연결을 할 수 있다.

[IKEv1]

[IKEv2]

역방향 라우팅을 활성화하면, 연결된 client에 대해 routing 정보를 확인하여 RIP 또는 OSPF를 통해 네트워크에 알린다.

 

 

이 외에도 설정 VPN 설정을 위한 추가 옵션들이 존재하며, 추가 옵션들에 대해서는 아래 Cisco 공식 홈페이지를 참고.

필요 시 본 포스팅에 추가 예정.

 


# 참고

www.cisco.com/c/en/us/td/docs/security/asa/asa72/configuration/guide/conf_gd/vpngrp.html#wp1113843

 

 

 

 

반응형

'보안장비 > FW_ASA' 카테고리의 다른 글

Cisco ASA - NAT 설정하기  (0) 2020.10.01
Cisco ASA - packet flow, 정책 설정  (0) 2020.10.01
반응형

 

Cisco ASA 방화벽의 NAT 설정은 version 8.3 이전/이후로 command가 다르기 때문에 적용 전, 사용하고 있는 방화벽의 version 확인이 필수적으로 선행되어야 한다. (버전 확인을 위한 명령어는 'show version' 이다.)

NAT에 대한 기본 개념은 아래 포스팅 참고
2020/09/27 - [기초지식/네트워크] - NAT
 

NAT

사설 IP와 공인 IP 실제 NAT가 사용되는 대다수의 경우는 사설 IP <> 공인 IP 변환이기 때문에 사설 IP와 공인 IP에 대한 개념이 필요하며, 사설 IP의 대역은 필수적으로 암기하는것이 업무(그 외 다수)

teacheryoon.tistory.com

 

ver8.3 미만

1. Static NAT

static NAT 설정을 위한 command 포맷은 아래와 같다.

장비에 설정된 routing이 아래와 같을 때, inside에 있는 host 172.16.16.22를 123.123.123.22로 static NAT 설정하는 명령어를 예로 들면 아래와 같다.

위에서 설명한 NAT command에서 [real-interface]inside, [mapped-interface]outside가 되며, [mapped-IP]123.123.123.22, [real-IP]172.16.16.22가 된다.

 

따라서, 172.16.16.22 <> 123.123.123.22의 1:1 NAT 설정을 위한 명령어는 아래와 같다.

 

2. Dynamic NAT

dynamic NAT 설정을 위한 command 포맷은 아래와 같다.

172.16.16.0/24의 모든 host를 123.123.123.0/24로 N:N NAT 설정을 위한 명령어는 아래와 같다.

 

ver8.3 이상

1. Static NAT

static NAT 설정을 위한 command 포맷은 아래와 같다.

동일하게 장비에 설정된 routing이 아래와 같을 때, inside에 있는 host 172.16.16.22를 123.123.123.22로 static NAT 설정하는 명령어를 예로 들면 아래와 같다.

172.16.16.22 <> 123.123.123.22의 1:1 NAT 설정을 위한 명령어는 아래와 같다.

 

2. Dynamic NAT

2.1) N:N dynamic NAT 설정을 위한 command 포맷은 아래와 같다.

먼저 공인 IP(mapped-IP) 대역을 설정하여 object 생성하는 과정이 선행되며, 아래에서는 'global-name' 이라는 이름의 object를 생성했다. (해당 작업 시 range를 사용하여야 하며, subnet 사용 시 NAT 설정이 불가능하게된다.)

그 후 사설 IP(real-IP) 대역에 대해 위에서 생성한 object를 mapping 시키면 된다.

172.16.16.0/24의 모든 host를 123.123.123.0/24로 N:N NAT 설정을 위한 명령어는 아래와 같다.

 

2.2) N:1 dynamic NAT 설정을 위한 command 포맷은 아래와 같다.

172.16.16.0/24를 123.123.123.22로 N:1 NAT 설정하기 위한 명령어는 아래와 같다.

 

위 과정을 통해 설정된 NAT를 확인하려면 'show nat' 명령어를 입력하면 된다.

반응형

'보안장비 > FW_ASA' 카테고리의 다른 글

Cisco ASA_IPSec VPN 구성하기  (0) 2020.10.18
Cisco ASA - packet flow, 정책 설정  (0) 2020.10.01
반응형

Packet Flow

장비마다 Packet flow는 다르기 때문에 장비 사용 전에 필수적으로 장비의 패킷 처리 과정에 대해 확인해야한다.

Cisco ASA 장비의 packet flow는 아래와 같으며, 공식 홈페이지에서 확인 가능하다.

 

패킷 유입 시, 장비에서 처리되는 과정을 간략하게 소개하면 아래와 같다. 

1. 장비에 유입된 패킷이 ingress interface에 도달한다.

2. 세션이 맺혀져 있는 패킷일 경우, ACL check 단계는 건너뛰게 된다.

3. 패킷은 interface ACL에 따라 처리된다. ACL check 시 Accept 일 경우 다음 단계로 넘어가고, Deny 일 경우 패킷이 삭제되고 로그가 남게 된다.

4. NAT rule이 설정되어 있는 경우, 설정된 rule에 따라 변환된다.

 

장비 사용 시 security rule check, NAT rule check 순서는 정책 설정 시 매우 중요하기 때문에 Packet Flow에 대해 필수적으로 확인하고 필요한 내용에 대해 알고 있어야 한다.

출처: cisco asa 공식 홈페이지

 

Security rule

정책 설정에 관련된 내용은 너무 많아 해당 포스팅 한개로 모두 다룰 수 없으며, 본 포스팅에서는 정책 설정에 대한 기본적인 내용만 다룬다.

ASA 장비의 정책은 아래와 같은 포맷으로 설정하면 된다.

'[ ]' 안에 들어가는 내용은 정책 수립자가 통신에 필요한 내용을 확인 후 입력해야 한다.

1. interface name : 정책 설정 시 acl interface의 확인이 필수적이다. 패킷이 유입되고 처음으로 마주치게 되는 interface name을 설정하면 된다.

2. permit / deny : 정책을 수립하고 있는 packet을 허용할지(permit), 차단할지(deny) 설정한다.

3. protocol : 프로토콜을 설정하며, 모든 protocol에 대해 정책 수립 시 ip를 입력하면 된다.

4. source, destination : 출발지 IP(또는 대역), 목적지 IP(또는 대역)을 설정한다.

5. port : port 번호를 입력한다.

 

장비에 적용된 정책들은 top-down으로 적용되기 때문에 특정 통신에 대한 deny 정책이 accept 정책 상단에 위치할 경우 해당 통신은 차단된다.

이런 경우에는, line number를 지정하여 deny 정책 상단에 accept 정책을 추가해야 정상 통신이 가능하게 된다.

 

 

Example

  • 장비에 설정된 구성은 아래와 같을 때, 99.99.99.99 -> 22.22.22.99 http, https 통신에 대한 허용, 차단 정책을 적용한다.
  • 99.99.99.0/24 -> 22.22.22.99, any port 통신에 대한 허용 정책을 line 1에 적용한다.

1. 99.99.99.99 -> 22.22.22.99 http, https 통신에 대한 허용, 차단 정책

[허용 정책]

access-list acl_out extended permit tcp host 99.99.99.99 host 22.22.22.99 eq 80

access-list acl_out extended permit tcp host 99.99.99.99 host 22.22.22.99 eq 443

[차단 정책]

access-list acl_out extended deny tcp host 99.99.99.99 host 22.22.22.99 eq 80

access-list acl_out extended deny tcp host 99.99.99.99 host 22.22.22.99 eq 443

 

2. 99.99.99.0/24 -> 22.22.22.99, any port 통신에 대한 허용 정책을 line 1에 적용

access-list acl_out line 1 extended permit ip 99.99.99.0 255.255.255.0 host 22.22.22.99

 

 


# 참고

www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/113396-asa-packet-flow-00.html

www.cisco.com/c/en/us/td/docs/security/asa/asa84/configuration/guide/asa_84_cli_config/access_rules.html

 

반응형

'보안장비 > FW_ASA' 카테고리의 다른 글

Cisco ASA_IPSec VPN 구성하기  (0) 2020.10.18
Cisco ASA - NAT 설정하기  (0) 2020.10.01

+ Recent posts