JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: 보안 서비스     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부보안 개요

1.  보안 서비스(개요)

제2부시스템, 파일 및 장치 보안

2.  시스템 보안 관리(개요)

3.  시스템에 대한 액세스 제어(작업)

4.  바이러스 검사 서비스(작업)

5.  장치에 대한 액세스 제어(작업)

6.  BART를 사용하여 파일 무결성 확인(작업)

7.  파일에 대한 액세스 제어(작업)

UNIX 사용 권한으로 파일 보호

파일 확인 및 보안 명령

파일 및 디렉토리 소유권

UNIX 파일 사용 권한

특수 파일 사용 권한(setuid, setgid 및 고정된 비트)

setuid 사용 권한

setgid 사용 권한

고정된 비트

기본 umask

파일 사용 권한 모드

액세스 제어 목록을 사용하여 UFS 파일 보호

보안 손상으로부터 실행 파일 보호

파일 보호(작업)

UNIX 사용 권한으로 파일 보호(작업 맵)

파일 정보 표시 방법

파일 소유자 변경 방법

파일의 그룹 소유권 변경 방법

심볼릭 모드로 파일 사용 권한 변경 방법

절대 모드로 파일 사용 권한 변경 방법

절대 모드로 특수 파일 사용 권한 변경 방법

보안 위험이 있는 프로그램 보호(작업 맵)

특수 파일 사용 권한이 있는 파일을 찾는 방법

프로그램이 실행 가능 스택을 사용 안함으로 설정하는 방법

제3부역할, 권한 프로파일 및 권한

8.  역할 및 권한 사용(개요)

9.  역할 기반 액세스 제어 사용(작업)

10.  Oracle Solaris의 보안 속성(참조)

제4부암호화 서비스

11.  암호화 프레임워크(개요)

12.  암호화 프레임워크(작업)

13.  키 관리 프레임워크

제5부인증 서비스 및 보안 통신

14.  플러그 가능한 인증 모듈 사용

15.  Secure Shell 사용

16.  Secure Shell(참조)

17.  단순 인증 및 보안 계층 사용

18.  네트워크 서비스 인증(작업)

제6부Kerberos 서비스

19.  Kerberos 서비스 소개

20.  Kerberos 서비스 계획

21.  Kerberos 서비스 구성(작업)

22.  Kerberos 오류 메시지 및 문제 해결

23.  Kerberos 주체 및 정책 관리(작업)

24.  Kerberos 응용 프로그램 사용(작업)

25.  Kerberos 서비스(참조)

제7부Oracle Solaris에서 감사

26.  감사(개요)

27.  감사 계획

28.  감사 관리(작업)

29.  감사(참조)

용어집

색인

파일 보호(작업)

다음 절차에서는 UNIX 사용 권한으로 파일을 보호하고, 보안 위험이 있는 파일을 찾고, 해당 파일로 인한 손상으로부터 시스템을 보호합니다.

UNIX 사용 권한으로 파일 보호(작업 맵)

다음 작업 맵에서는 파일 사용 권한을 나열하고, 파일 사용 권한을 변경하고, 특수 파일 사용 권한으로 파일을 보호하는 절차에 대해 설명합니다.

작업
수행 방법
파일 정보를 표시합니다.
로컬 파일 소유권을 변경합니다.
로컬 파일 사용 권한을 변경합니다.

파일 정보 표시 방법

ls 명령을 사용하여 디렉토리의 모든 파일에 대한 정보를 표시합니다.

예 7-1 파일 정보 표시

다음 예에서는 /sbin 디렉토리에 있는 파일의 부분 목록이 표시됩니다.

% cd /sbin
% ls -la
total 4960
drwxr-xr-x   2 root     sys           64 Dec  8 11:57 ./
drwxr-xr-x  39 root     root          41 Dec  8 15:20 ../
-r-xr-xr-x   1 root     bin        21492 Dec  1 20:55 autopush*
-r-xr-xr-x   1 root     bin        33680 Oct  1 11:36 beadm*
-r-xr-xr-x   1 root     bin       184360 Dec  1 20:55 bootadm*
lrwxrwxrwx   1 root     root          21 Jun  7  2010 bpgetfile -> ...
-r-xr-xr-x   1 root     bin        86048 Dec  1 20:55 cryptoadm*
-r-xr-xr-x   1 root     bin        12828 Dec  1 20:55 devprop*
-r-xr-xr-x   1 root     bin       130132 Dec  1 20:55 dhcpagent*
-r-xr-xr-x   1 root     bin        13076 Dec  1 20:55 dhcpinfo*

   .
   .
   .

