23.12.24 삭제예정/Unix 서버 취약점 점검

■ 리눅스 서버 점검 가이드 2-1 root 홈, 패스 디렉터리 권한 및 패스 설정

몽블86 2017. 6. 20. 13:27

■ 대상 OS: 리눅스


■ 취약점 개요- root 계정의 path 환경변수에 "."(현재 디렉토리 지칭)이 포함되어 있으면 root 계정의 인가자로 인해 비의도적으로 현재 디렉토리에 위치하고 있는 명령어가 실행될수 있음

-즉 "." 이 /usr/bin 이나 /bin, /sbin 등 명령어들이 위치하고 있는 디렉토리보다 우선하여 위치하고 있을 경우, root 계정의 인가자가 특정 명령을 실행하면 ,비인가자가 불법적인 위치시킨 파일을 실행하여 예기치 않은 결과를 가져올 수 있음

-잘못된 path의 우선순위 등이 침해사고에 이용될 수 있으므로 "."뿐만 아니라 비인가자가 불법적으로 생성한 디렉토리를 우선으로 가리키지 않도록 설정함


■ 보안대책

양호: path환경변수에 "."이 맨 앞이나 중간에 포함되지 않은 경우

취약: path환경변수에 "."이 맨 앞이나 중간에 포함되어 있는 경우


■ 조치방법

-root 계정의 환경변수 설정파일("/.profile","/.cshrc" 등)과 "/etc/profile"등에서 path 환경변수에 포함되어 있는 현재 디렉토리를 나타내는 "."을 path환경변수의 마지막으로 이동

- "/etc/profilr", root 계정의 환경변수 파일, 일반계정의 환경변수 파일을 순차적으로 검색하여 확인


■ 보안설정방법

OS별 점검 파일 위치 및 점검방법

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

위와 같이 출력되는 path변수 내에 "." 또는 ";;" 포함 여부 확인

path 변수 내에 ".", ";;"이 맨 앞에 존재하는 경우 아래의 보안설정 방법에 따라 설정을 변경

■ 리눅스
1. vi편집기를 이용하여 root계정의 설정파일(~profile과 /etc/profile)을 연후 
vi /etc/profile

2.아래와 같이 수정
(수정 전) PATH=.:$PATH:$HOME/bin
(수정 후) PATH=$PATH:$HOME/bin