Network Security

Paros
서버와 클라이언트 사이에 위치해서 parameter를 변조할 수 있다.
랜설정의 proxy 설정에서 주소를 Paros의 local proxy로 입력하면 웹서핑을 할 때 서버로 바로 가지 않고 해당 proxy를 통해서 간다.
Trap Request를 해놓으면 클라이언트에서 요청을 서버로 보낼 때 Paros에 잡히고 안보내진다.
Paros에서 continue를 눌러 줘야 서버로 전송이 되는데 continue 누르기 전에 request를 수정할 수 있다.

Firewall는 port/ip 기반으로 작동한다.
허용 정책에 포함되지 않은 port/ip 모두 차단한다.
하지만 야후와 같은 웹서비스가 대중화되면서 80포트를 모든 사용자에게 열어놔야 한다. 이 때문에 ip/port만으로는 방어가 어렵워졌다.
IDS(Instruction Detection System)가 나왔다. 주소만 보는 것이 아니라 무슨 명령인지를 본다.(snort)

패턴매칭
오고 가는 패턴으로 상호관계를 파악한다.
Misuse 분석: IDS, IPS(black list)
Anomaly 분석: Firewall(white list)
패턴매칭은 만들기도 쉽고 쓰기도 쉽다.
문제로는 false positives, negatives가 있고 로그가 점점 커지는 걸 직접 확인하기 어려워졌다.
예를 들어 bug가 blacklist에 있는데 bugger도 탐지가 될 수 있다.

이상징후 분석
평소의 기록을 기반으로 다른 작업이 생기면 이상징후로 판단한다.
어떤 현상의 변화를 숫자로 표현한 통계분석을 이용할 수 있다.
이를 위해서는 정확한 데이터의 수를 세야 한다.
대용량의 로그를 분석할 수 있기 때문에 유의미한 통계를 낼 수 있게 되어 가능해졌다.


Snort
NIPS(Network Intrusion Prevention System)이자 NIDS(Network Intrusion Detection System)이다.
실시간 트래픽 분석과 IP에서의 패킷 로깅을 수행한다.
프로토콜 분석, 내용 검색 그리고 매칭을 수행한다.
 스니퍼 모드: 네트워크 패킷을 읽고 콘솔에 보여준다.
 패킷 로거 모드: 패킷을 디스크에 기록한다.
 IDS/IPS 모드: 네트워크 트래픽을 모니터하고 사용자에 의해 정의된 규칙에 반하는지를 분석한다.
하지만 Snort는 단일 스레드만 지원해서 대용량 트래픽을 실시간으로 처리하기는 힘들다.
Suricata가 그 단점을 개선한 오픈 소스 기반의 IDS/IPS이다.


ElasticSearch
Elasticsearch, Logstach, Kibana의 앞글자를 따서 ELK Stack이라고 한다. Beats도 포함된다.
웹사이트 검색, 로깅과 로그 분석, 앱 성능 모니터링, 보안 분석 등에 쓰일 수 있다.
Elasticsearch의 index는 서로 관련되어 있는 JSON 문서들의 모음인데 각 문서에는 일련의 키와 값이 서로 연결되어 있다.
Logstash는 서버 사이드 오픈 소스 데이터 처리 파이프라인으로, 데이터를 집계하고 처리하여 Elasticsearch에 전송하여 색인되도록 한다.
Kibana는 Elasticsearch를 위한 시각화 및 관리 도구이다.
Elasticsearch는 빠르고, 본질상 분산적이고, 광범위한 기능 세트와 함께 제공되고, 데이터 수집/시각화/보고를 간소화한다.


----------------------------------------------------
Reference
https://tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=146


댓글

이 블로그의 인기 게시물

논문 정리 - MapReduce: Simplified Data Processing on Large Clusters

논문 정리 - The Google File System

kazoo: Using zookeeper api with python