[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - root 홈, 패스 디렉토리 권한 및 패스 설정
■ 대상 OS : SunOS, Linux, AIX, HP-UX
■ 취약점 개요
- root 계정의 PATH 환경변수에 "." (현재 디렉토리 지칭)이 포함되어 있으면, root 계정의 인가자로 인해 비의도적으로 현재 디렉토리에 위치하고 있는 명령어가 실행될 수 있음
- 즉 "."이 /usr/bin 이나 /bin, /sbin 등 명령어들이 위치하고 있는 디렉토리보다 우선하여 위치하고 있을 경우, root 계정의 인가자가 특정 명령을 실행하면, 비인가자가 불법적으로 위치시킨 파일을 실행하여 예기치 않은 결과를 가져올 수 있음.
- 잘못된 PATH 의 우선순위 등이 침해사고에 이용될 수 있으므로 "." 뿐만 아니라 비인가자가 불법적으로 생성한 디렉토리를 우선으로 가리키지 않도록 설정함
■ 보안대책
- 양호 : PATH 환경변수에 "." 이 맨 앞이나 중간에 포함되지 않은 경우
- 취약 : PATH 환경변수에 "." 이 맨 앞이나 중간에 포함되어 있는 경우
■ 조치방법
- root 계정의 환경변수 설정파일("/.profile", "/.cshrc" 등)과 "/etc/profile"등에서 PATH 환경변수에 포함되어 있는 현재 디렉토리를 나타내는 "."을 PATH 환경변수의 마지막으로 이동
- "/etc/profilr", root 계정의 환경변수 파일, 일반계정의 환경변수 파일을 순차적으로 검색하여 확인
■ 보안설정 방법
◆ OS별 점검 파일 위치 및 점검 방법
- SunOS, Linux, AIX, HP-UX
# echo $PATH
/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/root/bin
위와 같이 출력되는 PATH 변수 내에 "." 또는, "::" 포함 여부 확인
※ PATH 변수 내에 ".", "::" 이 맨 앞에 존재하는 경우 아래의 보안설정 방법에 따라 설정을 변경
◆ Shell 에 따라 참조되는 환경 설정 파일
- /bin/sh
/etc/profile, %HOME/.profile
- /bin/csh
$HOME/.cshrc, $HOME/.login, /etc/.login
- /bin/ksh
/etc/profile, $HOME/.profile, $HOME/kshrc
- /bin/bash
/etc/profile, $HOME/.bash_profile
※ 홈 디렉토리에 설정된 값이 가장 늦게 적용되어 최종 PATH로 설정됨
■ SunOS, Linux, AIX, HP-UX
1. vi 편집기를 이용하여 root 계정의 설정파일(~/.profile 과 /etc/profile)을 연 후
#vi /etc/profile
2. 아래와 같이 수정
(수정 전) PATH=.:$PATH:$HOME/bin
(수정 후) PATH=$PATH:$HOME/bin
※ 환경변수 파일은 OS별로 약간씩 다를 수 있음
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - /etc/passwd 파일 소유자 및 권한 설정 (0) | 2017.01.10 |
---|---|
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - 파일 및 디렉토리 소유자 설정 (0) | 2016.12.28 |
[리눅스 보안] 리눅스 계정관리 - Session Timeout 설정 (2) | 2016.12.23 |
[리눅스 보안] 리눅스 계정관리 - 사용자 Shell 점검 (0) | 2016.12.23 |
[리눅스 보안] 리눅스 계정관리 - 동일한 UID 금지 (0) | 2016.12.22 |