반응형

 

  • APache + ModSeucirty OWASP 룰셋 적용 (IDS, ModSecurity SQL Injection, modsecurity detection mode)

룰셋 적용 후 차단하는 방식(IPS)가 아니라, 탐지된 내용을 로깅만 하는 방식(IDS)으로 구성 합니다.

룰셋 적용 자체에 큰 어려움은 없기에 하나하나 자세히 설명하기보다는 코드블럭에 주석처리로 간단히 설명만 해두었습니다. 적용 이후에 공격을 시도하면 /var/log/httpd/modsec.log 파일에서 공격이 탐지되는것을 확인할 수 있습니다.

## OWASP 룰셋 설치
cd /etc/http
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

mkdir /etc/http/modsecurity.d
mkdir /etc/http/modsecurity.d/activated_rules

cd owasp-modsecurity-crs
mv crs-setup.conf.example /etc/http/modsecurity.d/crs-setup.conf

cd rules
mv ./* /etc/http/modsecurity.d/activated_rules/
cd /etc/http/modsecurity.d/activated_rules/
mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf

## OWASP 룰셋 적용
vim /etc/http/conf.d/mod_security.conf
<IfModule mod_security2.c>
        Include /etc/httpd/modsecurity.d/crs-setup.conf # 반드시 아래 *.conf보다 위로 올라와야 합니다.
        Include /etc/httpd/modsecurity.d/activated_rules/*.conf
        SecRuleEngine DetectionOnly # On으로 설정할 경우 차단까지 되며, DetectionOnly로 해주어야 탐지만 합니다.
        SecAuditEngine On
        SecAuditLog /var/log/httpd/modsec.log
        SecAuditLogType Serial
        SecRequestBodyAccess on
        SecAuditLogParts ABIJDFHZ
        SecDataDir /tmp/mod_data
</IfModule>
:wq

vim /etc/http/conf/httpd.conf
LoadModule security2_module modules/mod_security2.so  ## 전 57라인에 넣었습니다.
:wq

systemctl restart httpd

 

반응형
반응형

 

  • 아파치 modsecurity2 소스 설치 (apache modsecurity2 install)

아래와 같이 의존성 및 컴파일을 위한 패키지를 설치 해줍니다.

yum -y install gcc gcc-c++ httpd-devel pcre-devel
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar xvfz pcre-8.00.tar.gz

cd pcre-8.43
./configure --prefix=/usr/local/pcre
make
make install

 

이후 아래와 같이 modsecurity2를 직접 설치 합니다. 만약, libxml 에러가 발생할 경우 아래 링크를 참고하여 해결해주신 후 진행 하시면 됩니다.

modsecurity libxml 에러 발생 시 : https://nirsa.tistory.com/215

yum -y install gcc-c++ httpd-devel pcre-devel libxml2-devel
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
tar -zxvf modsecurity-2.9.1.tar.gz
cd modsecurity-2.9.1
./configure
make
make install

 

반응형
반응형

 

  • 아파치 modsecurity2 설치 시 에러 "checking for libxml2 config script... no configure: *** xml library not found. configure: error: libxml2 is required"

해당 에러는 modeseucirty2 소스 설치 시 libxml 2.6.29 이하 버전일 경우 발생할 수 있습니다. 아래와 같이 상위 버전을 설치받아 해결하실 수 있습니다.

cd /usr/local/src
wget ftp://xmlsoft.org/libxml2/libxml2-2.7.7.tar.gz
tar xvzf libxml2-2.7.7.tar.gz 
cd libxml2-2.7.7
./configure --prefix=/usr/local/xml 
make && make install
cp modsecurity.conf-recommended /etc/httpd/conf/modsecurity.conf

 

rpm -qa | grep libxml 으로 확인할 때 이미 상위 버전을 사용중이라면 아래 패키지를 설치하여 에러를 해결할 수 있습니다.

 yum -y install libxml2-devel

 

반응형
반응형

 

  • Apache modsecurity2 설치 시 에러 "configure: error: couldn't find APXS"

modseucirty 소스 설치 시 "configure: error: couldn't find APXS" 에러가 발생할 경우 아래 패키지를 설치하시면 해결할 수 있습니다.

yum -y install httpd-devel

 

반응형

+ Recent posts