mod_security 1.9.x 버전에서 사진 첨부 불가시

리눅스/Security|2015. 1. 27. 08:58
반응형

mod_security-message: Access denied with code 403. Error processing request body: Multipart: final boundary missing [severity "EMERGENCY"]

 

로그파일에에 위와 같은 로그가 찍혀있다면 mod_security.conf 파일에서 아래 값으로 옵션을 수정해 줍니다.

 

SecFilterScanPost Off

 

반응형

댓글()

Modsecurity 로그분석 및 고급 룰 설정

리눅스/Security|2015. 1. 27. 08:57
반응형

파일 첨부


modsecurity_seminar_26.pdf


반응형

댓글()

modsecurity 2.5.12 / 2.7.0 / 2.9.1 설치

리눅스/Security|2015. 1. 27. 08:57
반응형

[root@sysdocu]# wget http://www.modsecurity.org/download/modsecurity-apache_2.5.12.tar.gz

[root@sysdocu]# tar xvzf modsecurity-apache_2.5.12.tar.gz

[root@sysdocu]# cd modsecurity-apache_2.5.12/apache2
[root@sysdocu]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apu=/usr/local/apache/bin/apu-1-config --with-lua
[root@sysdocu]# make
[root@sysdocu]# make install

 

1) 확인
    LoadModule security2_module    modules/mod_security2.so
 
2) 추가
    <IfModule mod_security2.c>
        Include conf/mod_security.conf
    </IfModule>

 


[에러]

apache 2.4 버전에 mod_security 2.5.12 를 설치하는중 아래와 같은 문제가 발생하였다.


[root@sysdocu]# make

/usr/local/apache/build/libtool --silent --mode=compile gcc -std=gnu99 -prefer-pic   -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/local/apache/include  -I/usr/local/apache/include   -I/usr/local/apache/include  -O2 -g -Wall -DWITH_PCRE_STUDY -DMODSEC_PCRE_MATCH_LIMIT=1500 -DMODSEC_PCRE_MATCH_LIMIT_RECURSION=1500 -I/usr/local/apache/include -I/usr/local/apache/include -I. -I/usr/local/src/APM_Setup/httpd-2.4.3/srclib/apr/include -I/usr/local/src/APM_Setup/httpd-2.4.3/srclib/apr-util/include -I/usr/local/pcre/include -I/usr/include/libxml2  -c -o mod_security2.lo mod_security2.c && touch mod_security2.slo

mod_security2.c: In function 'create_tx_context':

mod_security2.c:363: error: 'conn_rec' has no member named 'remote_ip'

mod_security2.c:364: error: 'conn_rec' has no member named 'remote_addr'

mod_security2.c: In function 'register_hooks':

mod_security2.c:1136: warning: passing argument 1 of 'ap_hook_error_log' from incompatible pointer type

/usr/local/apache/include/http_core.h:888: note: expected 'void (*)(const struct ap_errorlog_info *, const char *)' but argument is of type 'void (*)(const char *, int,  int,  apr_status_t,  const struct server_rec *, const struct request_rec *, struct apr_pool_t *, const char *)'

apxs:Error: Command failed with rc=65536

.

make: *** [mod_security2.la] 오류 1



[해결]

[root@sysdocu]# vi mod_security2.c

(363, 364 라인의 뒷부분의 remote 를 client 로 변경)


    msr->remote_addr = r->connection->client_ip;

    msr->remote_port = r->connection->client_addr->port;


[root@sysdocu]# vi apache2_util.c

(305 라인의 뒷부분의 remote 를 client 로 변경)


ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r->server,

            "[client %s] ModSecurity: %s%s [uri \"%s\"]%s", r->connection->client_ip, str1,

            hostname, log_escape(msr->mp, r->uri), unique_id);



그리고 make 진행..



그러나 httpd syntax 체크시 오류 출력..


지원되는 버전 문제로 보여 httpd 2.4 에는 mod_security 2.7.x mod_security 2.7.0 을 설치해서 해결함


mod_security 2.7


[root@sysdocu]# wget https://sourceforge.net/projects/mod-security/files/modsecurity-apache/2.7.0/modsecurity-apache_2.7.0.tar.gz

[root@sysdocu]# tar xvzf modsecurity-apache_2.7.0.tar.gz

[root@sysdocu]# cd modsecurity-apache_2.7.0

[root@sysdocu]# ./configure --with-apxs=/usr/local/apache/bin/apxs

[root@sysdocu]# make

[root@sysdocu]# make install



mod_security 2.9.1


[root@sysdocu]#./configure --with-apxs=/usr/local/apache/bin/apxs --with-pcre=/usr/local/pcre --with-apr=/usr/local/apache/bin/apr-1-config --with-apu=/usr/local/apache/bin/apu-1-config

