글 작성자: nouu

https://www.inflearn.com/course/it-%EB%B3%B4%EC%95%88-%EC%9D%B8%ED%94%84%EB%9D%BC-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81/dashboard

 

ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링 - 인프런 | 강의

IT 인프라들이 가상화, 클라우드 환경 기반으로 서비스가 옮겨지고 있습니다. 서비스는 다양해지고, 매우 많은 애플리케이션들이 인프라 위에서 운영되고 있습니다. 점점 복잡해지는 인프라의

www.inflearn.com

http://www.yes24.com/Product/Goods/59673120

 

인프라 보안 - YES24

기업에서 사용하는 각종 인프라 보안 솔루션의 원리와 활용법을 익히고 가상환경에 실제 구축 테스트를 해볼 수 있는 지침서!이 책은 실제 기업환경과 거의 유사한 인프라를 직접 구축해서 실

www.yes24.com

 

해당 강의와 서적들을 기반으로 글을 작성하였습니다.

강의와 서적을 통해 모방 프로젝트를 수행하며 IPS가 어떠한 기능이 있는지 대략적인 흐름을 습득하고 싶어 해당 글을 작성하였다. 

 

Snort GUI 인터페이스를 딸깍딸각 거리는 실습을 통해 무엇을 알았는가?? 

1) IPS가 어떻게 트래픽을 차단하는지에 대한 대략적인 흐름을 알았다. 

2) Community 기반의 Snort 룰과 상용(유료화) Snort 룰이 있다는 것은 알았다 (Community 기반의 Snort 룰은 아직 필자의 수준이 Snort 룰을 해석하는 능력이 부족하여 파악 못함)

3) Bloking Mode인 Legacy Mode와 Inline Mode의 차이점을 알았다. 

 

해당 실습을 통해 어떠한 원리가 궁금해졌는가?

1) 오픈 소스 IPS인 Snort는 사용자 정의 Rule 설정을 어떻게 하는가? 

2) Snort 룰을 알기 위해선 어떠한 서적과 강의를 들어야 하는가? 구글링?

3) bee-box를 통해 간단한 xss 공격을 시행했다. xss의 원리는 무엇인가? (JS 기반의 공격?, Stored xss?, reflection xss?) 

 

 

http://www.kumkang21.co.kr/security/security.php?menu_sub=3 

 

(주)금강정보에 오신것을 환영합니다.

 

www.kumkang21.co.kr

 

 

침입탐지시스템(IDS)

쉽게 말해 어떤 임의의 공격자가 웹서버나 기타등등의 서버들을 공격한 트래픽을 탐지하는 장비이다. Out of Line 방식으로 트래픽을 탐지하고 싶은 기기에 직접 연결하거나 센서를 이용하여 연결한 뒤 트래픽을 복사하여 데이터를 보는 시스템으로 생각하면 된다. 

 

 

 

침입방지시스템(IPS)

IDS에 Block 기능이 있는 장비라고 보면 된다. 네트워크 트래픽이 직접적으로 지나다니는 inline 구조에 설치되며 크게 Block 세팅은 Legacy 모드와 Inline 모드가 있다.

 

 

 

 

 

 

Snort(스노트)

 

IDS와 IPS의 기능이 대략적으로 어떤 것들이 있는지 실습을 진행하기 위해 Snort를 사용하였다. Snort는 프로토콜 분석, 문자열 패턴 검사, 패킷 발생량 검사 등 다양한 방법으로 탐지를 진행한다. 많은 상용 IPS/ IDS들이 Snort Rule을 사용하고 있으며, 이것을 기반으로 다양한 공격과 스캔들을 탐지하고 알려지지 않은 트래픽을 방지한다.

 

 

 

 

 

 

실습 과정

일단 Snort를 이용하여 IPS의 대략적인 기능들을 살펴보기 전 대략적인 보안 인프라 토폴로지를 살펴보겠다.

 

 

 

 

 

 

1. esxi 내에서 만든 보안 관리 센터 게스트 PC를 통해 pfsense manager webpage에 들어간다. 

 

 

2. System --> Package Manager를 통해 snort 패키지를 다운 받을 준비를 한다.

 

 

3. Available Packages에서 snort를 검색 후 다운을 받는다. 현재 나의 환경은 이미 다운받은 상태라 검색이 되지 않는 모습이다.

 

4. installed Packages로 가면 해당 snort 패키지가 깔린 것을 볼 수 있다. version은 4.1.4_3이다.

 

5. Services --> Snort 카테고리를 통해 들어간다.

 

6. 그럼 다음과 같이 snort IPS를 제어하는 인터페이스가 쫘르륵 나온다. Snort Interface 카테고리에서 Add를 클릭 후 WAN을 추가한다.

 

WAN 네트워크에서 들어오는 인터페이스를 탐지해야 된다. WAN 네트워크는 esxi의 vSwitch, 가상포트의 기능을 이용하여 생성한 것이며, 대략적으로 도식화 하면 다음 그림과 같이 표현할 수 있다.

 

 

Global Settings에 가면 Community Rule 들을 추가할 수 있다. 무료로 사용할 수 있는 스노트룰을 바탕으로 패턴들을 탐지하고 블록킹 할 수 있다. 이것의 세부적인 구성요소는 모르지만 차후 있을 사용자 정의를 통한 Snort 룰 탐지 패턴 개발을 통해 더 자세히 알 수 있을 것이다.

 

 

 

마지막으로 WAN Settings에서 Block Offenders를 체크하면 IPS Mode가 나오는 것을 볼 수 있다. 

 

Legacy Mode : 복사한 데이터를 검사하는 방법. 트래픽이 들어오면 일단 보내주고 들어온 트래픽에 대해 복사를 하여 검사하는 방식.

 

Inline Mode : Inline에서 검사를 하여 철저하게 트래픽을 탐지하고 블록킹하는 방식. 

 

 

7. 마지막으로 칼리리눅스를 통하여 포트포워딩 된 웹 서버에 접근하여 공격을 감행한다. 

<script>'hi'</script>

<script>'hello'</script> 간단한 스크립트를 써서 공격을 감행해보자 

 

 

Legacy 모드에 의해 일단 공격이 한번이 성공된다. 하지만 Snort IPS에 있는 무료 Snort룰에 의해 트래픽이 탐지가 되며, Source IP인 10.44.44.44가 Blocked가 되는 것을 볼 수 있다. 

 

 

 

Blocked가 되어 해당 웹 페이지에 접근하지 못하는 모습이다. 

 

하나의 실습이나 원리를 알고나면 또 다른 의문이 생겨 궁금증이라는 하위 노드가 생성된다. 이것은 우리를 끊임없이 괴롭히지만 노드 하나를 해결할 때 마다 큰 깨달음을 얻을 수 있다. 인생에 있어서 이러한 노드들을 해결하는 사람이 되고 싶다.