반응형

방화벽(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
반응형

LLCF(Link Loss Carry Forward)

상, 하단에 위치한 link 상태를 감지하여 회선의 양 끝단의 link를 up/down 시키는 네트워크 기술을 말한다.

쉽게 말해서, LLCF가 설정된 장비를 기준으로하여 위, 아래 link 중 어느 하나가 끊어지면(down state) 나머지 하나의 link도 끊어서 위, 아래 위치된 장비의 경로 설정을 변경(Failover)할 수 있도록 해주는 네트워크 기술이다.

 

아래 그림과 같이 LLCF 설정이 되어있지 않은 상태로 방화벽 상단 switch와의 link가 down될 경우, 하단 switch는 상단의 상황을 알지 못하기 때문에 끊긴 link로 통신을 시도하게 되고 통신 장애가 발생하게 된다.

 

만약 아래 그림과 같이 LLCF 설정이 완료된 상태로 방화벽 상단 switch와의 link가 down될 경우, 하단 switch와의 link도 down 시킨다.

그러면, 하단 switch에서는 link가 down된 것을 알 수 있기 때문에 라우팅 경로를 변경하여 통신을 지속할 수 있게된다.

 

 

 

Failover

네이버 지식백과에서는 '1선 시스템이 장애나 운용 시간 종료로 가동이 중단되면 2선 시스템이 기능을 넘겨받아 운용되는 백업 모드'라고 정의하고 있다.

즉, 장비에 이상이 생겼을 때 이중화 구성이 되어있는 예비 장비로 자동 전환되는 기술이라고 생각하면 된다.

이중화 구성이 되어있는 장비의 경우, 평상시에는 active 장비로만 통신을 하지만 장애 발생 시(active 장비 다운), 대기하고 있던 standby 장비가 active로 전환되어 서비스가 중지되지 않도록 할 수 있다.

 

위에서 설명한 LLCF와 함께 동작 과정에 대해 말하면, 

active 장비에서 장애 발생 시, LLCF 기능을 이용하여 라우팅 경로를 변경 하고 standby 장비쪽으로 트래픽이 흐르게 한다. 그러면 standby 장비가 active로 동작하여 서비스가 중단되지 않고 정상적으로 통신이 진행된다. 

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - VPN  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

VPN(Virtual Private Network)

Tunneling 기법을 사용해, 두 네트워크 사이의 연결을 전용회선을 이용해 연결한 것과 같은 효과를 내는 기술이다.

쉽게 말해서, 이름 그대로 '가상으로 사설망을 만들어 사용한다'고 생각하면 된다.

VPN 기술을 이용해 외부에서 접근할 수 없는 사설망(사내 네트워크 등)에 내 PC 등을 연결시킬 수 있다.

Tunneling 기법에 대한 글은 이전 포스팅 참고 : 
2020/09/27 - [기초지식/네트워크] - Tunneling
 

Tunneling

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

teacheryoon.tistory.com


1. VPN을 사용하는 이유

A와 B가 보안이 필요한 통신을 할 때, 공중망에 떠다니며 통신하는 패킷은 안전하지 않기 때문에, A<>B 통신 시, VPN을 맺어 가상 사설망을 맺은 뒤 통신을 하도록 하는것이 좋기 때문이다.

재택 근무 등 원격 접속을 이용해 사내 네트워크를 사용할 경우, 사용되는 기술이 VPN 기술이다.


2. 공중망과 사설망

통신망은 접근성에 따라 공중망과 사설망 두가지로 분류할 수 있다.

[공중망]

어느 누구나 자유롭게 접근할 수 있는 통신망으로, 통신업체들이 구축한 통신망.
불특정 다수가 통신망을 공유하기 때문에 악의적인 사용자에 의한 데이터 유출이나 공격 등과 같은 보안 위험 요소들이 존재한다.

[사설망]

사설 IP 주소 공간을 이용하는 네트워크를 말한다.

쉽게 말해 공중망의 반대의 개념이며, 공유기 하단에 있는 네트워크 대역을 말한다.


3.암호화 방식

암호화 방식에는 크게 두가지가 있는데, IPSec과 SSL이다.

IPSec과 SSL의 기본 개념에 대해서는 이전 포스팅 참고.
2020/09/27 - [기초지식/네트워크] - IPSec, SSL, TLS
 

IPSec, SSL, TLS

IPSec(Internet Protocol Security) - IPSec은 하나의 Protocol이 아니라, 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜(IP) 통신을 위한 인터넷 프로토콜 스위트다. - Network Layer 상..

teacheryoon.tistory.com

크게 이 두가지 암호화 방식을 이용해 VPN 통신을 진행하게 되며 간단하게 요약해서 말하면 아래와 같다.

- IPSec VPN은 3계층(Network Layer)에서 정보를 주고받는 방법으로, 장비가 2대 필요하다.

- SSL VPN은 7계층(Application Layer)에서 정보를 주고받는 방법으로, 장비가 1대 필요하다. 

 

1) IPSec VPN

