컴퓨터 / Computer

웹 방화벽 Mod_security 설치

0_fivEmSUN_cafc0046fceae53820e6e11ed19a3a0d3034ec3c.jpg 


db injection 등 80포트를 통해서 지속적으로 공격이 들어온다면 "웹 방화벽"이 필요하다.

 

설치 순서는 아래와 같다.

 

1) yum.repo 설정

  -> 문서 참조 : 

     http://www.7-star.net/bbs/board.php?bo_table=talk_computer&wr_id=725 

     https://www.oss.kr/info_install/show/1cc9689a-f1bb-4d0d-8ac9-bfb8e3b4313f

  일단 yum으로 설치를 하기 전에 저장소를 추가 해야 한다. 

 

2) 설치하기

 예전에는 소스를 다운 받아 컴파일을 했는데 요새는 yum 을 통해서 간단하게 설치할 수 있다. 1)에서 저장소를 갱신했다면 아래와 같이 입력만 하면 된다.

 

   yum install mod_security

 

제대로 설치하면 아래 파일과 폴더가 생긴다.

 

 - mod_security 설정 파일 : /etc/httpd/conf.d/mod_security.conf

 - 규칙 파일 : /etc/httpd/modsecurity.d

 - 동작 확인 : /var/log/httpd/modsec_audit.log 로그 확인 (이 파일은 아파치를 다시 실행해야 생성된다 )

 

3) 규칙 다운 받기 및 업로드

 

 - KISA 기준 룰 : 파일 첨부 및 다운로드(http://jnstory.net/1241). 대부분 저 룰을 쓴다고 한다. 

 

 룰을 다운 받아 살짝 수정을 한 후 아래 폴더에 업로드 한다.

 

  /etc/httpd/modsecurity.d/activated_rules


 여기서는  modsecurity.conf 로 파일명을 만들었다. 

 

 * 일단 2.x 버전용으로 수정한 conf 파일과 KISA 표준 규칙을 첨부했다.

 

 

4) 적용 확인

 

 - 브라우저 주소창에 "도메인/etc/passwd" 를 입력했을때 406에러가 발생하면 정상 동작 ( 동작하지 않으면 404 에러 나옴 )

 - 예를 들어 http://www.7-star.net/etc/passwd 를 주소창에 입력해 본다. 그러면 406 에러가 뜬다.

 

 

 

Comments

공유지기 2018.01.25 01:38
KISA의 규칙이 모든 사이트에 똑같이 적용되진 않으니, 아파치 버전과 mod_security 버전, php 버전 및 사용 환경에 맞게 규칙을 찾아서 적용시켜야 한다.
이야기꾼 2018.01.25 14:16
이게 mod_security 버전이 2.6과 2.7에 따라 규칙이 많이 다릅니다.
공유지기 2018.01.29 10:54
쇼핑몰일 경우 http/cond.f/modsecurity.conf 에서 아래로 처리하는게 좋다.


SecRequestBodyAccess Off
이야기꾼 2020.08.06 01:01
외부에서 파일을 불러올때(이를테면 스마트에디터 같은)  아래와 같은 메시지가 나온다면

413 Request Enity too large
does not allow request data with post request, or the amount of data provided in the request excceds the capacity limit

아래 항목을 mod_security.conf 에서 아래 항목을 수정한다.

SecRequestBodyInMemoryLimit

이를테면 아래과 같이.

SecRequestBodyInMemoryLimit 1310720000
이야기꾼 2020.08.06 01:02
출처 : https://sir.kr/g5_tip/10564?page=9

3M 5611N VHB 아크릴 폼 양면테이프 48mm x 11M
바이플러스
자동차 주차번호판 전화번호판
칠성상회
야야 지오스 K400 폴딩 킥스쿠터 블랙
칠성상회
펜탈 아인 하이폴리머 ZEH-99 특대형 점보 지우개
칠성상회