편집 # 2 2015 년 7 월 23 일 : 아래 설정에서 누락 된 중요한 보안 항목을 식별하거나 모든 내용이 포함되어 있다고 믿을만한 이유를 제시 할 수있는 새로운 답변을 찾고 있습니다.
편집 # 3 2015 년 7 월 29 일 : 특히 보안 제한을 우회하거나 악의적이지만 오픈 된 채로 남길 수있는 것을 실수로 허용하는 것과 같은 잘못된 구성을 찾고 있습니다.
이것은 다중 사이트 / 공유 호스팅 설정이며 공유 Apache 인스턴스 (예 : 하나의 사용자 계정으로 실행)를 사용하지만 다른 사이트의 파일에 액세스 할 수있는 사이트가 없도록 PHP / CGI가 각 웹 사이트의 사용자로 실행되도록하고 싶습니다. 빠뜨린 부분이 없는지 확인하십시오 (예 : 심볼릭 링크 방지에 대해 알지 못한 경우).
여기까지 내가 가진 것입니다 :
- PHP 스크립트가 웹 사이트의 Linux 사용자 계정 및 그룹으로 실행되고 감옥 (예 : CageFS 사용)이거나 최소한 Linux 파일 시스템 권한을 사용하여 올바르게 제한되어 있는지 확인하십시오.
- suexec를 사용하여 CGI 스크립트를 Apache 사용자로 실행할 수 없도록하십시오.
- shtml 파일과 같은 서버 측 포함 지원이 필요한 경우
Options IncludesNOEXEC
CGI가 예상하지 못한 상태에서 실행될 수 없도록 CGI를 실행할 수 없도록합니다 (suexec를 사용하는 경우 큰 걱정거리는 아니지만). - 해커가 Apache가 다른 웹 사이트의 파일을 일반 텍스트로 제공하고 DB 암호와 같은 악용 가능한 정보를 공개하도록 속일 수 없도록 symlink 공격 보호 기능을 갖추십시오.
- 해커가 악용 할 수없는 지시문 만 허용하도록
AllowOverride
/AllowOverrideList
를 구성하십시오 . 위의 항목을 올바르게 수행하면 걱정할 필요가 없습니다.
MPM ITK가 느리지 않고 루트로 실행되지 않으면 MPM ITK와 함께 갔지만 공유 Apache를 사용하고 싶지만 안전하게 완료되었는지 확인하고 싶습니다.
http://httpd.apache.org/docs/2.4/misc/security_tips.html을 찾았 지만이 주제에 대해서는 포괄적이지 않았습니다.
도움이된다면 CageFS 및 mod_lsapi와 함께 CloudLinux를 사용할 계획입니다.
확인하거나 알아야 할 다른 것이 있습니까?
2015 년 7 월 20 일 편집 : 사람들은 일반적으로 가치있는 대체 솔루션을 제출했지만이 질문은 공유 Apache 설정의 보안에만 관한 것입니다. 특히 한 사이트에서 다른 사이트의 파일에 액세스하거나 다른 사이트를 손상시킬 수있는 위에 포함되지 않은 내용이 있습니까?
감사!