[root@sysdocu]# make

[root@sysdocu]# make install



./configure 에서 잘 안되면 그냥 옵션 다 빼고 ./configure 만 해도 된다.



룰셋은 별도의 포스팅 참조..


반응형

댓글()

mod_security 화이트IP 등록

리눅스/Security|2015. 1. 27. 08:56
반응형

SecRule REMOTE_ADDR "^192.168.10.2" phase:1,nolog,allow,ctl:ruleEngine=Off

반응형

댓글()

Message: Rule execution error - PCRE limits exceeded (-8): (null).

리눅스/Security|2015. 1. 27. 08:56
반응형

modsecurity.log  에 아래와 같은 오류 메세지가 뜰때

 
[증상]

Message: Rule execution error - PCRE limits exceeded (-8): (null).

 
[해결1]

mod_security 설치시 아래 옵션을 추가하여 설치를 합니다.

[root@sysdocu ~]# ./configure --enable-pcre-match-limit=90000 --enable-pcre-match-limit-recursion=90000
[root@sysdocu ~]# make && make install 

그리고 아래 명령으로 확인이 가능합니다.

[root@sysdocu ~]# php -i | egrep -i pcre 

 

[해결2]

php.ini 를 수정합니다.

[Pcre]
pcre.backtrack_limit=1000000
pcre.recursion_limit=1000000  
 

반응형

댓글()

mod_security 아파치용 웹방화벽 설치 (2.5.13)

리눅스/Security|2015. 1. 26. 18:10
반응형
1. 다운로드
mod_security 다운로드 : http://www.modsecurity.org/download/
 
 
2. 설치
[root@sysdocu ~]# cd /usr/local/src
[root@sysdocu ~]# tar xvzf modsecurity-apache_2.5.13.tar.gz
[root@sysdocu ~]# cd modsecurity-apache_2.5.13
[root@sysdocu ~]# cd apache2
[root@sysdocu ~]# ./configure
[root@sysdocu ~]# make
[root@sysdocu ~]# make install
 
 
3. 설정
[root@sysdocu ~]# vi /usr/local/apache/conf/httpd.conf
 
1) 확인
    LoadModule security2_module    modules/mod_security2.so
2) 추가
    <IfModule mod_security2.c>
        Include conf/mod_security.conf
    </IfModule>
 
※ mod_security.conf 룰 파일은 본 홈페이지 [웹방화벽] - [modsecurity_rule] 에서 다운로드 가능합니다. 
 
httpd.conf 저장 후, Syntax 확인을 해봅니다.

[root@sysdocu ~]# /usr/local/apache/bin/httpd -t
Syntax OK

 
또는 아래와 같이 확인이 가능합니다.
 
[root@sysdocu ~]# curl --head http://localhost
HTTP/1.1 200 OK
Date: Wed, 11 May 2011 00:58:06 GMT
Server: Microsoft-IIS/5.0 PHP/5.3.3                           <- 가짜 정보들을 보여주고 있음
X-Powered-By: PHP/5.3.3                                         <- 가짜 정보들을 보여주고 있음
Content-Type: text/html                                             <- 가짜 정보들을 보여주고 있음
 
 
4. 아파치 구동
 
[root@sysdocu ~]# /usr/local/apache/bin/apachectl start
 


반응형

댓글()

ModSecurity Reference Manual - Version 2.1.7 / (April 2, 2008)

리눅스/Security|2015. 1. 26. 18:10
반응형

첨부파일 참조

 

[출처] modsecurity


modsecurity2-apache-reference.pdf


반응형

댓글()

ModSecurity 를 활용한 아파치 웹서버 보안 강화 안내서 - KrCERT

리눅스/Security|2015. 1. 26. 18:09
반응형

문서 작성일 : 2009.04.29


ModSecurity 안내서_090429.pdf


반응형

댓글()

mod_security 아파치용 웹방화벽 설치 (2.1.7)

리눅스/Security|2015. 1. 26. 18:09
반응형
사전 설치 항목
미리 설치되어있어야 하는 항목입니다.
확인을 먼저 해보고 설치가 되어있지 않을경우, mod_security보다 우선 설치를 진행합니다.
 
1) mod_unique_id
    확인 : httpd.conf 내용중 LoadModule unique_id_module   modules/mod_unique_id.so
                                               LoadFile /usr/lib/libxml2.so    <- 이것만 없을경우 써주면 됩니다.
    없을 경우 : httpd 소스디렉토리의 modules/metadata 디렉토리로 이동
                         # cd /usr/local/src/httpd-2.2.8/modules/metadata
                         # /usr/local/apache/bin/apxs -cia mod_unique_id.c
 
