안전하지 않은 파일 권한

안전하지 않은 파일 권한

설명

보안 관련 파일에 그룹 또는 다른 사용자의 쓰기 권한을 부여하면, 그 권한을 가진 신뢰하지 않는 사용자가 내용을 수정할 수 있습니다.

잠재적 영향

  • 설정 변조, 권한 상승, 코드 또는 데이터 교체가 발생할 수 있습니다.

해결 방법

민감 파일은 최소 권한으로 만들고 일반적으로 0600 또는 더 제한적인 모드를 사용하세요. 파일 소유자와 상위 디렉터리의 변경 권한도 확인하세요.

예시

변경 전

c
open("/var/app/config", O_CREAT | O_WRONLY, 0666);

변경 후

c
open("/var/app/config", O_CREAT | O_WRONLY, 0600);

설명:

  • 변경 전: 새 파일에 그룹·다른 사용자의 쓰기 비트를 요청합니다. 실제 권한은 umask와 ACL에도 영향을 받습니다.
  • 변경 후: 새 파일에 소유자 읽기·쓰기만 요청합니다. open의 모드 인자는 기존 파일의 권한을 변경하지 않으므로, 기존 파일의 소유권과 실제 권한은 별도로 확인하세요. 예시는 신뢰하는 디렉터리와 경로를 전제로 합니다.

참조