탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: 보안 서비스 Oracle Solaris 11.1 Information Library (한국어) |
UNIX 파일 사용 권한 및 ACL을 통해 파일을 보안할 수 있습니다. 고정된 비트가 설정된 파일 및 실행 파일에는 특수한 보안 조치가 필요합니다.
이 표에서는 파일과 디렉토리를 모니터 및 보안하는 명령에 대해 설명합니다.
표 7-1 파일 및 디렉토리 보안 명령
|
기존 UNIX 파일 사용 권한은 다음과 같은 세 가지 사용자 클래스에 소유권을 지정할 수 있습니다.
사용자 – 파일 또는 디렉토리 소유자(일반적으로 파일을 만든 사용자)입니다. 파일 소유자는 파일 읽기 권한, 파일 쓰기(파일 변경) 권한 또는 파일 실행 권한(파일이 명령인 경우)을 가지는 사용자를 결정할 수 있습니다.
그룹 – 사용자 그룹의 구성원입니다.
기타 – 파일 소유자가 아니며 그룹 구성원이 아닌 기타 모든 사용자입니다.
일반적으로 파일 소유자는 파일 사용 권한을 지정하거나 수정할 수 있습니다. 또한 root 계정은 파일 소유권을 변경할 수 있습니다. 시스템 정책을 대체하려면 예 7-2를 참조하십시오.
파일 유형은 일곱 가지 중 하나일 수 있습니다. 각 유형은 다음과 같은 기호로 표시됩니다.
다음 표에서는 파일 또는 디렉토리 사용자의 각 클래스에 부여할 수 있는 사용 권한을 나열하고 설명합니다.
표 7-2 파일 및 디렉토리 사용 권한
|
해당 파일 사용 권한은 일반 파일을 비롯하여 장치, 소켓, 명명된 파이프(FIFO) 등의 특수 파일에 적용됩니다.
심볼릭 링크의 경우 링크가 가리키는 파일의 사용 권한이 적용됩니다.
해당 디렉토리에 대해 제한적인 파일 사용 권한을 설정하여 디렉토리 및 하위 디렉토리의 파일을 보호할 수 있습니다. 단, root 역할은 시스템의 모든 파일 및 디렉토리에 대한 액세스 권한을 가집니다.
실행 파일 및 공용 디렉토리에 대해 세 가지 특수 유형의 사용 권한(setuid, setgid 및 고정된 비트)을 사용할 수 있습니다. 해당 사용 권한이 설정되면 실행 파일을 실행하는 모든 사용자가 실행 파일 소유자(또는 그룹)의 ID를 사용합니다.
특수 사용 권한에는 보안 위험이 따르므로 특수 사용 권한을 설정할 때는 각별히 신중해야 합니다. 예를 들어, 특정 사용자가 사용자 ID(UID)를 0(root의 UID)으로 설정하는 프로그램을 실행하여 root 기능을 얻을 수 있습니다. 또한 모든 사용자가 자신이 소유한 파일에 대해 특수 사용 권한을 설정할 수 있으므로 다른 보안 위험에 노출됩니다.
root 기능을 얻기 위해 setuid 사용 권한 및 setgid 사용 권한이 무단으로 사용되고 있지 않은지 시스템을 모니터해야 합니다. root 또는 bin 이외의 다른 사용자에게 관리 프로그램의 소유권을 부여하는 사용 권한은 의심스러운 것입니다. 이 특수 사용 권한을 사용하는 모든 파일을 검색하여 나열하려면 특수 파일 사용 권한이 있는 파일을 찾는 방법을 참조하십시오.
실행 파일에 대해 setuid 사용 권한이 설정되면 파일 소유자를 기반으로 이 파일을 실행하는 프로세스에 액세스 권한이 부여됩니다. 액세스 권한은 실행 파일을 실행 중인 사용자를 기반으로 하는 것이 아닙니다. 이 특수 사용 권한에 따라 사용자는 일반적으로 소유자에게만 제공되는 파일 및 디렉토리 액세스 권한을 얻을 수 있습니다.
예를 들어, passwd 명령에 대한 setuid 사용 권한은 사용자가 암호를 변경할 수 있도록 합니다. setuid 사용 권한이 있는 passwd 명령은 다음과 유사합니다.
-r-sr-sr-x 3 root sys 28144 Jun 17 12:02 /usr/bin/passwd
이 특수 사용 권한에는 보안 위험이 따릅니다. 정해진 일부 사용자는 프로세스 실행이 끝난 후에도 setuid 프로세스로 부여받은 사용 권한을 유지할 수 있습니다.
주 - 프로그램의 예약된 UID(0-100)로 setuid 사용 권한을 사용하면 유효 UID가 제대로 설정되지 않을 수 있습니다. 셸 스크립트를 사용하십시오. 또는 setuid 사용 권한에 예약된 UID를 사용하지 마십시오.
setgid 사용 권한은 setuid 사용 권한과 유사합니다. 프로세스의 유효 그룹 ID(GID)가 파일을 소유한 그룹으로 변경되며 해당 그룹에게 부여된 사용 권한을 기반으로 사용자에게 액세스 권한이 부여됩니다. /usr/bin/mail 명령의 setgid 사용 권한은 다음과 같습니다.
-r-x--s--x 1 root mail 67504 Jun 17 12:01 /usr/bin/mail
setgid 사용 권한이 디렉토리에 적용되면 이 디렉토리에서 만들어진 파일은 디렉토리가 속한 그룹에 속합니다. 파일은 만들기 프로세스가 속한 그룹에 속하지 않습니다. 디렉토리에서 쓰기 및 실행 권한을 가지는 사용자는 해당 디렉토리에서 파일을 만들 수 있습니다. 단, 파일은 사용자가 속한 그룹이 아닌 디렉토리를 소유한 그룹에 속합니다.
root 기능을 얻기 위해 setgid 사용 권한이 무단으로 사용되고 있지 않은지 시스템을 모니터해야 합니다. root 또는 bin 이외의 다른 비정상적인 그룹에 프로그램에 대한 그룹 액세스 권한을 부여하는 사용 권한은 의심스러운 것입니다. 이 사용 권한을 사용하는 모든 파일을 검색하여 나열하려면 특수 파일 사용 권한이 있는 파일을 찾는 방법을 참조하십시오.
고정된 비트는 디렉토리 내의 파일을 보호하는 사용 권한 비트입니다. 디렉토리에 고정된 비트가 설정된 경우 파일 소유자, 디렉토리 소유자 또는 권한 있는 사용자만 파일을 삭제할 수 있습니다. 권한 있는 사용자의 예로 root 사용자를 들 수 있습니다. 고정된 비트는 사용자가 공용 디렉토리(예: /tmp)에서 다른 사용자의 파일을 삭제하지 못하도록 합니다.
drwxrwxrwt 7 root sys 400 Sep 3 13:37 tmp
TMPFS 파일 시스템에서 공용 디렉토리를 설정할 때 수동으로 고정된 비트를 설정해야 합니다. 지침은 예 7-5를 참조하십시오.
파일 또는 디렉토리를 만들 때 일련의 기본 사용 권한이 사용됩니다. 시스템 기본값은 공개됩니다. 텍스트 파일의 666 사용 권한은 모든 사용자에게 읽기 및 쓰기 권한을 부여합니다. 디렉토리 및 실행 파일의 777 사용 권한은 모든 사용자에게 읽기, 쓰기 및 실행 권한을 부여합니다. 일반적으로 사용자는 셸 초기화 파일(예: .bashrc 및 .kshrc.user)의 시스템 기본값을 대체합니다. 관리자는 /etc/profile 파일에서 기본값을 설정할 수도 있습니다.
umask 명령으로 지정된 값은 기본값에서 제외됩니다. 이 프로세스는 chmod 명령이 권한을 부여하는 것과 동일한 방법으로 사용 권한을 거부합니다. 예를 들어, chmod 022 명령은 그룹 및 기타에 쓰기 권한을 부여합니다. umask 022 명령은 그룹 및 기타에 대한 쓰기 권한을 거부합니다.
다음 표에서는 일반적인 umask 값과 해당 값이 실행 파일에 끼치는 영향을 보여 줍니다.
표 7-3 다양한 보안 레벨에 대한 umask 설정
|
umask 값 설정에 대한 자세한 내용은 umask(1) 매뉴얼 페이지를 참조하십시오.
chmod 명령을 통해 파일 사용 권한을 변경할 수 있습니다. 사용 권한을 변경하려면 root나 파일 또는 디렉토리의 소유자여야 합니다.
chmod 명령을 사용하여 다음 두 가지 모드 중 하나로 사용 권한을 설정할 수 있습니다.
절대 모드 – 숫자를 사용하여 파일 사용 권한을 나타냅니다. 절대 모드를 사용하여 사용 권한을 변경하는 경우 8진수 모드 숫자별로 각 세 문자의 사용 권한을 나타냅니다. 절대 모드는 사용 권한 설정에 사용되는 가장 일반적인 방법입니다.
다음 표에서는 절대 모드로 파일 사용 권한을 설정하는 데 사용할 8진수 값을 나열합니다. 세 세트의 이러한 숫자를 사용하여 소유자, 그룹 및 기타에 대한 사용 권한을 이 순서대로 설정할 수 있습니다. 예를 들어, 값 644는 소유자에 대해 읽기 및 쓰기 권한을 설정하고 그룹 및 기타에 대해 읽기 전용 권한을 설정합니다.
표 7-4 절대 모드로 파일 사용 권한 설정
|
다음 표에서는 심볼릭 모드로 파일 사용 권한을 설정하는 데 사용할 기호를 나열합니다. 기호는 사용 권한을 설정 또는 변경할 사용자, 수행할 연산 및 지정 또는 변경하려는 사용 권한을 지정할 수 있습니다.
표 7-5 심볼릭 모드로 파일 사용 권한 설정
|
기능 열에 지정된 who operator permissions는 파일 또는 디렉토리 사용 권한을 변경하는 기호를 지정합니다.
사용 권한을 변경할 사용자를 지정합니다.
수행할 연산을 지정합니다.
변경할 사용 권한을 지정합니다.
절대 모드 또는 심볼릭 모드로 특수 파일 사용 권한을 설정할 수 있습니다. 하지만 디렉토리에 대한 setuid 사용 권한을 설정하거나 제거하려면 심볼릭 모드를 사용해야 합니다. 절대 모드에서는 사용 권한 세 문자의 왼쪽에 새 8진수 값을 추가하여 특수 사용 권한을 설정합니다. 다음 표에서는 특수 파일 사용 권한을 설정하는 데 사용할 8진수 값을 나열합니다.
표 7-6 절대 모드로 특수 파일 사용 권한 설정
|