Apache 파이프라인 로깅 스크립트가 루트로 실행되는 것을 어떻게 중지할 수 있습니까?

Apache 파이프라인 로깅 스크립트가 루트로 실행되는 것을 어떻게 중지할 수 있습니까?

제가 일하는 조직은 안전에 매우 중점을 두고 있습니다. 운영 체제를 담당하는 시스템 관리자 그룹(분명히 루트 권한이 있음)과 실행되는 서비스를 유지 관리하는 시스템 관리자 그룹(나도 그들 중 하나이고 우리도 그들 중 하나) 사이에는 구분이 있습니다. 해당 운영 체제에서. sudo를 통해 제한하지 않으면 루트에 액세스할 수 없습니다.

저는 현재 Apache 구성을 유지하는 방식을 재설계하고 있습니다. 새 설정은 RHEL에서 실행되고 이전 설정은 Solaris에서 실행됩니다.

어쨌든 Solaris에서는 파이프 로깅을 사용할 때 로그를 파이프하는 스크립트가 Apache와 동일한 사용자인 webservd로 실행됩니다. 그러나 RHEL에서는 결국 루트로 실행되므로 Apache 서비스 계정(예: 실제 Apahce가 속한 동일한 계정인 apache)에서 실행하는 것이 좋습니다.제공하다생산하다).

파이프라인 호출에서 sudo를 사용하는 솔루션만으로는 충분하지 않습니다. QA를 통과하기 전에 다음과 같은 방법을 찾아야 합니다.할 수 없다Apache 구성 파일에 무언가를 입력하여 루트로 실행되도록 하십시오. 솔루션에는 아파치 사용자에게 몇 가지 특수 권한(포트 80/443에 바인딩할 수 있도록)을 부여한 다음 루트 대신 해당 권한을 사용하여 서비스를 시작하는 것이 포함되어 있다고 생각됩니다.

어떤 도움이라도 대단히 감사하겠습니다.

부록: 파이프라인 로그를 호출하는 방법을 보여 달라는 요청을 받았습니다.

구성 파일의 관련 줄은 다음과 같습니다.

CustomLog "||/httpd/scripts/syslog.py" qradar

결국 일어나는 일은 /httpd/scripts/syslog.py의 스크립트가 루트로 실행된다는 것입니다. 우리는 이것을 불가능할 뿐만 아니라 불가능하게 만들어야 합니다.

답변1

내가 올바르게 이해했다면 HTTP를 루트로 실행하고 싶지 않을 것입니다. Apache가 포트 80에서 수신하도록 하지 말고 IPtables를 사용하여 이러한 패킷을 더 높은 포트 번호로 리디렉션하거나 Linux에 포트 < 1024가 안전하지 않다고 알리십시오. 아래의 훌륭한 답변을 참조하십시오https://unix.stackexchange.com/a/10791/105631. 또한 여기:https://stackoverflow.com/a/414258/3849157

커널을 사용자 정의하는 것은 나쁜 생각이 아닙니다. 많은 사람들은 1024 제한이 오래되었으며 보안 관점에서 더 이상 사용되지 않는다고 지적합니다. PORT_SOCK이 1024에서 24로 변경되도록 커널을 패치한 비슷한 질문에 대한 답변이 있습니다.https://stackoverflow.com/a/27989419/3849157

관련 정보