IPS(침입차단시스템 Intrusion Prevention System)
IPS(침입차단시스템 Intrusion Prevention System)
차세대 능동형 보안솔루션이라고도 불리는 IPS는 인터넷 웜 등의 악성코드 및 해킹 등에 기인한 유해트래픽을 차단해 주는 솔루션
IDS(Intrusion Detection System)는 특정 패턴을 기반으로 공격자의 침입을 탐지하는 반면 IPS는 공격탐지를 뛰어넘어 탐지된 공격에 대해 웝 연결을 끊는 등 적극적으로 막아주는 솔루션
IDS + 차단 기능 = IPS
IDS(Intrusion Detection System: 침입 탐지 시스템)은 외부에서 내부로 들어오는 패킷이
정상인지 아닌지를 탐지하는 네트워크계의 CCTV 같은 솔루션입니다. (여기서 차단 기능이 더해지면 IPS 라고 할 수 있죠)
그렇기 때문에 IDS/IPS는 일반적으로 내부 네트워크로 들어오는 모든 패킷을 탐지할 수 있는 경로에 설치됩니다.
Q. IDS/IPS와 방화벽 중 어떤 솔루션이 더 상단에 설치될까요?
A. 방화벽은 IP/Port 기반으로 패킷을 차단하는 네트워크계의 경비원 !
IDS/IPS는 비정상 행위 및 악용을 탐지하는 네트워크계의 CCTV ! (IPS는 차단도 가능)
허용되지 않은 IP/Port의 접근을 차단 한 나머지의 행위를 탐지/차단 할 것이냐
비정상 행위를 차단 한 나머지에 대한 IP/Port 접근을 탐지/차단 할 것이냐
사실 상 이 문제는 닭이 먼저냐, 계란이 먼저냐의 문제입니다.
즉, 정답은 없습니다. 장비의 성능 및 구성도에 따라 알맞게 설치하면 됩니다 ㅎㅎ
2. 구성방식
최상단에 설치되는 IDS/IPS 설치 방식은 미러방식과 인라인 방식 이렇게 2가지가 있습니다.
(1) 미러 방식(mirror)
스위치나 TAP 이라는 장치를 이용하여 IDS/IPS로 패킷을 전달 받아 탐지를 진행하는 방식입니다.
단, 이 방식을 이용하는 경우 IPS도 차단이 불가능합니다.
구성도에 있는 IDS는 TAP이라는 장비를 통해 패킷을 받아 패킷을 탐지합니다.
(2) 인라인 방식 (Inline)
네트워크 통로에 들어가서 패킷을 직접적으로 관리하는 방식입니다.
IPS 를 통과하는 패킷 중 비정상적이거나 악용 된 패킷은 차단됩니다.
3. 차단 방식
비정상적인 패킷을 탐지한 IPS는 다양한 방식으로 패킷을 차단합니다.
설정에 따라 일시적으로 출발지 IP를 블랙 리스트에 추가하여 접근을 차단한다던지,
그림과 같은 방식으로 악성 데이터를 담은 패킷을 제거한 나머지 패킷만을 통과시키기도 합니다.
AWS 네트워크 방화벽(Network Firewall)
▪ AWS VPC를 위한 관리형 네트워크 방화벽, 침입감지 및 방지 서비스(IDS/IPS)
▪ 인터넷 게이트웨이, NAT 게이트웨이, VPC, Direct Connect을 통한 트래픽에 대한 보안 적용 가능
▪ 오픈 소스 IPS인 Suritaca 사용하기 때문에 Suritaca 호환 규칙을 지원
▪ 보호된 서브넷(방화벽 엔드포인트 서브넷)으로 들어오고 나가는 트래픽을 모니터링하고 제어하는 기능 제공
▪ IP 주소는 물론 도메인 정책 지원
- 특정 AWS 서비스 도메인만 사용하도록 설정 가능.
AWS 네트워크 방화벽 리소스
▪ 방화벽(Firewall)
- VPC 서브넷에 대한 트래픽 필터링
▪ 방화벽 정책(FirewallPolicy)
- 방화벽에서 인바운드/아웃바운드 트래픽 필터링에 사용할 정책을 정의
- 방화벽 정책 내에는 Stateless rule group / Stateless default action / Stateful rule group을 정의
▪ 규칙 그룹(RuleGroup)
- 실제 방화벽에서 적용될 규칙을 정의한 그룹
- Stateful(상태저장) 정책과 Stateless(상태 비저장) 정책이 존재
AWS Network Firewall 엔진
▪ Stateless 엔진
- 패킷의 상태 정보와 상관없이 현재 패킷의 정보로만 stateless하게 적용하는 규칙
- 정의된 Stateless rules에 대해서 순차적인 규칙 검사
▪ Stateful 엔진
- 패킷의 상태정보를 기억하여, 상태 정보를 기반으로 stateful하게 적용하는 규칙
- 정의된 Stateful rules에 대해서 전체 검사
▪ 네트워크 방화벽은 두 가지 엔진을 사용하여 패킷을 검사하고, 각 엔진에 설정된 방화벽 정책을 적용
▪ Stateless 엔진을 먼저 적용하고, Stateless 엔진에서 pass/drop이 아닌 Forward 설정이 해당하는 경우에만 Stateful 엔진 적용.
▪ Stateless 엔진의 경우 NACL과 유사하게 동작
▪ Stateful 엔진은 오프 소스 IPS인 Suricata와 호환되는 규칙을 사용
▪ Stateful 엔진은 기존 Security Group과 유사하게 동작하지만, Default 정책이 허용이라는 점은 다름
▪ 스테이트풀 엔진의 경우 심층 패킷 검사(deep packet inspection) 수행 시, 패킷의 헤더 이외에 페이로드(payload)까지 확인
▪ Stateless Engine의 Stateless 정책을 확인하고, 정책에 대한 Action이 forward인 경우 Stateful 엔진 수행
AWS Network Firewall 기본 구조
▪ 네트워크 방화벽은 실제 사용자 VPC에 존재하지는 않고, AWS가 관리하는 영역에 존재하며 네트워크 방화벽 사용 시에 해당 서비스에 접근이 가능한 방화벽 엔드포인트를 제공
- 생성되는 엔드포인트 유형은 'GatewayLoadBalancer'
▪ 방화벽 엔드포인트는 하나의 가용영역에 1개의 서브넷만 지정 가능
- 가용성을 위해서 다수의 가용영역에 지정하는 것을 권고
▪ 방화벽 엔드포인트가 포함된 서브넷 내에 존재하는 서비스에 대해서는 방화벽 서비스를 사용할 수 없기 때문에 방화벽 엔드포인트 전용 서브넷으로 할당해야 함.
![img.png](https://blog.kakaocdn.net/dn/vUaRo/btq1XlbQTca/p7x8ZbqoK5bxUtYEWvnIG0/img.png)