| HOME / 정보공유 / AIX 명령어 모음

tcbck
tcbck tcbck 명령 목적 시스템의 보안 상태에 대한 감사를 실시합니다. 구문
검사 모드
tcbck { -n | -p | -t| -y } [ -i ] { ALL | tree | { Name ... Class ... } }
갱신 모드
tcbck -a -f File | PathName Attribute = Value ...
또는
tcbck -d -fFile | { PathName ... | Class ... }
또는
tcbck -l /dev/filename /dev/filename
설명
tcbck 명령은 /etc/security/sysck.cfg 파일(sysck 데이터베이스)에 정의된 파일의 설치를 검사하여 시스템의 보안 상태를 감사합니다. /etc/security/sysck.cfg 파일의 각 파일 정의는 적절한 설치를 설명하는 하나 이상의 속성을 포함합니다. 플래그와 매개변수가 호출되지 않은 경우, tcbck 명령은 그 구문을 인쇄합니다.
tcbck 데이터베이스는 보통 신뢰있는 전산구조의 일부인 모든 파일과 프로그램을 정의하지만 루트 사용자나 security 그룹의 멤버가 보안 관련으로 간주되는 파일만을 정의하도록 선택할 수 있습니다.
주: 이 명령은 메세지를 stderr에 기록합니다.
플래그
-a sysck 데이터베이스에 있는 파일 정의에 추가 또는 갱신합니다.
-d sysck 데이터베이스에서 파일 정의를 삭제합니다.
-f File File에서 파일 정의를 읽습니다.
-i tree 옵션을 지정한 때 treeck_nodir 속성에 나열된 디렉토리 아래에 있는 파일 시스템을 제외시킵니다. 이 플래그는 AIX 4.2 이상에만 적용됩니다.
-l (소문자 L) 관리자가 신뢰있는 전산구조로 등록한 sysck.cfg 파일에 /dev/ 파일에 대한 입력 항목을 추가합니다.
-n 검사 모드를 지정하고 오류를 보고하지만 수정은 하지 않습니다.
-p 검사 모드를 지정하고 오류를 수정하지만 보고는 하지 않습니다.
-t 검사 모드를 지정하고 오류 발생시 수정할지 묻는 프롬프트로 그 오류를 보고합니다.
-y 검사 모드를 지정하고 오류를 수정 및 보고합니다.
조작 모드
tcbck 명령은 두 가지 모드의 조작, 즉 검사 모드와 갱신 모드를 가집니다. 다음은 각 모드에 대한 설명입니다.
검사 모드
검사 모드에서 tcbck 명령은 설치된 파일에 대한 파일 정의를 검사합니다. sysck 데이터베이스(/etc/security/sysck.cfg 파일)에 있는 모든 파일 정의는 ALL 값을 지정하여 검사하고 파일시스템 트리에 있는 모든 파일은 tree 값을 지정하여 검사할 수 있습니다. 특정 파일만을 검사하려면, Name 매개변수를 사용하여 개별 파일의 경로 이름을 지정하거나 Class 매개변수를 사용하여 감사(audit) 같이 클래스로 정의한 논리적 그룹으로 몇 개의 파일을 묶을 수 있습니다. 이 때 ALL 또는 tree 값 중 하나를 선택하거나 Class 또는 Name 매개변수로 식별된 하나 이상의 파일을 선택해야 합니다.
tree 값이 선택 기준일 경우, 파일 시스템 트리의 모든 파일을 검사하여 연관된 모든 파일이 sysck 데이터베이스에 정의되어 있는지 확인합니다. tcbck 데이터베이스에 정의된 파일은 그 정의에 대해 검사됩니다. tcbck 데이터베이스에 없는 파일은 다음과 같아서는 안됩니다.
신뢰있는 전산구조 속성을 설정하였음.
setuid 또는 setgid를 관리 ID로 함.
tcbck 데이터베이스에 있는 파일로 링크됨.
장치 특수 파일임.
tcbck 명령을 tree 값과 -t 플래그 두 가지 모두를 사용하여 검사 모드로 수행하는 데 오류가 발생하면, 명령이 오류 메세지를 표시하면서 오류를 정정해야 할 것인지 묻습니다. 파일을 삭제하거나 잘못된 사용권한을 끄지 않기로 결정하면, 데이터베이스를 갱신할 것인지 묻습니다. 갱신을 요청하는 경우, 시스템은 파일 이름, 링크 또는 등록되지 않은 장치 이름과 같은 누락된 정보를 제공합니다.
검사 모드를 지정하고 오류를 처리하는 방법을 식별하기 위해서는 플래그(-n, -p, -t, -y) 역시 지정해야 합니다. /etc/security/sysck.cfg 파일에 복제 스탠자가 있는 경우, 오류를 보고하지만 수정하지는 않습니다.
Vital Product Database(VPD) 갱신에는 VPD 관리자에 대해 각 파일의 type, checksum 및 size 속성을 정의하는 작업이 포함됩니다. 이 정보는 올바른 설치를 검증하는 데 사용됩니다. 이러한 속성이 -fFile에 정의되지 않은 경우, 프로그램 설치 또는 갱신시 계산됩니다. checksum 속성은 특별히 VPD 관리자용으로 정의된 방법으로 계산됩니다. 파일 속성에 대한 자세한 정보는 "오류 수정" 섹션을 참조하십시오.
갱신 중에 수정된 파일 정의만이 파일이 신뢰있는 전산구조(TCB)의 일부임을 나타내는 새로운 정의입니다. File 매개변수는 tcbck 형식의 파일 정의를 포함하는 스탠자 파일로서 /etc/security/sysck.cfg 파일에 정의됩니다. 갱신이 완료되면, 스탠자 파일의 파일 정의에 대해 해당 파일이 검사되고 오류가 수정 및 보고됩니다.
setuid 또는 setgid 특권이 필요한 프로그램은 tcbck 데이터베이스에 있어야 합니다. 그렇지 않으면 tcbck 명령을 검사 모드로 수행할 때 특권이 지워집니다.
갱신 모드
갱신 모드에서 tcbck 명령은 /etc/security/sysck.cfg 파일에서 File 매개변수, PathName 매개변수 또는 Class 매개변수에 지정한 파일에 대한 파일 정의를 수정, 삭제(-d) 또는 추가(-a)합니다. Class 매개변수를 사용하면 감사와 같은 클래스 이름으로 정의된 논리적 그룹으로 여러 파일을 그룹지을 수 있습니다. tcbck 명령은 /etc/security/sysck.cfg 파일에서 지정된 스탠자를 삭제합니다.
갱신 모드에서 tcbck 명령(-l)은 지정된 /dev 항목에 대한 /etc/security/sysck.cfg 파일에 /dev/ 항목 정의를 추가 또는 수정합니다. 이 플래그는 관리자가 sysck.cfg 파일에 신뢰되는 새로 작성된 장치를 추가하기 위해 수행해야 합니다. 새로운 장치가 sysck.cfg 파일에 추가되지 않은 경우, 트리 옵션이 등록되지 않은 장치의 경고를 생성합니다.
-l 플래그는 명령행에 나열된 각 /dev/ 항목에 대한 스탠자를 작성합니다. 스탠자에 대한 정보는 /dev 항목의 현재 상태로부터 취해집니다. 스탠자는 다음을 포함합니다.
장치 이름 /dev/ 항목 이름
파일 유형 FILE, DIRECTORY, FIFO, SYMLINK, BLK_DEV, CHAR_DEV, 또는 MPX_DEV
소유자 ID 소유자 이름
그룹 ID 그룹 이름
사용권한 소유자, 그룹 또는 기타의 읽기/쓰기/실행 사용권한. SUID, SGID, SVTX 및 TCB 속성 비트
목표 파일이 심볼 링크일 경우, 목표 파일이 나열됩니다.
-a 플래그로 추가 또는 수정할 파일 정의를 명령행이나 파일에 Attribute=Value 문으로 지정할 수 있습니다. 다음 속성을 사용할 수 있습니다.
acl 파일에 대한 액세스 제어 리스트(ACL). 값이 공백일 경우, acl 속성은 제거됩니다. 값이 지정되지 않으면, 명령이 액세스 제어 리스트(ACL)에 설명된 형식에 따라 값을 계산합니다.
class 파일의 논리적 그룹. 값이 계산될 수 없기 때문에 반드시 지정해야 합니다. 값이 공백일 경우, class 속성이 지정된 파일 스탠자에서 제거됩니다. 그 값은 ClassName [ClassName]입니다.
checksum 파일의 체크섬. 값이 공백일 경우, checksum 속성이 제거됩니다.값이 지정되지 않으면, 명령은 sum 명령에 지정된 형식에 따라 값을 계산합니다. 값은 공백을 포함하여 sum -r 명령의 출력입니다.
group 파일 그룹. 값이 공백일 경우,group 속성이 제거됩니다. 값이 지정되지 않으면, 명령이 값을 계산하며 값은 그룹 ID 또는 그룹 이름이 될 수 있습니다.
link 이 파일로의 하드 링크. 값이 공백일 경우, links 속성이 제거됩니다. 값이 계산될 수 없기 때문에 반드시 지정해야 합니다. 값은 절대 경로 이름이어야 하며 Path [,Path ...]로 표시됩니다.
mode 파일 모드. 값이 공백일 경우, mode 속성이 제거됩니다. 값이 지정되지 않으면, 명령은 값을 계산하며 이 값은 8진수 또는 문자열(rwx)일 수 있고 tcb, SUID, SGID 및 SVTX 속성을 가집니다.
owner 파일 소유자. 값이 공백일 경우, owner 속성이 제거됩니다. 값이 지정되지 않으면, 명령이 값을 계산하며 값은 사용자 ID 또는 사용자 이름이 될 수 있습니다.
program 파일과 연관된 검사 프로그램. 값이 공백일 경우, program 속성이 제거됩니다. 값이 계산될 수 없기 때문에 반드시 지정해야 합니다. 이 값은 절대 경로 이름이어야 합니다. 플래그가 지정되면, 값은 Path, Flag로 표시되어야 합니다.
symlinks 파일로의 심볼 링크. 값이 공백일 경우, symlinks 속성이 제거됩니다. 값이 계산될 수 없기 때문에 반드시 지정해야 합니다. 값은 절대 경로 이름이어야 하며 Path [,Path..]로 표시됩니다.
size 바이트 단위로 표시한 파일의 크기. 값이 공백일 경우, size 속성이 제거됩니다. 값이 지정되지 않으면 명령이 값을 계산합니다. 이 값은 십진수입니다.
source 파일의 소스. 값이 공백일 경우, source 속성이 제거됩니다. 값이 지정되지 않으면 적절한 유형의 빈 파일이 작성됩니다. 이 값은 절대 경로 이름이어야 합니다.
type 파일의 유형. 이 값은 공백일 수 없습니다. 값이 지정되지 않으면, 명령이 값을 계산하며 이 값은 FILE, DIRECTORY, FIFO, BLK_DEV, CHAR_DEV 또는 MPX_DEV 키워드가 될 수 있습니다.
/etc/security/sysck.cfg 파일에 sysck 스탠자를 작성 또는 수정하여 tcbck 명령의 속성을 추가, 삭제 또는 수정할 수 있습니다. 다음 속성을 사용할 수 있습니다.
checksum 파일의 체크섬 값을 계산하는 대체 checksum 명령. 시스템이 명령에 각 파일의 이름을 추가합니다. 값이 공백일 경우, checksum 속성이 제거됩니다. 이 값은 각 파일에서 수행될 명령 문자열입니다. 디폴트 문자열은 /usr/bin/sum -r <입니다.
setgids 유효하지 않은 setgid 프로그램(200개가 넘는 ID 번호를 갖는 그룹) 확인을 위해 검사할 추가 관리 그룹 리스트. 값이 공백일 경우, setgids 속성이 제거됩니다. 이 값은 쉼표로 분리되는 그룹 이름 리스트입니다.
setuids 유효하지 않은 setuid 프로그램(200개가 넘는 ID 번호를 갖는 그룹) 확인을 위해 검사할 추가 관리 사용자 리스트. 값이 공백일 경우, setuids 속성이 제거됩니다. 이 값은 쉼표로 분리되는 사용자 이름 리스트입니다.
treeck_novfs 설치된 파일 시스템 트리를 검사하는 동안 tcbck 명령이 검증에서 제외시킬 파일 시스템 리스트. 값이 공백일 경우, treeck 속성이 제거됩니다. 이 값은 쉼표로 분리되는 파일시스템 리스트입니다.
treeck_nodir tcbck 명령이 검증에서 제외시킬 디렉토리 리스트. 값이 공백일 경우, treeck_nodir 속성이 제거됩니다. 이 값은 쉼표로 분리되는 디렉토리 리스트입니다. 이 속성에 포함된 디렉토리 하에 있는 파일시스템은 제외되지 않습니다. -i 플래그를 사용하여 이러한 파일시스템을 제외시키십시오.
이들 속성에 대한 자세한 정보는 /etc/security/sysck.cfg 파일을 참조하고, 전형적인 스탠자의 예에 대해서는 "예제" 섹션을 참조하십시오.
값이 지정되지 않은 Attributes가 포함된 경우, 명령이 변경할 파일에서 값을 계산하려는 시도를 합니다. type 속성은 필수적이지만 다른 속성들은 지정하지 않아도 됩니다.
오류 수정
오류를 수정하기 위해 tcbck 명령은 보통 속성을 정의된 값으로 재설정합니다. 다음 속성을 위해 명령은 설명된 대로 그 조치를 수정합니다.
checksum 액세스 제어 리스트(ACL)를 지워서 파일을 사용할 수 없게 만들지만 추가 검사는 정지하지 않습니다.
link 누락된 하드 링크를 작성합니다. 다른 파일로 링크가 존재하면 그 링크를 삭제합니다.
program 프로그램을 호출하는 것으로 반드시 존재해야 하고 절대 경로 이름이어야 합니다. 오류가 발생하면 메세지는 출력하지만 추가 조치를 수행하지는 않습니다.
size 액세스 제어 리스트(ACL)를 지워서 파일을 사용할 수 없게 만들지만 추가 검사는 정지하지 않습니다.
source 소스 파일을 File 매개변수에 정의된 파일로 복사합니다. 소스가 널일 경우, 기존의 파일을 삭제하고 올바른 type의 파일을 작성합니다.
symlinks 누락된 심볼 링크를 작성합니다. 다른 파일로 링크가 존재하면 그 링크를 삭제합니다.
type 액세스 제어 리스트(ACL)를 지워서 파일을 사용할 수 없게 만들고 추가 검사도 정지합니다.
-t 플래그를 tcbck 명령에 같이 사용하면 시스템이 오류 수정에 대한 사용자 확인을 요청합니다. 예로 응답하면 오류가 수정됩니다. 다른 응답을 제공하는 경우 오류는 수정되지 않습니다.
보안
액세스 제어: 이 명령은 root 사용자와 security 그룹의 멤버에게만 실행(x)을 허용해야 합니다. 이 명령은 root 사용자로 setuid이어야 하고 신뢰있는 전산구조 속성이 있어야 합니다.
액세스된 파일:

