xinetd 서비스: 사용자를 변경하시겠습니까? (cvs pserver)

xinetd 서비스: 사용자를 변경하시겠습니까? (cvs pserver)

레거시 소스 제어: xinetd의 CVS

레거시 소스 제어를 사용하는 팀이 있습니다: cvs. xinetd(아래 구성 파일)에서 cvs pserver를 실행합니다.

감사 플래그

보안 감사에서 "cvs 서버가 루트에서 실행되지 않는지 확인하세요"라는 플래그가 표시되었습니다.

질문:

"user=root"를 "user=cvs"로 대체하여 'cvs pserver'를 안전하게 잠글 수 있습니까? 유해한 부작용이나 '문제'가 있습니까?

참고: 사용자 "cvs"는 'cvs 루트' 디렉토리 "/var/cvs/cvs"에 있는 모든 파일을 소유합니다.

10년이 지난 문서를 모두 검색했는데 모든 예제에 'user=root'가 있고 보안을 강화하기 위해 "user=" 매개변수를 변경하는 것이 제안되지 않았기 때문에 묻습니다.

업데이트: 나는 그것을 시도했다. 효과가 있었습니다. 아무 문제 없습니다.

감사해요

예: cvspserver 구성 파일

# Begin /etc/xinetd.d/cvspserver

     service cvspserver
     {
          port        = 2401
          socket_type = stream
          protocol    = tcp
          wait        = no
          user        = root
          passenv     = PATH
          server      = /usr/bin/cvs
          server_args = -f --allow-root=/var/cvs/cvs   pserver
     }

# End /etc/xinetd.d/cvspserver

답변1

당신은 그들의 조언을 절대적으로 따라야 합니다. 매우 좋은 조언입니다.

일반적으로 이 작업을 수행할 때는 데몬이 수행하는 작업을 수행할 수 있는 충분한 권한이 있는지 확인해야 합니다. 이 특정한 경우에는 이미 가지고 있는 소유권을 의미할 가능성이 높습니다. 내 제안은 저장소를 백업하고 계속해서 변경하는 것입니다.

이것이 작동하는 방식은 xinetd(종종 루트로 실행됨)가 권한을 삭제한 다음 xinetd가 관리하는 소켓을 향한 stdin 및 stdout을 사용하여 /usr/bin/cvs를 실행하는 것입니다. 정말 아무것도 없습니다. CVS는 매우 간단하며 루트 아래의 파일을 조작하는 것 이상의 권한이 필요하지 않습니다.

관련 정보