지금까지 PHP에서 sudo'd 명령을 수행하는 동안 발생할 수있는 잠재적 보안 허점이 발견되었습니다.PHP를 통해 sudo로 쉘 명령을 실행
현재 문제는 PHP의 exec() 함수를 통해 작업 웹 서버에서 sudo로 bash 스크립트를 실행해야한다는 것입니다. 우리는 현재 200 개 미만의 웹 사이트를 운영하고 있습니다. 이 작업을 수행 할 웹 사이트는 내 사무실의 IP 주소에서만 액세스 할 수 있도록 제한됩니다. 이로 인해 사용 가능한 솔루션과 관련된 잠재적 보안 문제가 제거됩니까?
sudoers 파일에 apache 사용자를 추가하는 방법 중 하나는 전체 서버에 적용되는 것으로 가정하므로 다른 모든 웹 사이트에서도 여전히 문제가됩니다.
우리 사무실에만 액세스 할 수있는 웹 사이트에서 보안 위협을 제기하지 않는 솔루션이 있습니까?
미리 감사드립니다.
편집 : 간단한 배경
여기 정확히 내가 달성하기 위해 노력하고있어 간단한 설명입니다. 제가 일하는 회사는 관광 관련 비즈니스를위한 웹 사이트를 개발합니다. 새로운 웹 사이트를 만들 때 나는 새로운 사이트의 디렉토리 구조 만들기, httpd.conf에 포함 된 아파치 설정 파일 생성, 새로운 FTP 사용자 추가, 데이터베이스를 웹 사이트 CMS와 함께 사용하여 몇 가지 이름을 지정하십시오.
현재 서버에 디렉토리 구조를 생성하고 사용자를 추가하며 apache 구성 파일을 만들고 정상적으로 아파치를 다시 시작하는 bash 스크립트가 있습니다. 그것은 단지 한 부분 일 뿐이므로, PHP 스크립트에서이 셸 스크립트를 사용하여 사용하기 쉬운 방법으로 전체 웹 사이트 생성 프로세스를 자동화하고 다른 동료와 일반적인 효율성을 얻습니다.
이 스크립트를 사용하게 될 다른 URL이 없습니다, 스크립트가 수행 정확히 무엇의 아이디어를 얻을 위의 내 편집을 참조하십시오. 내부 용도로만 사용되며 클라이언트 웹 사이트 중 어느 것도 쉘 스크립트를 호출하지 않습니다. 이것이 옵션 1의 보안 문제와 어떤 차이가 있습니까? (가장 쉬운 것으로 보입니다). –
@ 윌리엄 스튜어트 : 적어도 이것은 당신이 의도 한 것입니다! 일부 php 소프트웨어에 쉘 스크립트를 호출하는 php 스크립트에 대한 파일 시스템 읽기 권한이 있고 그 소프트웨어의 보안 문제로 외부 사용자가 (셸 스크립트를 실행할 수있는) php 파일을 포함 할 수 있다면 그것을 실행하십시오! – urzeit
@ 윌리엄 스튜어트 : 내 편집보기 – urzeit