각 행에는 파일 정보가 다음 순서대로 표시됩니다.

파일 소유자 변경 방법

시작하기 전에

파일 또는 디렉토리 소유자가 아닌 경우 객체 액세스 관리 권한 프로파일에 지정되어 있어야 합니다. 공용 객체인 파일을 변경하려면 root 역할을 맡아야 합니다.

자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  1. 로컬 파일에 대한 권한을 표시합니다.
    % ls -l example-file
    -rw-r--r--   1 janedoe   staff   112640 May 24 10:49 example-file
  2. 파일 소유자를 변경합니다.
    # chown stacey example-file
  3. 파일 소유자가 변경되었는지 확인합니다.
    # ls -l example-file
    -rw-r--r--   1 stacey   staff   112640 May 26 08:50 example-file 

    NFS 마운트 파일에 대한 권한을 변경하려면 Oracle Solaris 11.1에서 네트워크 파일 시스템 관리의 3 장, 네트워크 파일 시스템 액세스(참조)를 참조하십시오.

예 7-2 사용자가 고유 파일의 소유권을 변경할 수 있도록 설정

보안 고려 사항 – 특별한 이유가 있는 경우에만 rstchown 변수 설정을 0으로 변경해야 합니다. 기본 설정은 공간 쿼터를 무시하기 위해 기타에 속한 것처럼 하여 사용자가 파일을 나열하지 못하도록 합니다.

이 예에서는 /etc/system 파일에서 rstchown 변수의 값을 0으로 설정합니다. 이와 같이 설정하면 파일 소유자가 chown 명령을 사용하여 파일 소유권을 다른 사용자로 변경할 수 있습니다. 또한 소유자는 chgrp 명령을 사용하여 파일의 그룹 소유권을 소유자가 속하지 않은 그룹으로 설정할 수 있습니다. 시스템을 재부트하면 변경 사항이 적용됩니다.

set rstchown = 0

자세한 내용은 chown(1)chgrp(1) 매뉴얼 페이지를 참조하십시오.

파일의 그룹 소유권 변경 방법

시작하기 전에

파일 또는 디렉토리 소유자가 아닌 경우 객체 액세스 관리 권한 프로파일에 지정되어 있어야 합니다. 공용 객체인 파일을 변경하려면 root 역할을 맡아야 합니다.

자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  1. 파일의 그룹 소유권을 변경합니다.
    $ chgrp scifi example-file

    그룹 설정에 대한 자세한 내용은 Oracle Solaris 11.1에서 사용자 계정 및 사용자 환경 관리의 1 장, 사용자 계정 및 사용자 환경 관리(개요)를 참조하십시오.

  2. 파일의 그룹 소유권이 변경되었는지 확인합니다.
    $ ls -l example-file
     -rw-r--r--   1 stacey   scifi   112640 June 20 08:55  example-file

    예 7-2를 참조하십시오.

심볼릭 모드로 파일 사용 권한 변경 방법

다음 절차에서는 사용자가 소유한 파일의 사용 권한을 변경합니다.

  1. 심볼릭 모드로 사용 권한을 변경합니다.
    % chmod who operator permissions filename
    who

    사용 권한을 변경할 사용자를 지정합니다.

    operator

    수행할 연산을 지정합니다.

    permissions

    변경할 사용 권한을 지정합니다. 유효한 기호 목록은 표 7-5를 참조하십시오.

    filename

    파일 또는 디렉토리를 지정합니다.

  2. 파일 사용 권한이 변경되었는지 확인합니다.
    % ls -l filename

    주 - 파일 또는 디렉토리 소유자가 아닌 경우 객체 액세스 관리 권한 프로파일에 지정되어 있어야 합니다. 공용 객체인 파일을 변경하려면 root 역할을 맡아야 합니다.


예 7-3 심볼릭 모드로 사용 권한 변경

다음 예에서는 기타에서 읽기 권한을 제거합니다.

% chmod o-r example-file1

