문제

예: 사용하는 것이 더 안전합니까? mod_php 대신에 php-cgi?아니면 사용하는 것이 더 안전합니까? mod_perl 전통적인 대신 cgi-scripts?

저는 주로 보안 문제에 관심이 있지만 상당한 차이가 있는 경우 속도가 문제가 될 수 있습니다.

도움이 되었습니까?

해결책

보안은 어떤 의미에서?어느 쪽이든 그것은 실제로 어떤 스크립트가 실행되고 있는지, 얼마나 잘 작성되었는지에 따라 달라집니다.요즘에는 너무 많은 스크립트가 절반 정도만 되어 있고 입력 유효성 검사를 제대로 수행하지 않습니다.

저는 개인적으로 mod_php보다 FastCGI를 선호합니다. 왜냐하면 FastCGI 프로세스가 죽으면 새 프로세스가 생성되기 때문입니다. 반면 mod_php가 Apache 전체를 죽이는 것을 본 적이 있습니다.

보안과 관련하여 FastCGI를 사용하면 기술적으로 기본 웹 서버 사용자와 다른 사용자로 PHP 프로세스를 실행할 수 있습니다.

별도로 언급하자면, Apache의 새로운 작업자 스레딩 지원을 사용하는 경우 mod_php를 사용하고 있지 않은지 확인해야 합니다. 확장 기능 중 일부는 스레드로부터 안전하지 않고 경쟁 조건을 유발할 수 있기 때문입니다.

다른 팁

자체 서버를 실행하는 경우 모듈 방식으로 이동하면 다소 빠릅니다.공유 서버를 사용하고 있다면 일반적으로 CGI 측에서 이미 결정이 내려졌습니다.그 이유는 파일 시스템 권한 때문입니다.모듈로서의 PHP는 http 서버(보통 'apache')의 권한으로 실행되며 해당 사용자에 대한 스크립트를 chmod할 수 없는 한 chmod를 777(전 세계에서 읽을 수 있음)로 변경해야 합니다.이는 아쉽게도 귀하의 서버 이웃이 이를 볼 수 있다는 것을 의미합니다. 데이터베이스 액세스 비밀번호를 어디에 저장했는지 생각해 보세요.대부분의 공유 서버는 스크립트 소유자의 권한으로 스크립트를 실행하는 phpsuexec 등을 사용하여 이 문제를 해결했습니다. 따라서 코드를 644로 chmoded할 수 있습니다.Phpsuexec는 PHP를 CGI로 사용해서만 실행됩니다. 이는 거의 로컬 머신일 뿐이며 전체적으로는 세상에 아무런 차이가 없습니다.

대부분의 보안 허점은 스크립트 자체의 형편없는 프로그래밍으로 인해 발생하므로 CGI나 모듈로 실행하면 정말 문제가 됩니다.즉, Apache 모듈은 잠재적으로 전체 웹 서버를 충돌시킬 수 있으며(특히 스레드 MPM을 사용하는 경우) mod_php는 이에 대해 유명합니다.

cgi는 느려지겠지만 요즘에는 주로 FastCGI와 친구들이 이에 대한 해결책을 제시하고 있습니다.

귀하의 위협 모델은 무엇입니까?

PHP 5.2.6용 PHP install.txt 문서에서:

서버 모듈은 CGI 바이너리에 비해 훨씬 더 나은 성능과 추가 기능을 제공합니다.

IIS/PWS의 경우:

경고

CGI 설정을 사용하면 서버가 몇 가지 가능한 공격에 열려 있습니다.CGI 보안 섹션을 읽고 해당 공격으로부터 자신을 방어하는 방법을 배우십시오.

mod_php 또는 FastCGI와 같은 모듈은 일반 CGI보다 엄청나게 빠릅니다.CGI를 하지 마세요.다른 사람들이 말했듯이 PHP 프로그램 자체는 가장 큰 보안 위협이지만 공유 호스트에 대한 또 다른 고려 사항이 있다는 점을 무시합니다.

스크립트가 다른 PHP 프로그램과 공유 호스트에 있고 호스트가 안전 모드에서 실행되고 있지 않다면 모든 서버 프로세스가 동일한 사용자로 실행될 가능성이 높습니다.이는 데이터베이스 비밀번호를 포함하여 다른 모든 PHP 스크립트가 자신의 스크립트를 읽을 수 있음을 의미할 수 있습니다.따라서 서버 구성을 조사하여 다른 사람이 코드를 읽을 수 없는지 확인하십시오.

자신의 호스팅을 제어하더라도 서버의 또 다른 해킹된 웹 애플리케이션이 다른 웹 애플리케이션으로 연결될 수 있다는 점을 명심하세요.

내장 모듈을 사용하는 것이 CGI를 사용하는 것보다 확실히 더 빠릅니다.보안에 미치는 영향은 구성에 따라 다릅니다.기본 구성에서는 거의 동일하지만 cgi는 특히 공유 호스팅의 맥락에서 내장 모듈이 제공할 수 없는 좀 더 안전한 구성을 허용합니다.정확히 무엇으로부터 자신을 보호하고 싶습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top