Network

ModSecurity 4장_평판 및 서드파티 연관성

dalgorithm 2021. 2. 27. 21:40
728x90

의심스러운 소스 식별

: 클라이언트의 위치를 식별하는 것은 사용자의 의도에 대한 단서를 제공할 수 있다. 클라이언트의 IP 주소 정보로부터 얻은 GeoIP 데이터를 사용하는 방법을 다룬다. IP 주소는 컴퓨터의 트래픽을 라우팅하는 데 사용된다. IP 주소가 정확도 논쟁의 여지가 있지만 지오로케이션을 통해 실제 지리적 위치와 연결할 수 있다. 

 

◼ 클라이언트의 지리적 위치 정보 데이터 분석

: 지리적 위치를 식별하기 위해 맥스마인드 GeoIP 데이터 베이스 데이터를 사용한다. GeoIP 데이터를 ModSecurity에서 활용하려면 SecGeoLookupDb 지시자를 이용해 데이터를 불러와야한다. 위 지시자를 설정하고 나서 클라이언트와 IP 주소를 ModSecurity의 @geoLookup 연산자로 전달하는 규칙을 작성해야한다. 이 규칙이 수행되고 나서, GEO 변수 컬렉션 데이터에 GeoIP 데이터베이스에서 추출한 데이터가 채워진다.

 

명시적으로 허용되거나 허용되지 않는 지오로케이션

: 웹애플리케이션 목적에 따라 특정 국가와 사업하는 것에 대한 구체적인 규정이나 법적 제한이 있을 수 있다. 

다음과 같은 규칙을 구현해 미국으로부터 오는 트랜잭션을 명시적으로 허용하지 않을 수 있다.

 

SecRule GEO:COUNTRY_CODE3 "@streq USA" 

"id: '11',phase:999016,t:none,log,block,msg:'Client IP from USA'"

 

부정 사용/위험 점수 할당

: 클라이언트의 국가에 따라 부정 사용 가능성을 평가하기 위해 공공 부정 사용 조사 데이터를 사용하여 특정 지리적 지역에 일반적인 위험 점수를 할당할 수 있다. 

 

- 중국, 우크라이나, 인도네시아, 유고슬라비아, 리투아니아, 이집트, 루마니아, 불가리아, 터키, 러시아

 

위와 같은 국가의 클라이언트 접근을 명시적으로 거부하는 대신 국가에서 발생하는 요청이나 세션에 증가된 이상 징후 점수를 할당할 수 있다. ModSecurity의 setvar 액션을 사용한다.

 

사용자별 GeoIP 추적

: 부정 사용 탐지를 위해 GeoIP 데이터를 사용하는 또 다른 방법은 정상적인 지리적 위치 데이터를 추적하는 것이다. 이는 단순히 사용자가 애플리케이션에 로그인하는 시점의 사용자 위치 정보를 추적하는 것이다. 위치 정보가 반복돼 임계치에 도달하면 이 지역을 정상으로 분류한다. 그리고 차후 로그인 시 현재 지역이 정상 목록에 포함되어 있지 않다면 부정 사용 경고를 발생시킬 수 있다. 

 

◼ 악성 링크 탐지

: 서드파티 RBL을 사용해 클라이언트가 보내거나 사이트에서 제공되는 악성 URL을 식별하는 방법이다. RBL은 Real time Blacklist Lookups로 실시간 블랙리트 조회이다. RBL은 정보를 공유하기 위해 DNS 프로토콜을 사용한다. 

 

RBL 클라이언트는 클라이언트의 IP 주소의 역순을 조회 이름으로 해서 RBL 서버로 DNS 요청을 보낸다. 

 

 의심스러운 URL 식별

: 알려진 악성 URL을 식별하기 위해서는 공격자의 IP 주소 대신 악성 URL 및 사이트를 추적하는 서드파티 RBL 서비스를 사용해야한다. 


출처: ModSecurity를 활용한 웹 애플리케이션 방어레시피_라이언 바넷 지음

728x90