티스토리 뷰
RBAC(Role-Based Access Control)
: 사용자에게 역할(role)을 할당함으로써 좀 더 강력한 권한 기능을 제공함
예전에는 루트권한이 필요한 작업을 사용자에게 허용하기 위한 방법이 그리 많이 않았는데..
그중에서도 쉬운것이 SUID 비트를 사용하는 것이다.. 하지만 이 방법은 보안상 가장 바람직한
방법이 아니다. 이를 해결하기 위해서 RBAC나 SUDO와 같은 것을 사용한다.
-기능-
Authorization : 제한된 기능에 접근할수 있도록 하는 권리
Execution profile : 특수한 속성을 사용해서 인가 정보와 함께 묶는 방법
Role : 관리자 작업을 수행하는데 사용되는 특수한 유형의 사용자 계정
-설정파일-
* user_attr(확장 사용자 속성 데이타베이스)
: 사용자, 역할, 인가 정보, 실행 프로파일과 연관시킴
user:qualifier:res1:res2:attr
- user : /etc/passwd에 정의된 사용자 이름
- qualifier,res1,res2 : 미래를 위해서 정의
-attr : auths, profile, roles, type를 정의
auths : auth_attr에 정의된 이름중에서 인가를 허용할 이름을 쉼표로 분리해 지정
profile : 사용자가 어떤 명령을 어떤 속성으로 실행할지를 결정 최소 all 프로파일이 정의되야함
roles : user_attr에 정의된 특정 이름을 정의
type : normal은 일반계정, role은 role 계정을 지정
예)
[root@solaris203.nuxshool.org:/etc]#cat user_attr
root::::auths=solaris.*,solaris.grant;profiles=All
lp::::profiles=Printer Management
adm::::profiles=Log Management
gadd::::type=role;profiles=groupaddtest,All
testuser::::type=normal;roles=gadd
* auth_attr(인가 속성 데이타베이스)
: 인가와 인가 속성을 정의하고 그와 관련된 도움말 파일을 설정
authname:res1:res2:short_desc:long_desc:attr
- authname : 고유한 인가 이름, 접두사와 접미사 그룹으로 마침표로 분리
- short_desc, log_desc : 설명
- attr : 인가 정보(html파일)
예)
[root@solaris203.nuxshool.org:/etc/security]#cat auth_attr
solaris.admin.volmgr.:::Logical Volume Manager::
solaris.admin.volmgr.write:::Manage Logical Volumes::help=AuthVolmgrWrite.html
solaris.admin.volmgr.read:::View Logical Volumes::help=AuthVolmgrRead.html
solaris.admin.printer.modify:::Update Printer Information::help=AuthPrinterModify.html
* prof_attr(실행 프로파일 속성 데이타베이스)
: 프로파일을 정의하고 프로파일에 할당된 인가 정보를 출력하고 관련된 도움말 파일을 정의
-> 주. 인가정보가 있어야지 프로파일을 사용하도록 함
profname:res1:res2:desc:attr
- attr : 인가 정보(html파일), auth -> auth_attr의 인가 정보를 프로파일에 적용
예)
[root@solaris203.nuxshool.org:/etc/security]#cat prof_attr
iPlanet Directory Management:::Manage the iPlanet directory server:help=RtiDSMngmnt.html
Media Restore:::Restore files and file systems from backups:help=RtMediaRestore.html
Name Service Security:::Security related name service scripts/commands:help=RtNameServiceSecure.html
Device Management:::Control Access to Removable Media:auths=solaris.device.*,solaris.admin.serialmgr.*;help=RtDeviceMngmnt.html
Media Backup:::Backup files and file systems:help=RtMediaBkup.html
groupaddtest:::Able to groupadd:
* exec_attr(프로파일 실행 속성 데이타베이스)
: 프로파일에 할당된 특수 기능을 정의
name:policy:type:res1:res2:id:attr
- name : prof_attr파일에서 찾을수 있는 이름중 하나.
- policy : suser(슈퍼 사용자 정책 모델) -> 프로파일과 연관된 보안 정책으로, 한가지만 현재 나와 있음
- type : cmd(명령어) 현재 이것만 사용됨
- id : 실행할 명령어의 풀패스및 옵션
- attr : uid, euid, gid, egid를 사용
예)
[root@solaris203.nuxshool.org:/etc/security]#cat exec_attr
Printer Management:suser:cmd:::/usr/bin/enable:euid=lp
File System Management:suser:cmd:::/usr/sbin/mkfile:euid=0
File System Management:suser:cmd:::/usr/sbin/dfmounts:euid=0
Name Service Security:suser:cmd:::/usr/sbin/rpc.nisd:uid=0;gid=0
Printer Management:suser:cmd:::/usr/sbin/lpusers:euid=lp
Name Service Security:suser:cmd:::/usr/sbin/newkey:euid=0
Network Management:suser:cmd:::/usr/bin/setuname:euid=0
groupaddtest:suser:cmd:::/usr/sbin/groupadd:uid=0
* RBAC관련 명령어
- roleadd : 롤을 생성
#roleadd -P "Printer Management" Printers
#cat /etc/user_attr
Printers::::type=role;profiles=Printer Management
- rolemod, roledel : 롤을 수정하거나 삭제
#usermod -R Printers alice
- useradd의 -R옵션 : 롤을 사용하도록 허용
#usermod -R Printers -P All alice
#cat /etc/user_attr
alice::::type=normal;roles=Printers;profiles=All
- roles,profiels, auths : 사용자에게 할당된 것들을 보여줌
예)
[root@solaris203.nuxshool.org:/etc/security]#roles test10
minime
[root@solaris203.nuxshool.org:/etc/security]#profiles test10
Basic Solaris User
All
[root@solaris203.nuxshool.org:/etc/security]#auths test10
solaris.device.cdrw,solaris.profmgr.read,solaris.jobs.users,solaris.mail.mailq,solaris.admin.usermgr.read,solaris.admin.logsvc.read,solaris.admin.fsmgr.read,solaris.admin.serialmgr.read,solaris.admin.diskmgr.read,solaris.admin.procmgr.user,solaris.compsys.read,solaris.admin.printer.read,solaris.admin.prodreg.read,solaris.admin.dcmgr.read,solaris.snmp.read,solaris.project.read,solaris.admin.patchmgr.read,solaris.network.hosts.read,solaris.admin.volmgr.read
* test
- 테스트목적 -
일반사용자 testuser 유저에게 root만이 사용할수 있는 groupadd 명령어를 사용할수 있도록 해보자!
1. 롤 생성
#roleadd -u 1000 -g 10 -d /export/home/gadd -m gadd
#passwd gadd
2. 프로파일에 등록
#vi /etc/security/prof_attr
groupaddtest:::Able to groupadd:
3. 프로파일을 롤에게 추가시킴
#more /etc/user_attr
#rolemod -P groupaddtest,All gadd
4. /etc/user_attr파일에 등록이 됐나 확인
5. 유저생성
#useradd -u 1001 -g 10 -d /export/home/testuser -m -s /bin/ksh -R gadd testuser
#passwd testuser
6. 사용할 명령어를 등록
#vi /etc/security/exec_attr
groupaddtest:suser:cmd:::/usr/sbin/groupadd:uid=0
7. 루트가 아닌 유저로 /usr/sbin/groupadd을 실행해보고 su gadd해서 다시 실행테스트를 해보자!
8. testuser로 /usr/sbin/groupadd을 실행해보고 su gadd해서 다시 실행테스트를 해보자
- Total
- Today
- Yesterday
- 컴퓨터 소음
- 오라클
- 솔라리스
- Oracle
- Unix
- Storage
- 리눅스
- XP설치
- 컴퓨터 다운
- 넷백업
- Linux
- network
- Cisco
- 키보드 단축키
- 윈도우즈 2000
- RHEL4
- dell omsa
- hp-ux
- netbackup
- unix 보안
- 컴퓨터 관리
- Solaris
- Router
- dell 서버
- pc정보
- PC최적화
- rhel5
- 보안
- 아파치 보안
- switch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |