ModSecurity는
시스템 소프트웨어, 보안, modsecurity -> Open Source Web Application Firewall.
웹 서비스를 통해서 공격을 시도하는 XSS, SQL Injection, Command Execute과 같은 공격을
효과적으로 차단하는 역할을 수행하는 보안 모듈이며, Apache HTTP 서버, 마이크로소프트
IIS 및 NGINX에서도 사용 가능 하다고 한다.
[사전 설치]
pcre, apr, apr-util, libxml2, pcre-devel, libxml2-devel, curl-devel
yum install pcre
yum install pcre-*
yum install apr-* apr
yum install libxml2 libxml2-*
yum install curl-devel
[설치]
- 환경 : modsecurity(v2.9.2), apache24(httpd-2.4.41), centos7
1. apache 설치
https://httpd.apache.org/download.cgi#apache24 -> 다운로드 링크 복사 : http://mirror.navercorp.com/apache//httpd/httpd-2.4.41.tar.gz
~]# wget http://mirror.navercorp.com/apache//httpd/httpd-2.4.41.tar.gz
~]# tar xvf httpd-2.4.41.tar.gz
~]# cd httpd-2.4.41
~]#./configure --prefix=/app/web/apache24 --with-mpm=worker --enable-mods-shared=all
<- 결과에 에러나 정상적인 동작이 진행 안되면,
libc6-dev, g++, gcc 설치해보기
~]# make & make install
~]# cd /app/web/apache24 <- 아파치 설치 경로 이동
~]# vi /app/web/apache24/conf/httpd.conf
-> ServerName {hostname} 지정해주기
~]# ./apachectl -t <- 신택스 테스트 하기
~]# ./apachectl start <- 서버 시작
~]# ps -ef | grep httpd
~]# curl localhost
2. ModSecurity 모듈 설치
https://www.modsecurity.org/download.html -> 다운로드 링크 복
사 : https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz
~]# wget https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz
~]# tar xvf modsecurity-2.9.3.tar.gz
~]# cd modsecurity-2.9.3
~]# ./configure --with-apxs=/app/web/apache24/bin/apxs
~]# cp modsecurity.conf-recommended /app/web/apache24/conf/modsecurity.conf
~]# cp unicode.mapping /app/web/apache24/conf/
~]# cd /app/web/apache24/modules/
~]# ls -lart
-> modsecurity 모듈 생성 유무 확인
3. 아파치, ModSecurity 연동
3-1. httpd.conf에 해당 모듈 추가
~]# vi /app/web/apache24/conf/httpd.conf
(mod_security2.so, mod_unique_id.so 추가)
~]# ./apachectl -M | grep security
4. 룰셋 다운로드 및 적용
- owasp crs 사용
~]# cd /app/web/apache24/
~]# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
(yum install git)
4.1 OWASP 룰셋 파일 설정
~]# cd /app/web/apache24/owasp-modsecurity-crs
~]# cp crs-setup.conf.example crs-setup.conf <-파일 복사
~]# echo Include owasp-modsecurity-crs/crs-setup.conf >> /app/web/apache24/conf/httpd.conf <- httpd.conf 내용 수정
~]# echo Include owasp-modsecurity-crs/rules/*.conf >> /app/web/apache24/conf/httpd.conf <- httpd.conf 내용 수정
~]# vi /app/web/apache24/owasp-modsecurity-crs/crs-setup.conf
해당 옵션 추가
SecRuleEngine On
SecAuditEngine On
SecAuditLog /app/web/apache24/logs/modsec_audit.log
SecAuditLogParts ABCFHZ
SecDataDir /tmp
~]# cd /app/web/apache24/bin
~]# ./apachectl -t <- 신택스 검사
~]# ./apachectl stop <- 서비스 중지
~]# ./apachectl start <- 서비스 시작
~]# ps -ef | grep httpd <- 서비스 정상 동작 확인
6. ModSecurity 로그 확인
~]# cd /app/web/apache24/logs
~]# cat modsec_audit.log
'스마트웹앱콘텐츠전문가 > 웹서버' 카테고리의 다른 글
mod_jk 설치 생성 (0) | 2020.07.02 |
---|---|
[tomcat] ~fileupload.FileUpoadBase~ SizeLimitExceedException (0) | 2020.05.18 |
[문자열 조회 시,특정 문자열을 제외하고 싶을 때] (0) | 2020.05.18 |
[리눅스]계정의 패스워드 만료일 갱신 및 확인 (0) | 2020.02.25 |
[centos]netstat명령어 not found 경우 (0) | 2019.12.03 |