문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ5SP1FS01, 5SP1FS02, 5SP1FS03, 5SP1FS04, 5SP1FS06, 6FS01, 6FS02, 6FS03, 6FS04, 6FS05, 6FS06, 6FS07, 6FS07PS, 7FS01, 7FS02, 7FS02PS
문서번호ㅣTADTS019
현상
리눅스 시스템에서 /tmp 디렉토리가 777 권한과 실행 허용 상태일 시, 악성 스크립트나 실행파일이 쉽게 저장되고 실행될 수 있는 등 아래와 같은 보안 위협이 발생할 수 있습니다.
- 악성코드 실행
- 권한 상승(SUID)
- 장치 파일 접근(device file 등)
참고777 권한: 모든 사용자 읽기/쓰기/실행 가능/tmp: 시스템/사용자/애플리케이션이 임시 파일을 저장하는 표준 경로
원인
리눅스 시스템에서는 /tmp 디렉토리가 기본적으로 777 권한으로 설정되어 보안 취약 지점이 됩니다.
해결
보안 마운트 옵션을 /tmp에 설정함으로써 보안을 강화할 수 있습니다.
noexec, nosuid, nodev 옵션을 설정해 실행 및 권한 상승, 장치 접근을 차단하고 /var/tmp도 /tmp로 연결하여 보안 설정을 통합 적용할 것을 권장합니다.
보안 마운트 옵션
- nodev : 장치 파일 무효화 (예: /dev/null 등의 접근 차단)
- nosuid : SUID(권한 상승) 기능 차단
- noexec : 실행 파일 직접 실행 차단 (예: ./파일 실행 불가)
적용 방법
Case 1. /tmp가 별도 파티션인 경우
- /etc/fstab에 아래의 라인을 추가합니다.
UUID=<tmp 디스크 UUID> /tmp ext4 defaults,nodev,nosuid,noexec 0 0
- /var/tmp → /tmp 심볼릭 링크를 설정합니다.
ln -s /tmp /var/tmp
- 재부팅 또는
mount -a명령어를 실행합니다.
Case 2. /tmp가 별도 파티션이 아닐 경우 (가상 디스크 구성)
- 임시 디스크 파일 생성 및 포맷합니다.
dd if=/dev/zero of=/var/tmpmount bs=1 count=0 seek=1G
mkfs.ext4 /var/tmpmount- /etc/fstab에 아래의 라인을 추가합니다.
/var/tmpmount /tmp ext4 defaults,nodev,nosuid,noexec 0 0
- 마운트 및 권한을 설정합니다.
mount -o defaults,nodev,nosuid,noexec /var/tmpmount /tmp
chmod 0777 /tmp
- /var/tmp → /tmp 심볼릭 링크 설정합니다.
ln -s /tmp /var/tmp
참고
noexec 옵션을 설정하면 /tmp 디렉토리에서 직접 실행(예: ./파일명)이 차단됩니다. 일부 시스템/스크립트가 /tmp를 실행 경로로 사용할 경우, 실행 차단으로 인해 동작이 안 될 수 있으므로 사전 테스트를 권장합니다. /var/tmp를 기존에 사용하고 있다면, 링크 설정 전 데이터 백업이 필요합니다.