환경설정 파일들 소유자 및 권한 점검

환경변수 파일에 대한 소유자 및 권한 점검은 시스템 보안에 중요한 역할을 합니다. 환경변수 파일은 시스템 및 사용자 레벨의 환경 설정에 관련된 정보를 담고 있으며, 이 파일들이 리눅스 시스템에서 프로세스의 동작을 제어하고 환경을 설정하는 데 사용되므로 악의적으로 수정되거나 잘못된 권한을 갖게 되면 다양한 보안 문제가 발생할 수 있습니다. 이러한 파일들은 주로 /etc 디렉토리와 사용자의 홈 디렉토리에서 찾을 수 있습니다. 여기에는 주요한 환경변수 파일들만 알아보겠습니다.

  • /etc/environment:
    시스템 전체에 영향을 주는 전역 환경 변수를 설정하는 데 사용됩니다. 이 파일은 로그인 시스템 와이드 환경 설정을 제어하는 데 주로 사용됩니다.
  • /etc/profile:
    시스템 전체에 영향을 미치는 시스템 프로파일 스크립트입니다. 사용자가 로그인할 때 실행되는 명령들을 설정하고 환경 변수를 초기화하는 데 사용됩니다.
  • /etc/profile.d/:
    시스템 전체 또는 사용자 수준의 프로파일 설정을 추가하기 위한 디렉토리입니다. 여기에 스크립트를 추가하면 해당 스크립트의 내용이 프로파일 스크립트에서 실행됩니다.
  • /etc/bashrc:
    Bash 쉘에서 사용하는데 관련된 설정을 하는 스크립트입니다. 로그인하지 않은 Bash 세션에서도 실행됩니다.
  • ~/.bashrc:
    각 사용자의 홈 디렉토리에 위치한 Bash 쉘 설정 파일입니다. 로그인하지 않은 Bash 세션에서 실행됩니다.
  • ~/.bash_profile 또는 ~/.bash_login 또는 ~/.profile:
    사용자의 로그인 시에 실행되는 Bash 쉘 프로파일 스크립트입니다. 사용자 환경 변수 및 사용자 지정 명령을 설정하는 데 사용됩니다.
  • ~/.bash_logout:
    사용자가 로그아웃할 때 실행되는 스크립트입니다. 로그아웃 시에 필요한 정리 작업을 수행하는 데 사용됩니다.
  • ~/.bash_history:
    사용자의 Bash 히스토리 파일로, 사용자가 입력한 명령어들의 기록을 유지합니다.
  • 위 파일 이외에도 “~/.kshrc”, “~/.cshrc”, “~/.exrc”, “~/.netrc”, “~/.tcshrc”, “~/.viminfo” 등의 파일과 ~/.ssh 디렉토리가 있습니다.
점검 내용
  • 홈 디렉터리 내의 환경변수 파일에 대한 소유자 및 접근권한이 관리자 또는 해당 계정으로 설정되어 있는지 점검
점검 목적
  • 비인가자의 환경변수 조작으로 인한 보안 위험을 방지하기 위함
보안 위협
  • 홈 디렉터리 내의 사용자 파일 및 사용자별 시스템 시작파일 등과 같은 환경변수 파일의 접근권한 설정이 적절하지 않을 경우 비인가자가 환경변수 파일을 변조하여 정상 사용중인 사용자의 서비스가 제한 될 수 있음
점검 대상
  • Linux : Rocky 9
판단 기준
  • 양호 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되어 있고, 홈 디렉터리 환경변수 파일에 root와 소유자만 쓰기 권한이 부여된 경우
  • 취약 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되지 않고, 홈 디렉터리 환경변수 파일에 root와 소유자 외에 쓰기 권한이 부여된 경우
조치 방법
  1. 소유자 변경 및 그룹/일반 사용자 쓰기 권한 제거 방법
    chown <user_name> <file_name>
    chmod g-w,o-w <file_name>
    
◁ 특수권한비트 설정 파일 점검 | world writable 파일 점검 ▷