다음 예에서는 로컬 파일에 사용자, 그룹 및 기타에 대한 읽기 및 실행 권한이 추가됩니다.

$ chmod a+rx example-file2

다음 예에서는 로컬 파일에 그룹에 대한 읽기, 쓰기 및 실행 권한이 지정됩니다.

$ chmod g=rwx example-file3

절대 모드로 파일 사용 권한 변경 방법

다음 절차에서는 사용자가 소유한 파일의 사용 권한을 변경합니다.

  1. 절대 모드로 사용 권한을 변경합니다.
    % chmod nnn filename
    nnn

    파일 소유자, 파일 그룹 및 기타(해당 순서대로)에 대한 사용 권한을 나타내는 8진수 값을 지정합니다. 유효한 8진수 값 목록은 표 7-4를 참조하십시오.

    filename

    파일 또는 디렉토리를 지정합니다.


    주 - chmod 명령을 사용하여 기존 ACL 항목이 포함된 객체에서 파일 또는 디렉토리 권한을 변경할 경우 ACL 항목도 함께 변경될 수 있습니다. 정확한 변경 사항은 chmod 권한 작업 변경 사항 및 파일 시스템의 aclmodeaclinherit 등록 정보 값에 따라 달라집니다.

    자세한 내용은 Oracle Solaris 11.1 관리: ZFS 파일 시스템의 7 장, ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호를 참조하십시오.


  2. 파일 사용 권한이 변경되었는지 확인합니다.
    % ls -l filename

    주 - 파일 또는 디렉토리 소유자가 아닌 경우 객체 액세스 관리 권한 프로파일에 지정되어 있어야 합니다. 공용 객체인 파일을 변경하려면 root 역할을 맡아야 합니다.


예 7-4 절대 모드로 사용 권한 변경

다음 예에서는 공용 디렉토리의 사용 권한이 744(읽기, 쓰기, 실행/읽기 전용/읽기 전용)에서 755(읽기, 쓰기, 실행/읽기 및 실행/읽기 및 실행)로 변경됩니다.

# ls -ld public_dir
drwxr--r--  1 jdoe   staff    6023 Aug  5 12:06 public_dir
# chmod 755 public_dir
# ls -ld public_dir
drwxr-xr-x  1 jdoe   staff    6023 Aug  5 12:06 public_dir

다음 예에서는 실행 가능 셸 스크립트의 사용 권한이 읽기 및 쓰기에서 읽기, 쓰기 및 실행으로 변경됩니다.

% ls -l my_script
-rw------- 1 jdoe   staff    6023 Aug  5 12:06 my_script
% chmod 700 my_script
% ls -l my_script
-rwx------ 1 jdoe   staff    6023 Aug  5 12:06 my_script

절대 모드로 특수 파일 사용 권한 변경 방법

시작하기 전에

파일 또는 디렉토리 소유자가 아닌 경우 객체 액세스 관리 권한 프로파일에 지정되어 있어야 합니다. 공용 객체인 파일을 변경하려면 root 역할을 맡아야 합니다.

자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  1. 절대 모드로 특수 파일 사용 권한을 변경합니다.
    % chmod nnnn filename
    nnnn

    파일 또는 디렉토리 사용 권한을 변경하는 8진수 값을 지정합니다. 맨 왼쪽에 있는 8진수 값은 특수 파일 사용 권한을 설정합니다. 특수 사용 권한에 대한 유효한 8진수 값 목록은 표 7-6을 참조하십시오.

    filename

    파일 또는 디렉토리를 지정합니다.


    주 - chmod 명령을 사용하여 ACL 항목이 있는 파일의 파일 그룹 사용 권한을 변경하면 파일 그룹 사용 권한과 ACL 마스크가 모두 새 사용 권한으로 변경됩니다. 새 ACL 마스크 사용 권한은 파일에 ACL 항목이 있는 추가 사용자 및 그룹에 대한 사용 권한을 변경할 수 있습니다. 모든 ACL 항목에 대해 적절한 사용 권한이 설정되도록 하려면 getfacl 명령을 사용하십시오. 자세한 내용은 getfacl(1) 매뉴얼 페이지를 참조하십시오.


  2. 파일 사용 권한이 변경되었는지 확인합니다.
    % ls -l filename

예 7-5 절대 모드로 특수 파일 사용 권한 설정

