root 계정의PATH환경변수에'.'(마침표)이포함여부점검 U-14 root 홈, 패스 디렉터리 권한 및 패스 설정 가이드라인 원문 항목 내용 항목코드 U-14 점검내용 root 계정의PATH환경변수에’.’(마침표)이포함여부점검 점검대상 SOLARIS, LINUX, AIX, HP-UX등 양호기준 PATH환경변수에’.‘이맨앞이나중간에포함되지않은경우 취약기준 PATH환경변수에’.‘이맨앞이나중간에포함된경우 조치방법 root 계정의환경설정파일(/.profile, /.bashrc 등)과 시스템환경설정파일(/etc/profile등)에설정된PATH환경변수에서현재디렉터리를나타내는’.‘을PATH환경변수의마지막으로이동하도록설정
상세 설명 1. 판단 기준 기본 판단 기준 양호 : PATH 환경변수에 ‘.‘이 맨 앞이나 중간에 포함되지 않은 경우취약 : PATH 환경변수에 ‘.‘이 맨 앞이나 중간에 포함된 경우경계 케이스 (Edge Case) 처리 방법 상황 판단 기준 설명 PATH=.:/usr/bin:/bin 취약 ‘.‘이 맨 앞에 위치 PATH=/usr/bin:.:/bin 취약 ‘.‘이 중간에 위치 PATH=/usr/bin:/bin 양호 ‘.‘이 없음 PATH=/usr/bin:/bin:. 주의 ‘.‘이 끝에 위치 (권장하지 않음) PATH=/usr/bin:/bin:. 취약 끝에 있어도 보안 위험
권장 설정값 환경 항목 권장 설정 비고 root 계정 PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ‘.’ 제거 일반 사용자 PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games ‘.’ 제거 /etc/profile PATH . 제거 또는 맨 뒤로 이동 시스템 전체 적용
2. 점검 방법 Solaris, Linux, AIX, HP-UX 점검 PATH 환경변수에 현재 디렉터리를 나타내는 ‘.‘이 맨 앞이나 중간에 포함되어 있지 않은지 확인해야 합니다.
1
2
3
4
5
6
7
# PATH 환경변수 확인
echo $PATH
# 환경설정 파일 확인
grep PATH /root/.bash_profile
grep PATH /root/.profile
grep PATH /etc/profile
양호 출력 예시:
1
2
3
4
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# '.'이 없거나, 끝에 있어도 사용하지 않음
취약 출력 예시:
1
2
3
4
5
6
7
$ echo $PATH
.:/usr/bin:/bin
# '.'이 맨 앞에 위치 (취약)
$ echo $PATH
/usr/bin:.:/bin
# '.'이 중간에 위치 (취약)
환경설정 파일 확인 1
2
3
4
5
6
# /etc/profile 확인
grep -n "PATH" /etc/profile | grep "^\s*PATH="
# 사용자별 설정 확인
grep -n "PATH" /root/.bash_profile | grep "^\s*PATH="
grep -n "PATH" /root/.profile | grep "^\s*PATH="
3. 조치 방법 Solaris, Linux, AIX, HP-UX 공통 설정 환경설정 파일 내 PATH 변숫값 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 상대 경로 삭제 또는 PATH 끝으로 이동
vi /root/.bash_profile
# 또는
vi /root/.profile
# PATH 수정 (취약 예시)
# PATH=.:/usr/bin:/bin
# PATH 수정 (양호 예시) - 상대 경로 삭제
# PATH=/usr/bin:/bin:/usr/local/bin
# 또는 상대 경로를 끝으로 이동
# PATH=/usr/bin:/bin:/usr/local/bin:.
# 설정 적용
source /root/.bash_profile
/etc/profile 수정 (시스템 전체 적용)
1
2
3
4
5
6
7
vi /etc/profile
# PATH 설정 수정
# 변경 전: PATH=.:/usr/bin:/bin
# 변경 후: PATH=/usr/bin:/bin:/usr/local/bin
source /etc/profile
4. 참고 자료 Shell종류별 환경설정 파일:
Shell종류 시스템 전체 사용자별 Bourne Shell(sh) /etc/profile $HOME/.profile C Shell(csh) /etc/csh.cshrc, /etc/csh.login $HOME/.cshrc, $HOME/.login Korn Shell(ksh) /etc/profile $HOME/.profile, $HOME/.kshrc Bash Shell(bash) /etc/profile, $HOME/.bash_profile, $HOME/.bashrc /etc/bash.bashrc
5. 스크립트 취약점 점검 스크립트 이 스크립트는 KISA 주요정보통신기반시설 기술적 취약점 분석·평가 가이드라인(2026)을 준수하여 제작된 자동 점검 도구입니다. 복잡한 단일 파일 방식이 아닌 모듈화된 구조로 설계되어 유지보수가 쉽고 확장이 용이합니다. 다양한 환경에서 테스트를 진행했으나, 혹시 점검 로직에 이슈가 발견되거나 개선이 필요한 경우 적극적인 제보를 부탁드립니다. 이 글은 AI를 사용해 생성 또는 보조 작성되었습니다. 보안·기술 정보는 인용된 원문과 공식 자료에서 다시 확인하세요.