모드 | 파일
r | /etc/passwd
r | /etc/group
r | /etc/security/user
rw | /etc/security/sysck.cfg
x | /usr/bin/aclget
x | /usr/bin/aclput
x | /usr/bin/sum

감사 이벤트:

이벤트 | 정보
TCBCK_Check | 파일, 오류, 상태
TCBCK_Update | 파일, 기능

예제
1. /bin/boo 파일을 acl, checksum, class, group, owner 및 program 속성을 사용하여 tcbck 데이터베이스에 추가하려면 다음과 같이 입력하십시오.
tcbck -a /bin/boo acl checksum class=audit group owner\
program=/bin/boock
결과 스탠자(stanza)에는 위에 주어진 속성과 사용자가 정의하지 않은 속성으로 삽입된 시스템 계산 값이 포함됩니다. 데이터베이스는 다음과 같이 스탠자(stanza)를 포함합니다.
/bin/boo:
acl =
checksum = 48235
class = audit
group = system
owner = root
program = /bin/boock
type = FILE
이 속성 값들이 설치 정의에 추가되지만 정확도는 검사되지 않습니다. program 속성 값은 명령행에서 가져오고 checksum 속성 값은 checksum 프로그램과 함께 계산되며, acl을 제외한 그 밖의 모든 속성은 파일 i-노드에서 계산됩니다.
2. 파일이 설치 중에 확장될 수 있기 때문에 파일을 반드시 검사만 하고 데이터베이스에는 추가하지 않는다는 것을 표시하려면 VOLATILE 키워드를 /etc/passwd 파일에서 다음 예에서처럼 사용하십시오.
/etc/passwd:
type = FILE
owner = root
group = system
size = 1234,VOLATILE
3. /bin/boo 파일 정의를 tcbck 데이터베이스에서 삭제하려면 다음과 같이 입력하십시오.
tcbck -d /bin/boo
4. tcbck 데이터베이스에서 audit의 class를 갖는 모든 정의를 삭제하려면 다음을 입력하십시오.
tcbck -d audit
5. tcbck 데이터베이스에 있는 모든 파일을 검사한 후 모든 오류를 수정 및 보고하려면 다음과 같이 입력하십시오.
tcbck -y ALL
6. 설치한 파일 시스템 트리에 대한 보안 감사 동안 /calvin 및 /hobbes 파일 시스템을 검증에서 제외시키려면 다음과 같이 입력하십시오.
tcbck -a sysck treeck_novfs=/calvin,/hobbes
7. 보안 감사 동안 디렉토리를 검증에서 제외시키려면 다음과 같이 입력하십시오.
tcbck -a sysck treeck_nodir=/home/john
8. 설치한 파일에 대한 보안 감사 동안 검증할 관리 사용자로서 jfh와 jsl을 추가하고, 관리 그룹으로서 developers를 추가하려면 다음과 같이 입력하십시오.
tcbck -a sysck setuids=jfh,jsl setgids=developers
9. 새로 작성한 /dev 항목 foo와 bar에 대한 sysck.cfg 스탠자 항목을 작성/수정하려면 다음과 같이 입력하십시오.
tcbck -l /dev/foo /dev/bar
주: 새로 작성한 항목들을 추가함으로써 항목을 신뢰있는 전산구조의 일부로 등록하게 됩니다.
경고: "$"와 "?"를 사용할 수 있지만, 파일 이름에 사용하면 모호한 파일 등과 같은 잠재적인 문제점이 발생할 수 있습니다.
파일
/usr/bin/tcbck tcbck 명령으로의 경로를 지정하고 있습니다.
/etc/security/sysck.cfg 시스템 구성설정 데이터베이스로의 경로를 지정하고 있습니다.
관련 정보
aclget 명령, grpck 명령, installp 명령, pwdck 명령, sum 명령, usrck 명령.