다음 예에서는 dbprog 파일에 대해 setuid 사용 권한이 설정됩니다.

# chmod 4555 dbprog
# ls -l dbprog
-r-sr-xr-x   1 db     staff        12095 May  6 09:29 dbprog

다음 예에서는 dbprog2 파일에 대해 setgid 사용 권한이 설정됩니다.

# chmod 2551 dbprog2
# ls -l dbprog2
-r-xr-s--x   1 db     staff       24576 May  6 09:30 dbprog2

다음 예에서는 public_dir 디렉토리에 대해 고정된 비트 사용 권한이 설정됩니다.

# chmod 1777 public_dir
# ls -ld public_dir
drwxrwxrwt   2 jdoe   staff          512 May 15 15:27 public_dir

보안 위험이 있는 프로그램 보호(작업 맵)

다음 작업 맵에서는 시스템에서 위험성이 있는 실행 파일을 찾고 프로그램이 실행 가능 스택을 악용하지 못하도록 하는 절차에 대해 설명합니다.

작업
설명
수행 방법
특수 사용 권한을 가진 파일을 찾습니다.
setuid 비트가 설정되었지만 root 사용자가 소유하지 않은 파일을 찾습니다.
실행 가능 스택이 오버플로우되지 않도록 합니다.
프로그램이 실행 가능 스택을 악용하지 않도록 합니다.
실행 가능 스택 메시지가 기록되지 않도록 합니다.
실행 가능 스택 메시지의 기록을 해제합니다.

특수 파일 사용 권한이 있는 파일을 찾는 방법

이 절차에서는 프로그램에서 setuidsetgid 사용 권한의 잠재적인 무단 사용을 찾습니다. root 또는 bin 이외의 다른 사용자에게 소유권을 부여하는 실행 파일은 의심스러운 것입니다.

시작하기 전에

root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  1. find 명령을 사용하여 setuid 사용 권한이 있는 파일을 찾습니다.
    # find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
    find directory

    지정된 directory에서 시작하는 마운트된 경로를 모두 확인합니다. directory는 root(/), sys, bin 또는 mail일 수 있습니다.

    -user root

    root가 소유한 파일만 표시합니다.

    -perm -4000

    사용 권한이 4000으로 설정된 파일만 표시합니다.

    -exec ls -ldb

    find 명령 출력을 ls -ldb 형식으로 표시합니다.

    /tmp/filename

    find 명령 결과가 포함된 파일입니다.

  2. /tmp/filename에 결과를 표시합니다.
    # more /tmp/filename

    setuid 사용 권한에 대한 배경 정보는 setuid 사용 권한을 참조하십시오.

예 7-6 setuid 사용 권한이 있는 파일 찾기

다음 예의 출력에서는 rar이라는 그룹의 사용자가 /usr/bin/sh의 개인용 복사본을 만들고 setuid 사용 권한을 root로 설정했음을 보여 줍니다. 따라서 /usr/rar/bin/sh 프로그램이 root 권한으로 실행됩니다.

이 출력은 /var/tmp/chkprm 파일을 아카이브로 이동하여 나중에 참조할 수 있도록 저장되었습니다.

# find / -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm
# cat /var/tmp/ckprm
-r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at
-r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab
---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct
-r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir
-r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin
-r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched
---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh
-r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df
-rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp
-r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd
-r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su
# mv /var/tmp/ckprm /export/sysreports/ckprm

프로그램이 실행 가능 스택을 사용 안함으로 설정하는 방법

32비트 실행 가능 스택의 보안 위험에 대한 설명은 보안 손상으로부터 실행 파일 보호를 참조하십시오.

시작하기 전에

root 역할을 맡아야 합니다. 자세한 내용은 지정된 관리 권한을 사용하는 방법을 참조하십시오.

  1. /etc/system 파일을 편집하고 다음 행을 추가합니다.
    set noexec_user_stack=1
  2. 시스템을 재부트합니다.
    # reboot

예 7-7 실행 가능 스택 메시지 로깅을 사용 안함으로 설정

이 예에서는 실행 가능 스택 메시지 로깅이 사용 안함으로 설정된 후 시스템이 재부트됩니다.

# cat /etc/system
set noexec_user_stack=1
set noexec_user_stack_log=0
# reboot

참조

자세한 내용은 다음을 참조하십시오.