mod_security가 좋은가요?


9

최근에 mod_security의 잘못된 오류 메시지가 자주 발생했습니다. 필터 세트는 오래된 PHP 익스플로잇을 포함하며 Wordpress & Co는 몇 년 전에 버그가 있었기 때문에 내용을 다시 작성해야합니다.

이것은 다른 사람에게 발생합니까?

Apache mod_security는 위험한 HTTP 요청이 애플리케이션 (PHP)에 도달하기 전에 차단합니다. 대부분 정규식 기반의 다양한 필터 세트를 사용합니다.

그래서 기술적으로 적절한 공유 호스팅 제공 업체가 있습니다. 그러나 이것은 나를 괴롭혔다.

지난주에 &src=mod_security가 모든 요청을 차단하기 때문에 내 앱 중 하나에서 매개 변수 이름을 변경 해야했습니다. 세부 사항을 찾지는 않았지만이 필터 규칙은 내가 사용하지 않았고 들어 보지 못한 다른 앱의 악용 가능성을 막고있었습니다. 여전히 나는 그것과 관련이 없거나 공통적 인 내 코드 (이름 변경 매개 변수는 종종 mod_security를 ​​속이기에 충분합니다) 를 다시 작성 해야했습니다!

그리고 오늘, php 샘플 코드를 제출하고 싶었 기 때문에 어리석은 정규 표현식이 양식 제출을 차단합니다. 주어진 것은 mod_security가 보호해야 할 간단한 것들입니다. 그러나 mod_security가 심각하게 난독 화 된 코드를 감지 할 수 있다고 생각하지 않으며 명백한 (이 경우 완전히 사소한) PHP 스 니펫에서 벗어납니다.

다른 사람들이 버그가 발생하기 쉬운 앱을 출시했기 때문에 기본적으로 mod_security에 의해 처벌을 받고 있습니다. (내 앱이 매우 안전하다고 말하지는 않습니다. 보안이 매우 중요하지만 쌍곡 주장을하지는 않습니다.)
이미 서비스 제공 업체에 사용 중지하도록 요청했습니다. 이점은 IMO와 앱의 이점이 너무 적습니다.


어떻게 생각해? mod_security는 WP 호스팅 외부에서 의미가 있습니까? 아니면 실제로 오랫동안 통과 한 보안 버그의 블랙리스트에 불과합니까? 실제로 도움이되는 규칙은 무엇입니까? 동등한 응용 프로그램 수준이 있습니까?


1
문자열을 인쇄해도 <?php doBadStuff(); ?>해당 기능이 실행되지 않기 때문에 PHP 코드 제출은 어리 석습니다 . ( eval어쨌든 사악한 코스 를 사용하지 않는 한 )
DisgruntledGoat

@DisgruntledGoat : 아니면 두 개의 잘못된 경보 때문에 다시 너무 심술 been었을 수도 있습니다. 결국 mod_security는 여전히 MS-DOS 바이러스 시그니처를 가지고있는 바이러스 스캐너와 같습니다. 대부분 도움이되지 않지만 랜덤 익스플로잇 스캐너와 가끔 발생하는 badbadstuff ()를 잡는가? 또는 : :
마리오

답변:


3

나는 개인적으로 mod_security를 ​​패치로 본다. 업로드 된 코드 (예 : 공유 호스팅 서버)를 제어 할 수없는 일부 서버에서 사용하지만 실제로는 나에게 좋은 해결책처럼 느껴지지 않습니다. 광범위하고 매우 일반적인 블랙리스트 접근 방식을 기반으로, 좋은 보안 정책보다 보안 허점을 덮는 패치입니다.

또한 잘못된 보안 감각을 제공 할 수 있습니다. mod_security는 몇 가지 일반적인 공격을 나타낼 수는 있지만 어떠한 공격도 막을 수는 없습니다. 다시 한 번 알려진 일반적인 공격의 블랙리스트입니다. 단순히 mod_security를 ​​설치하고 마술처럼 안전하다고 생각한다면 끔찍한 실수입니다.

팀에서 많은 로그, 로그 파일 분석,보고 시스템 및 침입 탐지 / 침입 방지 시스템 (IPS)과 함께 모든 코드를 검토하는 관리되는 서버에 대해 훨씬 더 나은 정책을 찾았습니다. 매번 타사 또는 오픈 소스 소프트웨어는 (내가 찾고 있어요 설치 하면 우리가이 설치된 위치의 로그를 유지, 워드 프레스!), 새로운 버전이 출시 될 때 우리는 설치된 모든 사본을 업데이트합니다.

다시 말하지만, 지금 경험하는 것처럼 공유 호스팅 서버에서 mod_security를 ​​찾을 가능성이 큽니다. 성장함에 따라 VPS 또는 클로드 기반 호스팅 제공 업체로 이동하여 자체 관리 환경을 구축하고 사용 가능한 소프트웨어를보다 엄격하게 제어 할 수 있습니다.


그것이 저에게 어떤 느낌입니다. 공유 호스팅 계정을 서로 보호하려면 suexec + fastcgi가 일반적으로 더 적합합니다. VPS 및 모든 사용자 지정 코드를 사용하는 경우 mod_security는 거의 도움이되지 않습니다 (몇몇 HTTP 준수 검사는 수행함). 종합 로그 +1
마리오

0

내 생각에 프로그래밍에 초보자라면 mod_security를 ​​사용하는 것이 좋습니다.하지만 응용 프로그램을 올바르게 작성하고 eval을 사용하거나 GET 문자열을 SQL에 직접 연결하는 안전하지 않은 코드를 작성하지 않는 경우 괜찮습니다. 그것. mod_security는 심각한 해커를 막을 수 없으며 좋은 응용 프로그램이 있으면 스크립트 키디가 포기하고 다음에 약하고 안전하지 않은 다음 응용 프로그램으로 넘어갑니다.


다운 투표를 설명하지 않는 방법>. <
Brandon Wamboldt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.