Cenots 6.10에서 httpd24를 사용하여 mod_evasive 및 mod_security를 설치하려고 시도했지만 실패했습니다.
나는 이 해결책을 시도했습니다:https://github.com/shivaas/mod_evasive, 다운로드: mod_evasive24.c $APACHE_ROOT/bin/apxs -i -a -c mod_evasive24.c
다음 메시지가 나타납니다.
/usr/lib64/apr-1/build/libtool --silent --mode=컴파일 gcc -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fExceptions -fstack-protector --param= ssp-buffer-size=4 -m64 -mtune=generic -Wformat-security -fno-strict-aliasing -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -pthread -I/usr/include/httpd -I/usr/include/apr- 1 -I/usr/include/apr-1 -c -o mod_evasive24.lo mod_evasive24.c && touch mod_evasive24.slo mod_evasive24.c: 함수 'create_hit_list': mod_evasive24.c:122: 경고: non을 반환하는 함수에서 반환 없음 명령문 void mod_evasive24.c: 'access_checker' 함수에: mod_evasive24.c:146: 오류: 'request_rec'에 'useragent_ip'라는 멤버가 없습니다. mod_evasive24.c:150: 오류: 'request_rec'에 ' mod_evasive24.c라는 멤버가 없습니다: 162: 오류: 'request_rec'에는 'useragent_ip'라는 멤버가 없습니다. mod_evasive24.c:162: 오류: 'request_rec'에는 'useragent_ip'이라는 멤버가 없습니다. mod_evasive24.c:162: 오류: 'request_rec'에는 'useragent_ip'이라는 멤버가 없습니다. mod_evasive24.c:169: 오류: ârequest_recâ âuseragent_ipâ라는 이름이 없습니다. mod_evasive24.c:184: 오류: ârequest_recâ âuseragent_ipâ라는 이름이 없습니다. mod_evasive24.c:191: 오류: ârequest_recâ âuseragent_ipâ라는 이름이 없습니다. mod_evasive24.c:191: 오류: ârequest_re 이름이 없어요 âuseragent_ipâ mod_evasive24.c:2 12: 오류: 'request_recâ' 'useragent_ip'라는 이름이 없습니다. mod_evasive24.c:219: 오류: 'request_rec'에는 'useragent_ip'라는 이름의 멤버가 없습니다. mod_evasive24.c:225: 오류: 'request_rec'에는 'useragent_ip'라는 멤버가 없습니다. mod_evasive24.c:226: 오류: 'request_rec' "'useragent'_ipâ mod_evasive24.c:232: 오류: 'request_rec'에는 'useragent_ip'라는 멤버가 없습니다. mod_evasive24.c:233: 경고 : warning_unused_result 속성으로 선언된 'system'의 반환 값 무시 mod_evasive24.c: 'destroy_hit_list' 함수에서: mod_evasive24.c:305: 경고: void가 아닌 apxs를 반환하는 함수에 반환 문이 없습니다: 오류: rc=65536으로 명령이 실패했습니다.
답변1
CentOS 6은 약간 구식이므로 CentOS 7로 업그레이드하는 것이 가장 좋습니다. Apache 2.4에서 Apache 2.2 도구를 사용하는 데 문제가 있는 것 같습니다.
문제를 해결하기 위한 몇 가지 질문:
- CentOS 6을 사용하고 있다면 7로 업그레이드하는 것이 좋습니다.
- 에는
mod_evasive
해당 소프트웨어 패키지가 있습니다. - 정보
mod_security
, 어려움은 설치가 아니라 구성입니다.적절하게, 현재 사이트/솔루션을 중단하지 않고.
CentOS 7에 mod_evasive 및 mod_security를 설치하려면 먼저 EPEL 저장소를 활성화해야 합니다.
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-7*.rpm
그런 다음 다음을 수행하십시오.
sudo yum --enablerepo=epel install mod_evasive mod_security mod_security_crs
구성에 대해서는 mod_evasive
다음을 참조하세요.Apache 대신 로드 밸런서를 사용하여 특정 IP의 트랜잭션을 제한합니다.
에 관해서는 mod_security
기본적으로 이벤트만 기록합니다. 활성화하려면 설치 후 Apache를 편집 /etc/httpd/conf.d/mod_security.conf
하고 변경한 SecRuleEngine
후 On
다시 시작해야 합니다.
그러나 SecRuleEngine
그렇게 할 준비가 되어 있지 않다면 활성화하지 않는 것이 좋습니다.:
mod_security
자체 디버깅;- 웹사이트의 특정 부분이 작동하지 않는 이유를 이해하세요.
- 기본 구성에서 비활성화할 해당 규칙을 수정/추적합니다
mod_security
.