위에서 설명한 것과 같이 VPN 연결은 가상 Tunnel을 통해 이루어지며, 이 가상 터널을 IPSec으로 암호화하여 보호하는 기술을 말한다.

IPSec VPN은 통신을 원하는 A와 B 사이에 각각 VPN 장비를 설치하게 된다. (그래서 장비가 2대 필요하게 된다.)

운영 방식에 따라 전송모드와 터널 모드가 있으며, 해당 내용도 위에 첨부한 이전 포스팅 참고

2) SSL VPN

IPSec VPN과 동일하게 VPN 연결은 가상 Tunnel을 통해 이루어지며, 인증이 완료되면 A에게 가상 IP가 할당되어 VPN을 사용할 수 있게 된다. (인증 과정에서 방화벽 등을 사용하여 진행한다.)

IPSec VPN과의 차이점으로, 웹 브라우저와 B 사이의 주고받는 정보를 암호화 하고 VPN 장비는 1대 필요하다.

Cf) SSL VPN 통신 과정

1) 외부의 Client A는 인터넷을 통해 VPN 장비에 접속하여 가상의 사설 IP를 할당 받음

* Client A가 SSL VPN에 접속한 후에는 사설망에 있는 장비들은 Client A가 내부에 있다고 판단한다.

2) VPN 장비는 Client A가 요청한 내용을 가지고 Server B와 통신을 시도

3) Server B는 VPN 장비에게 Request에 대한 Reply를 보냄

4) VPN 장비는 Server B의 응답을 Client A에게 전달

 


# 참고

terms.naver.com/entry.nhn?docId=1180265&cid=40942&categoryId=32850

 

반응형

'기초지식 > 네트워크(업무)' 카테고리의 다른 글

네트워크 - Load Balancer  (0) 2021.07.08
네트워크 - LLCF, Failover  (0) 2020.10.01
네트워크 - IPSec, SSL, TLS  (0) 2020.09.27
네트워크 - Tunneling  (0) 2020.09.27
네트워크 - NAT  (0) 2020.09.27
반응형

ThinkPHP 원격 코드 실행 취약점 (CVE-2018-20062)

ThinkPHP 취약점을 이용한 원격 코드 실행 시도를 말한다.

cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20062

 

해당 취약점은 2018년 12월 10일 발표되었으며, HTTP 요청의 매개 변수에 대한 적절한 검증 부재로 인해 Framework가 강제로 경로 지정을 하지 못하는 취약점이 존재한다.

 

해당 취약점을 이용하면, 조작된 HTTP Request를 통해 서버 권한으로 원격 코드를 수행할 수 있다.

 

ThinkPHP 란?

중국기업에서 개발한 Apache2 기반의 PHP Framework를 말한다.

중국 40,000개 이상의 서버가 Think PHP를 통해 서버를 구동하고 있으며, 해당 Framework의 경우 중국이 개발하여 아시아권에서 많이 사용하고 있다.

 

POC

위 POC 코드가 실행되는 근본적인 이유는 '\'문자가 필터링되지 않기 때문이다.

필터링 부재로 인해 '\think\app' 은 Class로, 'invokefunction'은 Method으로 동작하게 된다. (추가적으로, '\think\request' 를 통해 input method를 이용한 공격도 가능하다. 아래 예시 참고)

위의 과정을 거쳐 [command] 부분에 입력하는 명령어의 결과가 페이지에 출력된다.

 

[SonicWall Threat Research Lab에서 공개한 실제 탐지된 공격 시도 중 일부]

출처: http://securitynews.sonicwall.com/xmlpost/thinkphp-remote-code-execution-rce-bug-is-actively-being-exploited/

 

대응 방안

해당 취약점의 경우 2018 12월 보안업데이트를 통해서 해결되었다. (정규표현식에서 '\' 필터링을 통해서 해결)
ThinkPHP 버전 5.0.23 또는 5.1.31로 업데이트를 하는 것을 권장하고 있다.

 

 


# 참고

lopicit.tistory.com/360

securitynews.sonicwall.com/xmlpost/thinkphp-remote-code-execution-rce-bug-is-actively-being-exploited/

 

 

반응형

+ Recent posts