관리 역할
Junos OS 특정 종류의 시스템 관리자 역할을 할 시스템 사용자를 정의할 수 있습니다. 관리 역할 속성을 갖도록 로그인 클래스를 구성하여 사용자에게 관리 역할을 할당할 수 있습니다. audit-officer, crypto-officer, security-officer, ids-officer와 같은 역할 속성 중 하나를 관리 사용자에게 지정할 수 있습니다.
관리 역할을 디자인하는 방법
시스템 사용자는 사용자가 시스템에 대한 특정 종류의 관리자 역할을 할 수 있도록 하는 클래스의 멤버가 될 수 있습니다. 항목을 보거나 수정하기 위해 특정 역할이 필요하면 사용자가 시스템에서 얻을 수 있는 정보의 범위가 제한됩니다. 또한 사용자가 수정하거나 관찰할 수 있는 시스템의 양을 제한합니다. 시스템 관리자는 관리 역할을 디자인할 때 다음 지침을 따라야 합니다.
어떤 사용자도 시스템에 (으)로 로그인할 수 없도록
root
합니다.각 사용자를 사용자의 의무를 수행하는 데 필요한 가장 작은 권한 집합으로 제한합니다.
어떤 사용자도 권한 플래그가 포함된 로그인 클래스에 속하도록
shell
허용하지 않습니다. 권한 플래그를shell
사용하면 사용자가 CLI에서start shell
명령을 실행할 수 있습니다.사용자가 롤백 권한을 가질 수 있도록 허용합니다. 롤백 권한을 통해 사용자는 관리자가 수행한 작업을 실행 취소할 수 있지만 변경 내용을 커밋할 수는 없습니다.
역할에 필요한 권한을 갖도록 로그인 클래스를 구성하여 사용자에게 관리 역할을 할당할 수 있습니다. 이름으로 구성 문 및 명령에 대한 액세스를 허용하거나 거부하도록 각 클래스를 구성할 수 있습니다. 이러한 제한은 클래스에 구성된 모든 권한 플래그보다 우선합니다. 다음 역할 속성 중 하나를 관리자에게 할당할 수 있습니다.
Crypto-administrator
- 사용자가 암호화 데이터를 구성하고 모니터링할 수 있습니다.Security-administrator
- 사용자가 보안 데이터를 구성하고 모니터링할 수 있습니다.Audit-administrator
- 사용자가 감사 데이터를 구성하고 모니터링할 수 있습니다.IDS-administrator
- 사용자가 침입 탐지 서비스(IDS) 보안 로그를 모니터링하고 지울 수 있습니다.
각 역할은 다음과 같은 특정 관리 기능을 수행할 수 있습니다.
Cryptographic Administrator
암호화 자체 테스트를 구성합니다.
암호화 보안 데이터 매개 변수를 수정합니다.
Audit Administrator
audit review 검색 및 정렬 기능을 구성하고 삭제합니다.
감사 기록을 검색하고 정렬합니다.
검색 및 정렬 매개 변수를 구성합니다.
감사 로그를 수동으로 삭제합니다.
Security Administrator
암호화 자체 테스트 동작을 호출, 결정 및 수정합니다.
감사 분석 및 감사 선택 기능을 활성화, 비활성화, 결정 및 수정하고 감사 로그를 자동으로 삭제하도록 디바이스를 구성합니다.
보안 경보를 활성화하거나 비활성화합니다.
전송 계층 연결에 대한 할당량 제한을 지정합니다.
제어된 연결 지향 리소스에 대한 할당량에 대한 제한, 네트워크 식별자 및 기간을 지정합니다.
ICMP(Internet Control Message Protocol) 또는 ARP(Address Resolution Protocol)를 사용할 수 있는 네트워크 주소를 지정합니다.
타임스탬프에 사용되는 시간과 날짜를 구성합니다.
인증되지 않은 정보 플로우 보안 기능 정책(SFP), 인증된 정보 플로우 보안 기능 정책, 인증되지 않은 디바이스 서비스 및 임의 액세스 제어 정책에 대한 정보 플로우 또는 액세스 제어 규칙과 속성을 쿼리, 수정, 삭제 및 생성합니다.
인증되지 않은 정보 플로우 SFP, 인증된 정보 플로우 SFP, 인증되지 않은 평가 대상(TOE) 서비스 및 임의 액세스 제어 정책에서 객체 정보가 작성될 때 기본값보다 우선하는 초기 값을 지정합니다.
관리 세션을 설정할 수 있는 주소를 제어하는 규칙을 만들거나, 삭제하거나, 수정합니다.
사용자, 주체 및 개체와 연관된 보안 특성을 지정하고 취소합니다.
장치가 관리자에게 경고하는 감사 저장 용량의 백분율을 지정합니다.
추가 인증 시도를 위해 점진적 조절이 적용되고 연결이 삭제되기 전에 발생할 수 있는 SSH 또는 CLI를 통해 인증 실패를 처리하고 실패한 인증 시도 횟수를 수정합니다.
디바이스의 기본 네트워크 구성을 관리합니다.
IDS Administrator- IDS 보안 경보, 침입 경보, 감사 선택 및 감사 데이터를 지정합니다.
이러한 관리 역할에 대해 작성된 클래스에서 security-role 속성을 설정해야 합니다. 이 속성은 구성만으로는 수행할 수 없는 작업인 보안 로그를 표시하고 지울 수 있는 사용자를 제한합니다.
예를 들어, IDS 로그 지우기 및 표시를 IDS 관리자 역할로 제한하려면 IDS 관리자 역할에 대해 작성된 클래스에서 security-role 속성을 ids-admin
설정해야 합니다. 마찬가지로, security-role을 다른 관리자 값 중 하나로 설정하여 해당 클래스가 비-IDS 로그만 지우고 표시할 수 없도록 제한해야 합니다.
사용자가 기존 구성을 삭제해도 삭제된 구성의 계층 수준 아래에 있는 구성 문(사용자가 수정할 권한이 없는 하위 개체)은 디바이스에 남아 있습니다.
예: 관리 역할을 구성하는 방법
이 예에서는 다른 모든 관리 역할과 별도로 고유한 고유 권한 집합에 대해 개별 관리 역할을 구성하는 방법을 보여 줍니다.
요구 사항
이 기능을 구성하기 전에 디바이스 초기화 이외의 작업은 필요하지 않습니다.
개요
이 예에서는 4개의 관리자 사용자 역할을 구성하는 방법을 보여 줍니다.
audit-officer
수업의audit-admin
crypto-officer
수업의crypto-admin
security-officer
수업의security-admin
ids-officer
수업의ids-admin
클래스가 security-admin
구성되면 클래스를 만든 security-admin
사용자로부터 관리자를 만들 수 있는 권한이 취소됩니다. 새 사용자 및 로그인 생성은 의 재량 security-officer
에 따릅니다.
이 예에서는 이전 목록에 표시된 4개의 관리 사용자 역할(audit admin, crypto admin, security admin 및 ids admin)을 생성합니다. 각 역할에 대해 역할에 대한 관련 권한 플래그를 할당합니다. 그런 다음 각 관리 역할의 이름으로 구성 문 및 명령에 대한 액세스를 허용하거나 거부합니다. 이러한 특정 제한 사항은 클래스에 구성된 권한 플래그보다 우선합니다. 예를 들어, 만 crypto-admin
명령을 실행할 request system set-encryption-key
수 있으며, 액세스하려면 권한 플래그가 security
있어야 합니다. 오직 이(가 security-admin
) 구성에 명령문을 system time-zone
포함할 수 있으며, 이를 위해서는 권한 플래그가 system-control
있어야 합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣은 다음, 구성 모드에서 commit
을(를) 입력합니다.
set system login class audit-admin permissions security set system login class audit-admin permissions trace set system login class audit-admin permissions maintenance set system login class audit-admin allow-commands "^clear (log|security log)" set system login class audit-admin deny-commands "^clear (security alarms|system login lockout)|^file (copy|delete|rename)|^request (security|system set-encryption-key)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell"; set system login class audit-admin security-role audit-administrator set system login class crypto-admin permissions admin-control set system login class crypto-admin permissions configure set system login class crypto-admin permissions maintenance set system login class crypto-admin permissions security-control set system login class crypto-admin permissions system-control set system login class crypto-admin permissions trace set system login class crypto-admin allow-commands "^request system set-encryption-key" set system login class crypto-admin deny-commands "^clear (log|security alarms|security log|system login lockout)|^file (copy|delete|rename)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell" set system login class crypto-admin allow-configuration-regexps ["security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "system fips self-test after-key-generation"] set system login class crypto-admin security-role crypto-administrator set system login class security-admin permissions all set system login class security-admin deny-commands "^clear (log|security log)|^(clear|show) security alarms alarm-type idp|^request (security|system set-encryption-key)|^rollback|^start shell" set system login class security-admin deny-configuration-regexps ["security alarms potential-violation idp" "security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "security log cache" "security log exclude .* event-id IDP_.*" "system fips self-test after-key-generation"] set system login class security-admin security-role security-administrator set system login class ids-admin permissions configure set system login class ids-admin permissions security-control set system login class ids-admin permissions trace set system login class ids-admin permissions maintenance set system login class ids-admin allow-configuration-regexps ["security alarms potential-violation idp" "security log exclude .* event-id IDP_.*"] set system login class ids-admin deny-commands "^clear log|^(clear|show) security alarms (alarm-id|all|newer-than|older-than|process|severity)|^(clear|show) security alarms alarm-type (authentication|cryptographic-self-test|decryption-failures|encryption-failures|ike-phase1-failures|ike-phase2-failures|key-generation-self-test|non-cryptographic-self-test|policy|replay-attacks)|^file (copy|delete|rename)|^request (security|system set-encryption-key)|^rollback|^set date|^show security (dynamic-policies|match-policies|policies)|^start shell" set system login class ids-admin deny-configuration-regexps ["security alarms potential-violation (authentication|cryptographic-self-test|decryption-failures|encryption-failures|ike-phase1-failures|ike-phase2-failures|key-generation-self-test|non-cryptographic-self-test|policy|replay-attacks)"] set system login class ids-admin security-role ids-admin set system login user audit-officer class audit-admin set system login user crypto-officer class crypto-admin set system login user security-officer class security-admin set system login user ids-officer class ids-admin set system login user audit-officer authentication plain-text-password set system login user crypto-officer authentication plain-text-password set system login user security-officer authentication plain-text-password set system login user ids-officer authentication plain-text-password
단계별 절차
관리 역할 구성하기:
-
audit-admin
로그인 클래스를 만듭니다.[edit] user@host# edit system login class audit-admin [edit system login class audit-admin] user@host# set permissions security user@host# set permissions trace user@host# set permissions maintenance
-
audit-admin
로그인 클래스 제한을 구성합니다.[edit system login class audit-admin] user@host# set allow-commands "^clear (log|security log)" user@host# set deny-commands "^clear (security alarms|system login lockout)|^file (copy|delete|rename)|^request (security|system set-encryption-key)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell" user@host# set security-role audit-administrator
-
crypto-admin
로그인 클래스를 만듭니다.[edit] user@host# edit system login class crypto-admin [edit system login class crypto-admin] user@host# set permissions admin-control user@host# set permissions configure user@host# set permissions maintenance user@host# set permissions security-control user@host# set permissions system-control user@host# set permissions trace
-
crypto-admin
로그인 클래스 제한을 구성합니다.[edit system login class crypto-admin] user@host# set allow-commands "^request system set-encryption-key" user@host# set deny-commands "^clear (log|security alarms|security log|system login lockout)|^file (copy|delete|rename)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell" user@host# set allow-configuration-regexps ["security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "system fips self-test after-key-generation"] user@host# set security-role crypto-administrator
-
security-admin
로그인 클래스를 만듭니다.[edit] user@host# edit system login class security-admin [edit system login class security-admin] user@host# set permissions all
-
security-admin
로그인 클래스 제한을 구성합니다.[edit system login class security-admin] user@host# set deny-commands "^clear (log|security log)|^(clear|show) security alarms alarm-type idp|^request (security|system set-encryption-key)|^rollback|^start shell" user@host# set deny-configuration-regexps ["security alarms potential-violation idp" "security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "security log cache" "security log exclude .* event-id IDP_.*" "system fips self-test after-key- generation"] user@host# set security-role security-administrator
-
ids-admin
로그인 클래스를 만듭니다.[edit] user@host# edit system login class ids-admin [edit system login class ids-admin] user@host# set permissions configure user@host# set permissions maintenance user@host# set permissions security-control user@host# set permissions trace
-
ids-admin
로그인 클래스 제한을 구성합니다.[edit system login class ids-admin] user@host# set allow-configuration-regexps ["security alarms potential-violation idp" "security log exclude .* event-id IDP_.*" user@host# set deny-commands "^clear log|^(clear|show) security alarms (alarm-id|all|newer-than|older-than|process|severity)|^(clear|show) security alarms alarm-type (authentication|cryptographic-self-test|decryption-failures|encryption-failures|ike-phase1-failures|ike-phase2-failures|key-generation-self-test|non-cryptographic-self-test|policy|replay-attacks)|^file (copy|delete|rename)|^request (security|system set-encryption-key)|^rollback|^set date|^show security (dynamic-policies|match-policies|policies)|^start shell" user@host# set deny-configuration-regexps ["security alarms potential-violation (authentication|cryptographic-self-test|decryption-failures|encryption-failures|ike-phase1-failures|ike-phase2-failures|key-generation-self-test|non-cryptographic-self-test|policy|replay-attacks)"] user@host# set security-role ids-administrator
-
역할에 사용자를 할당합니다.
[edit] user@host# edit system login [edit system login] user@host# set user audit-officer class audit-admin user@host# set user crypto-officer class crypto-admin user@host# set user security-officer class security-admin user@host# set user ids-officer class ids-admin
-
사용자에 대한 암호를 구성합니다.
[edit system login] user@host# set user audit-officer authentication plain-text-password user@host# set user crypto-officer authentication plain-text-password user@host# set user security-officer authentication plain-text-password user@host# set user ids-officer authentication plain-text-password
결과
구성 모드에서 show system 명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
[edit] user@host# show system system { login { class audit-admin { permissions [ maintenance security trace ]; allow-commands "^clear (log|security log)"; deny-commands "^clear (security alarms|system login lockout)|^file (copy|delete|rename)|^request (security|system set-encryption-key)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell"; security-role audit-administrator; } class crypto-admin { permissions [ admin-control configure maintenance security-control system-control trace ]; allow-commands "^request (system set-encryption-key)"; deny-commands "^clear (log|security alarms|security log|system login lockout)|^file (copy|delete|rename)|^rollback|^set date|^show security (alarms|dynamic-policies|match-policies|policies)|^start shell"; allow-configuration-regexps [ "security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "system fips self-test after-key-generation" ]; security-role crypto-administrator; } class security-admin { permissions [all]; deny-commands "^clear (log|security log)|^(clear|show) security alarms alarm-type idp|^request (security|system set-encryption-key)|^rollback|^start shell"; deny-configuration-regexps [ "security alarms potential-violation idp" "security (ike|ipsec) (policy|proposal)" "security ipsec ^vpn$ .* manual (authentication|encryption|protocol|spi)" "security log exclude .* event-id IDP_.*" "system fips self-test after-key-generation" ]; security-role security-administrator; } class ids-admin { permissions [ configure maintenance security-control trace ]; deny-commands "^clear log|^(clear|show) security alarms (alarm-id|all|newer-than|older-than|process|severity)|^(clear|show) security alarms alarm-type (authentication | cryptographic-self-test | decryption-failures | encryption-failures | ike-phase1-failures | ike-phase2-failures|key-generation-self-test | non-cryptographic-self-test |policy | replay-attacks) | ^file (copy|delete|rename) |^request (security|system set-encryption-key) | ^rollback | ^set date | ^show security (dynamic-policies|match-policies|policies) |^start shell"; allow-configuration-regexps [ "security alarms potential-violation idp" "security log exclude .* event-id IDP_.*" ]; deny-configuration-regexps "security alarms potential-violation (authentication|cryptographic-self-test|decryption- failures|encryption-failures|ike-phase1-failures|ike-phase2-failures| key-generation-self-test|non-cryptographic-self-test|policy|replay-attacks)" security-role ids-administrator; } user audit-officer { class audit-admin; authentication { encrypted-password "$1$ABC123"; ## SECRET-DATA } } user crypto-officer { class crypto-admin; authentication { encrypted-password "$1$ABC123."; ## SECRET-DATA } } user security-officer { class security-admin; authentication { encrypted-password "$1$ABC123."; ##SECRET-DATA } } user ids-officer { class ids-admin; authentication { encrypted-password "$1$ABC123/"; ## SECRET-DATA } } } }
디바이스를 구성한 후 구성 모드에서 commit을(를) 입력하십시오.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
로그인 권한 확인
목적
현재 사용자의 로그인 권한을 확인합니다.
작업
운영 모드에서 명령을 입력하여 show cli authorization
사용자의 로그인 권한을 확인합니다.
user@host> show cli authorization Current user: 'example' class 'super-user' Permissions: admin -- Can view user accounts admin-control-- Can modify user accounts clear -- Can clear learned network info configure -- Can enter configuration mode control -- Can modify any config edit -- Can edit full files field -- Can use field debug commands floppy -- Can read and write the floppy interface -- Can view interface configuration interface-control-- Can modify interface configuration network -- Can access the network reset -- Can reset/restart interfaces and daemons routing -- Can view routing configuration routing-control-- Can modify routing configuration shell -- Can start a local shell snmp -- Can view SNMP configuration snmp-control-- Can modify SNMP configuration system -- Can view system configuration system-control-- Can modify system configuration trace -- Can view trace file settings trace-control-- Can modify trace file settings view -- Can view current values and statistics maintenance -- Can become the super-user firewall -- Can view firewall configuration firewall-control-- Can modify firewall configuration secret -- Can view secret statements secret-control-- Can modify secret statements rollback -- Can rollback to previous configurations security -- Can view security configuration security-control-- Can modify security configuration access -- Can view access configuration access-control-- Can modify access configuration view-configuration-- Can view all configuration (not including secrets) flow-tap -- Can view flow-tap configuration flow-tap-control-- Can modify flow-tap configuration idp-profiler-operation-- Can Profiler data pgcp-session-mirroring-- Can view pgcp session mirroring configuration pgcp-session-mirroring-control-- Can modify pgcp session mirroring configura tion storage -- Can view fibre channel storage protocol configuration storage-control-- Can modify fibre channel storage protocol configuration all-control -- Can modify any configuration Individual command authorization: Allow regular expression: none Deny regular expression: none Allow configuration regular expression: none Deny configuration regular expression: none
이 출력에는 로그인 권한이 요약되어 있습니다.
로컬 관리자 계정을 구성하는 방법
수퍼유저 권한은 라우터에서 모든 명령을 사용할 수 있는 권한을 사용자에게 부여하며 일반적으로 시스템 관리자와 같은 선택된 소수의 사용자를 위해 예약됩니다. 시스템 관리자는 권한이 없는 사용자가 수퍼유저 명령에 액세스하지 못하도록 로컬 관리자 계정을 암호로 보호해야 합니다. 이러한 수퍼유저 명령을 사용하여 시스템 구성을 변경할 수 있습니다. RADIUS 인증을 사용하는 사용자는 로컬 암호도 구성해야 합니다. RADIUS 서버가 응답하지 않으면 로그인 프로세스가 로컬 관리자 계정의 로컬 비밀번호 인증으로 되돌아갑니다.
다음 예제에서는 수퍼유저 권한으로 호출 admin
된 암호로 보호된 로컬 관리 계정을 구성하는 방법을 보여 줍니다.
[edit] system { login { user admin { uid 1000; class superuser; authentication { encrypted-password "<PASSWORD>"; ## SECRET-DATA } } } }