2) 패키지 설치
    - libxml2
    - lua
    - pcre
    - pcre-devel
    - apr*
    확인 및 설치 : # yum -y install libxml2 lua pcre pcre-devel apr*
 

1. 다운로드
mod_security 다운로드 : http://www.modsecurity.org/download/
 
 
2. 설치
[root@sysdocu ~]# cd /usr/local/src
[root@sysdocu ~]# tar xvzf modsecurity-apache_2.1.7.tar.gz
[root@sysdocu ~]# cd modsecurity-apache_2.1.7
[root@sysdocu ~]# cd apache2
[root@sysdocu ~]# vi Makefile
  내용중
  top_dir      = /usr/local/apache    <- 아파치 홈디렉토리로 수정
[root@sysdocu ~]# /usr/local/apache/bin/apxs -cia mod_security2.c
 
 
3. 설치 확인
[root@sysdocu ~]# vi /usr/local/apache/conf/httpd.conf
 
1) 확인
    LoadModule security2_module    modules/mod_security2.so
2) 추가
    <IfModule mod_security2.c>
        Include conf/mod_security.conf
    </IfModule>
 
※ mod_security.conf 룰 파일은 본 홈페이지 [웹방화벽] - [modsecurity_rule] 에서 다운로드 가능합니다. 
 
httpd.conf 저장 후, Syntax 확인을 해봅니다.

[root@sysdocu ~]# /usr/local/apache/bin/httpd -t
Syntax OK

 
또는 아래와 같이 확인이 가능합니다.
 
[root@sysdocu ~]# curl --head http://localhost
HTTP/1.1 302 Found
Date: Fri, 04 Sep 2009 04:20:47 GMT
Server: Microsoft-IIS/6.0                           <- 가짜 정보들을 보여주고 있음
X-Powered-By: ASP.NET                        <- 가짜 정보들을 보여주고 있음
X-AspNet-Version: 2.0.50727                  <- 가짜 정보들을 보여주고 있음
 
4. 아파치 구동
 
[root@sysdocu ~]# /usr/local/apache/bin/apachectl start
 


반응형

댓글()

mod_security 아파치용 웹방화벽 설치 (1.9.5)

리눅스/Security|2015. 1. 26. 18:09
반응형

1. 다운로드

mod_security 다운로드 : http://www.modsecurity.org/download/
 
 
2. 설치
[root@sysdocu ~]# cd /usr/local/src
[root@sysdocu ~]# tar xvzf modsecurity-apache_1.9.5.tar.gz
[root@sysdocu ~]# cd modsecurity-apache_1.9.5
 
apache 버젼에 따라 하위 경로를 선택합니다.
apache 1.x 의 경우 apache1
apache 2.x 의 경우 apache2
 
(여기에서는 apache 2.x 의 버젼이 사용중이니까 apache2 로 선택하겠습니다.)
[root@sysdocu ~]# cd apache2
[root@sysdocu ~]# /usr/local/apache/bin/apxs -cia mod_security.c
 
 
3. 설치 확인
[root@sysdocu ~]# vi /usr/local/apache/conf/httpd.conf
 
1) 확인
    LoadModule security_module    modules/mod_security.so
2) 추가
    <IfModule mod_security.c>
        Include conf/mod_security.conf
    </IfModule>
 
※ mod_security.conf 룰 파일은 본 홈페이지 [웹방화벽] - [modsecurity_rule] 에서 다운로드 가능합니다. 
 
httpd.conf 저장 후, Syntax 확인을 해봅니다.

[root@sysdocu ~]# /usr/local/apache/bin/httpd -t
Syntax OK

 
또는 아래와 같이 확인이 가능합니다.
 
[root@sysdocu ~]# curl --head http://loalhost
HTTP/1.1 302 Found
Date: Fri, 04 Sep 2009 04:20:47 GMT
Server: Microsoft-IIS/6.0                           <- 가짜 정보들을 보여주고 있음
X-Powered-By: ASP.NET                        <- 가짜 정보들을 보여주고 있음
X-AspNet-Version: 2.0.50727                  <- 가짜 정보들을 보여주고 있음
 
4. 아파치 구동
 
[root@sysdocu ~]# /usr/local/apache/bin/apachectl start
 


반응형

댓글()

mod_security 다운로드

리눅스/Security|2015. 1. 26. 18:08
반응형

다운로드 (파일 첨부)

mod_security-1.9.5.tar.gz

mod_security-2.1.7.tar.gz

 

모든 버젼 다운로드

http://sourceforge.net/projects/mod-security/files/

 


mod_security-1.9.5.tar.gz


mod_security-2.1.7.tar.gz


반응형

댓글()