목차

안녕하세요 IT몽상가입니다.
리눅스 보안에 두번째 중 분류인 파일 및 디렉토리 관리 첫 번째 항목인데요.
해당 분류는 리눅스에서만 존재하는데요.
리눅스의 경우에는 권한 관리를 계정에 하기보다는 파일에 설정하고 있기에 리눅스에는 파일 및 디렉토리 관리라는 중분류가 존재합니다.
파일 및 디렉토리 관리 항목에 가장 먼저 나오는 것은 root홈, 패스 디렉토리 권한 및 패스 설정으로 해당 설정은 간단하게 이야기 하자면 환경변수라고 보면 되는데요.
명령어를 입력하는 경우 해당 명령어 파일이 어디에 존재하는 설정하는 것이라고 보면 됩니다.
자세한 부분에 대하여 알아보도록 하겠습니다.
– root홈, 패스 디렉토리 권한 및 패스 설정 내용 및 목적
root 계정의 PATH 환경변수에 “.”이(마침표) 포함되어 있는지 점검 하는 것인데요.
비인가자 불법적으로 생성한 디렉토리 및 명령어를 우선으로 실행되지 않도록 설정하기 위해 환경변수 점검이 필요한데요.
해당 설정은 명령어를 입력하는 경우 해당 명령어가 어디에 있는지 설정하는 것인데요.
환경 변수라도고 이야기 할 수 있습니다.
– root홈, 패스 디렉토리 권한 및 패스 설정 보안 위협
root 계정의 PATH(환경변수)에 정상적인 관리자 명령어(예 : ls, mv, cp 등)의 디렉터리 경로 보다 현재 디렉토리를 지칭하는 “.” 표시가 우선하면 현재 디렉토리에 변조된 명령어를 삽입하여 관리자 명령어 입력 시 악의적인 기능이 실행 될 수 있는데요.
명려어를 입력하는 경우 PATH(환경변수)에 따라 앞에서부터 경로를 확인하는데요.
이때 “.” 마침표를 만나게 되면 현재 위치를 먼저 확인하기 때문에 정상적인 명령어 파일을 찾아 가지 못할 수 있기에 해당 PATH(환경변수) 앞이나 중간에는 “.”이 들어가 있으면 안됩니다.
악의적으로 사용되는 경우에 사용자가 ls 등 명령어를 입력하면 환경변수에 따라 해당 파일을 찾아야 하지만 “.”이 들어가 있다면 현재 위치에서 해당 명령어 파일을 찾기에 악의적으로 생성한 명령어 파일이 실행 될 수 있기에 “.”이 PATH(환경변수)에 들어가 있으면 안됩니다.
– root홈, 패스 디렉토리 권한 및 패스 설정 방법 및 점검 방법
환경 변수를 확인하는 것인데요.
“.”를 제거하기 하기 위해서는 명령어보다는 파일을 변경하는게 조금 더 편리할 거 같습니다.
- SOLARIS, LINUX, AIX, HP-UX
* 설정 방법
vi /etc/profile 파일에 설정하면 되는데요.
설정이 이것저것 변수들이 많이 들어가 있어서 찾아보기 조금 어렵긴 합니다.
하지만 명확하게 설정 값이 존재하기에 내용 보다는 설정 값만 보면 됩니다.
PATH=$PATH:$HOME/bin:.
이렇게 “.”은 맨 뒤에만 있어야 하는데요
그게 아니라면 위와 같이 설정하면 됩니다.
* 점검 방법
점검 방법은 설정 방법과 조금 차이가 있는데요.
설정 값은 파일을 열람하여 보기보다는 명령어를 입력하는 편리 합니다.
echo $PATH
입력하면 설정 값을 확인하면 되는데요.
맨 앞이나 중간에 “.”이 있는지 확인 하면 됩니다.
맨 뒤에 있는 것은 상관 없습니다.
– root홈, 패스 디렉토리 권한 및 패스 설정 확인 방법 및 점검 테스트
실제 서버에서 확인해 보겠는데요.
우선 테스트 환경은 제가 작성하였던 VMware 다운로드 및 설치 방법(무료 설치)와 CentOS Linux Containers 설치하기!를 참조하시면 됩니다.
테스트 환경은 CentOS 7 버전에서 진행 됩니다.
cat /etc/profile 을 입력하여 확인할 경우 기본 값이 따로 session timeout 설정되어 있지 않은데요.
이런 경우에는 설정 값은 입력하면 되는데요

대소문자를 구문하고 있기에 대문자로 입력해야만 확인 가능 합니다.

vi 편집기를 이용하여 값을 변경하면 되는데요.
vi /etc/profile를 입력하면 위와 같이 값이 나오는데요.
요기에 “.”이 존재하는 확인하면 됩니다.
혹시 “.”이 입력되어 있다면 삭제 하면 됩니다.
– 마무리
“root홈, 패스 디렉터리 권한 및 패스 설정” 항목에 대해서 알아봤는데요.
환경 변수 설정을 이야기 하는데요.
환경 변수 설정은 보안적으로 매우 중요한 부분입니다.
특히 환경 변수가 악의적으로 사용되는 경우에는 일반적인 명령어들이 악의적인 행동으로 이루어질 수 있다는 것인데요.
사용자가 본인을 행동이 어떠한 영향을 줄지 인지하지도 못하고 악의적인 행동을 도울수 있기에 해당 설정은 보안적으로 볼때 매우 중요한 부분입니다.
그렇기에 해당 점검 항목은 필요시 또는 시스템 장애 발생 가능성이 있어서 설정하지 못한다는 것은 말이 안되는 것으로 반드시 “.” 맨 앞 또는 중간에 있는 경우 취약으로 판단하여야만 합니다.
