일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준
- 블록체인
- 애너그램 그룹
- Make sure the Cursor is initialized correctly before accessing data for it.
- pwnable
- pwnable.kr
- 쏘큩
- Couldn't read row 0
- cmd2
- cmd1
- kotlin
- tlqkf
- SQLiteConstraintException
- col -1 from CursorWindow
- pwable.kr
- 클라우드란?
- python
- 코틀린
- 포너블
- Drive-By-Download
- UNIQUE constraint failed
- 액션바 필요없숴
- java.lang.IllegalStateException
- 파이썬
- 나이순 정렬
- 페니빙
- 클라우드가 뭐야
- 6566
- Docker
- 10814
- Today
- Total
푸르미르
[ModSecurity]3장 독을 품은 해커트랩 본문
허니트랩
허니트랩은 웹 애플리케이션의 전반에 걸쳐 심어져서 공격자에게 가상의 지뢰밭처럼 동작한다. 어떠한 상호작용이나 변경도 허용하지 않았으므로 상호작용한다면 확실히 의심해볼 수 있다.
허니트랩의 진정한 가치는 정상적인 사용자로부터 악성적인 사용자를 빠르게 구별할 수 있다는 점에서 나온다.
허니트랩의 이점
1.높은 정확도의 경고
2.적은 수의 경고
3.미탐을 식별
허니팟 포트를 추가해보자.
완전히 새로운 허니팟 시스템을 구축할 필요없이 현재의 웹 서버의 플랫폼을 쉽게 재사용할 수 있다. HTTP요청 트래픽을 받아들이는 네트워크 포트를 추가함으로써 허니트랩을 구현 할 수 있다. 이 포트들은 정상적인 목적을 가지고 있지 않으므로 수신한 어떤 트래픽이라해도 의심을 한다.
아파치 Listen 지시자: 아파치의 Listen지시자는 요청을 받아들이고자 하는 포트 또는 IP주소와 포트의 조합을 정의한다. 기본적으로 HTTP 80포트를 받아들이는 하나의 Listen지시자가 httppd.conf파일에 활성화 됐다. 바인딩된 모든 IP주소에 대해 리스닝하는 것을 방지하기 위해 특정 IP주소에 대해서만 리스닝하도록 변경한다.
ex)Listen 8000
그리고 setvar액션으로 IP영구저장소 컬렉션내에 변수를 설정하여 해당 클라이언트가 악의적이라고 표시한다.
ex)setvar:ip.malicious_client=1
클라이언트가 이 포트로 트래픽을 보낸다면, 해당 클라이언트가 악의적이라고 표시한다.
허니트랩 포트 기술은 클라이언트가 요청을 보내자마자 악성일 가능성을 알 수 있기 때문에 실제 애플리케이션의 조기 경보 시스템 역할을 한다. 이 정보를 바탕으로 즉시 클라이언트를 차단할 수 있으며, 감시 목록에 등록하고 이상 징후 점수를 증가시킬 수 있다.
이번에는ROBOTS.TXT에 가짜 DISALLOW항목을 추가해 클라이언트가 해당 위치에 접근을 시도하면 경고를 발생시키는 방법을 보여준다.
Robots예외표준
Robots예외표준은 웹사이트 소유자가 검색 엔진 크롤러에게 어떤 자원에 대해 인덱스를 허용하는지 알려주기 위해 만들어졌다.
Robots.txt라는 파일은 웹사이트의 도큐먼트 루트에 배치된다. 이 파일 내에서 사이트 관리자는 allow, disallow명령어를 포함해 웹크롤러에게 어떤 자원에 접근해야하는지 알려준다.
robots.txt.의 항목의 예시를 살펴보자.
User-agent:
Allow: /
User-agent: Googlebot
Disallow: /backup/
Disallow: /cgi-btn/
Disallow: /admin.bak/
Disallow: /old/
첫번째항목은 모든 크롤러에게 전체사이트를 접근하고 인덱스 할 수 있도록 허용한다는 의미이다.
두번째 항목은 구글의 Googlebot크롤러가 네개의 디렉터리에 접근해서는 안된다는 의미다. 이 디렉터리의 이름을 보면 이해한다. 이 디렉터리들은 웹사이트 소유자가 구글이 인덱스하기를 원하지 않는 민감한 데이터나 파일을 포함하고 있을 것이다.
Robots예외표준은 단지 제안사항이며 접근제어 기능을 제공하지 않는다. 외부클라이언트에게 웹사이트의 민감한 구역을 알려주면서 그들이 파고 들지 않도록 바라는 것인데, 이것이 문제인 것이다.
모드시큐리티를 통해 항목으로 허니트랩을 동적으로 삽입할 수 있다.
SecContentInjection On으로 하여, 모드시큐리티에게 실시간 스트림에 데이터를 추가하도록 활성화 시킨다. 그러면 가짜의 허니트랩을 추가하기위해 규칙을 사용할 수 있게된다. (append: 'Disallow: /db_backup.%{time_epoch} #Old DB crash data)
[출처]ModSecurity를 활용한 웹 애플리케이션 방어www.yes24.com/Product/Goods/33350329
'SECURITY > VaccineServerSecurity' 카테고리의 다른 글
[ModSecurity]6장 응답 데이터 분석 (0) | 2021.03.07 |
---|---|
[ModSecurity]5장 요청 데이터 분석 (0) | 2021.03.07 |
[ModSecurity]2장 취약점 확인 및 개선 (0) | 2021.02.19 |
[ModSecurity]1장 애플리케이션 요새화 (0) | 2021.02.19 |
[ModSecurity를 활용한 웹 애플리케이션 방어 레시피]책 후기 (0) | 2021.01.17 |