Splunk 다운로드 링크
https://www.splunk.com/ko_kr/products/splunk-enterprise.html
Splunk 접속 http://127.0.0.1:8000
HTTP 메세지 구조
HTTP Request
- 요청라인(Method)
- 요청헤더
- 공백
- Body (Request의 Body 부분은 볼 수 없다.)
Method 종류
GET | 요청 정보가 URL에 표시되어 보안성이 낮다. |
POST | 요청 정보가 Body에 들어간다. URL로 전송하지 않기에 다른 사용자가 볼 수 없다. |
HEAD | 서버 측 데이터(웹 서버 정보, healthy check 등)를 검색하고 요청하는데 사용한다. Body 없이 응답코드와 HEAD로만 응답을 받는다. |
OPTIONS | Body가 없이 서버에서 지원되는 메소드 종류를 확인할 수 있다. |
PUT | 보통 파일을 서버로 넘길 때 사용하기 때문에 보안 상의 문제가 있다. |
DELETE | URL에 서버의 파일을 지정하면 파일을 삭제할 수 있다. |
HTTP Response
- 상태라인(응답코드)
- 응답헤더
- 공백
- Body
응답코드
100번대 | 정보 전송 | 실험 용도 외에는 100번대 서버 측의 응답은 없다. |
200번대 | 성공 | 클라이언트의 요청이 성공적으로 수신 및 처리되었음을 의미한다. |
300번대 | 리다이렉션 | 해당 요청을 처리하기 위해 클라이언트가 수행해야 할 추가 작업이 있음을 의미한다. |
400번대 | 클라이언트 에러 | 클라이언트측의 오류가 발생했을 때 사용한다. |
500번대 | 서버 에러 | 서버측에서 발생한 오류나 클라이언트의 요청 사항을 제대로 처리할 수 없을 때 사용한다. |
Splunk는 SIEM(Security Information & Event Management) 중 하나로 대용량의 다양한 형태의 로그를 수집하여 상관 관계를 분석하는 솔루션이다.
경고(alert)를 통해 관리자 알림과 함께 로그 저장이 가능하고, 저장된 로그를 통해 보고서와 대시보드를 생성할 수 있다.
로그 예제
1) HTTP Method
보통 대부분의 요청 메소드는 GET과 POST를 사용한다.
클라이언트가 많이 사용하지 않는 메서드는 공격자의 정보 수집 행위이거나, 정상적인 사용 범위가 아닐 수 있다.
(HEAD와 OPTION과 같은 메서드는 서버의 정보를 파악할 수 있는 메서드이다.)
index=httplog sourcetype=httplog uri!="-"
| top method limit=10 showperc=f
index=httplog sourcetype=httplog uri!="-"
✍🏻 http 로그가 정의되어 있는 인덱스와 소스타입을 검색한다. (사용자 정의로 HTTP 로그를 추가했음)
✍🏻 uri 필드 값이 "-" 가 아닌 로그만 검색을 하는데, "-" 는 없음을 의미한다.
| top method limit=10 showperc=f
✍🏻 상위 10개의 메서드를 검색한다. showperc=f 옵션을 주어 각 값이 차지하는 퍼센트를 구하지 않도록 한다. (f는 false를 의미)
2) 클라이언트 오류
index=httplog sourcetype=httplog uri!="-" uri!="/"
(status_code >=400 AND status_code < 500)
| top domain, status_code limit=10 showperc=f
(status_code >=400 AND status_code < 500)
✍🏻 클라이언트 오류 상태코드는 400번대이다. status_code 필드 값을 400 이상 500 미만으로 주는 것은 클라이언트 오류를 검색한다는 의미가 된다.
| top domain, status_code limit=10 showperc=f
✍🏻 도메인을 기준으로 상위 10개의 값을 검색하고, 퍼센트율을 보여주지 않는다.
3) 서버 오류
index=httplog sourcetype=httplog uri!="-" status_code >= 500
| top domain, status_code limit=10 showperc=f
status_code >= 500
✍🏻 status_code를 500 이상으로 주어 500번대 상태코드인 서버 오류를 검색한다.
'Security > Network' 카테고리의 다른 글
2014-11-16 TRAFFIC ANALYSIS EXERCISE ANSWERS (0) | 2023.06.05 |
---|---|
Modsecurity 설치 및 차단 테스트 (1) | 2023.06.04 |
OSSEC 설치 및 설정하기(시나리오) (0) | 2023.06.03 |
Suricata 설치 및 설정 (0) | 2023.06.01 |
Suricata rule 구조 (0) | 2023.06.01 |