목차/09. 사용자 관리 — 인증·역할·서버

09사용자 관리 — 인증·역할·서버사용자 관리 — 인증·역할·서버

이 장은 Gaia의 사용자 계정·암호·역할(RBA)·인증 서버·시스템 그룹·GUI 클라이언트를 다루는 모든 작업 을 빠짐없이 정리합니다. 로그인 암호를 바꾸고 2단계 인증을 켜는 일부터, 역할로 권한을 세분화하고, RADIUS·TACACS+ 같은 외부 인증 서버에 Gaia를 연결하며, 암호 정책을 강제하는 일까지 — 원문이 표와 절차로 길게 나열한 내용을 그대로 담되, 왜 그렇게 하는지를 풀어 둡니다.

인증 — 내 로그인 암호 바꾸기

Gaia 사용자는 자신의 로그인 암호를 Gaia Portal 또는 Gaia Clish에서 바꿀 수 있습니다.

Gaia Portal에서 암호 바꾸기

  1. 웹 브라우저로 Gaia Portal에 접속합니다.
   https://<Gaia 관리 인터페이스 IP 주소>
   

Gaia Portal의 기본 포트(443)를 바꿨다면 포트도 함께 넣습니다(https://<IP 주소>:<포트>). 2. 탐색 트리에서 User Management > Authentication 을 클릭하고 Change Password 섹션으로 갑니다. 3. Old Password 에 기존 암호를 입력합니다. 4. New Password 에 새 암호를 입력합니다. 5. Confirm New Password 에 새 암호를 한 번 더 입력합니다. 6. Apply 를 클릭합니다.

Gaia Clish에서 암호 바꾸기

대화식으로 자신의 로그인 암호를 바꿉니다.

set selfpasswd

Gaia 로그인 2단계 인증(2FA)

2단계 인증(2FA)시간 기반 인증 앱 을 써서 Gaia 로그인에 인증 요소를 하나 더 더합니다. 켜 두면 Gaia 운영체제로 들어오는 모든 로그인이 보호됩니다 — Gaia Portal, 원격(SSH·Telnet)·로컬(콘솔·LOM) CLI 셸 전부, RESTful API 접근까지 포함됩니다. 보호 대상 CLI 셸은 다음과 같습니다.

  • Gaia Clish(/bin/cli.sh)
  • Scalable Platform의 Gaia gClish(/usr/bin/gclish, /bin/clish)
  • Expert mode — Bash(/bin/bash)
  • C shell(/bin/csh), Turbo C shell(/bin/tcsh), Bourne shell(/bin/sh)
  • Gaia Portal의 터미널 셸

설정은 Gaia Portal, Gaia Clish, Gaia RESTful API 세 가지로 할 수 있습니다.

특정 사용자에게 2FA 강제하기 (1단계)

관리자는 특정 사용자에게 2FA를 강제할 수 있습니다. 각 사용자는 다음 로그인 때 인증 키를 생성 합니다(2단계 참조).

Gaia Portal

  1. Gaia Portal에 관리자로 로그인합니다.
  2. User Management > Users 를 클릭합니다.
  3. 해당 사용자를 선택합니다.
  4. 상단 도구 모음에서 Edit 를 클릭합니다.
  5. Force to use Two-Factor Authentication 을 선택합니다.
  6. OK 를 클릭합니다.

Gaia Clish

  1. 명령줄에 관리자로 로그인합니다. 기본 셸이 Expert mode이면 clish 로 Gaia Clish에 들어갑니다(Scalable Platform에서는 gclish).
  2. 특정 사용자에게 2FA를 강제합니다.
   set user <username> force-two-factor-authentication yes
   
  1. 저장합니다 — save config
  2. 강제 상태와 2FA 상태를 확인합니다.
   show user <username> force-two-factor-authentication
   show user <username> two-factor-authentication state
   

모든 사용자에게 한꺼번에 2FA 강제하기 (1단계)

관리자는 모든 관리자를 포함한 전체 사용자 에게 2FA를 동시에 강제할 수 있습니다.

Gaia Portal

  1. Gaia Portal에 관리자로 로그인합니다.
  2. User Management > Password Policy 를 클릭합니다.
  3. Two-Factor Authentication 섹션에서 Force all users to use Two-Factor Authentication 을 선택합니다.
  4. Apply 를 클릭합니다.
  5. 다음 확인 메시지에 Yes 를 클릭합니다(이 작업 후에는 로그아웃되어 다시 로그인 해야 합니다).
   After performing this operation, you will be logged out
   and will need to log in again.
   Are you sure you want to proceed?
   

Gaia Clish

  1. 명령줄에 관리자로 로그인하고 Gaia Clish(또는 gClish)로 들어갑니다.
  2. 암호 정책에서 전체 사용자에게 2FA를 강제합니다.
   set password-controls force-two-factor-authentication yes
   
  1. 저장합니다 — save config
  2. 강제 상태를 확인합니다.
   show password-controls force-two-factor-authentication
   

첫 로그인 경험 (2단계)

2FA가 강제됐는데 아직 키를 만들지 않았거나, 관리자가 새 키를 생성해 준 사용자가 다음 로그인 때 겪는 과정 입니다.

Gaia Portal에서

  1. Gaia Portal에 접속합니다.
  2. 사용자 이름을 입력하고 Enter(또는 Next)를 누릅니다.
  3. 암호를 입력하고 Enter(또는 Login)를 누릅니다.
  4. Set Up 을 클릭하고 화면 안내에 따라 모바일 2FA 앱에 계정을 구성합니다.
  5. 지원되는 시간 기반 2FA 앱을 모바일에 설치합니다(sk181854 참고).
  6. 2FA 앱에서 — 새 계정 추가 버튼을 누르고, 계정 유형을 고른 뒤, Gaia Portal에 표시된 QR 코드를 스캔 합니다(또는 미리 공유된 키를 입력).
  7. Next 를 클릭합니다.
  8. 2FA 백업 키를 저장합니다 — Gaia Portal에서 복사하거나 Download backup keys 를 클릭합니다. > 경고 — Gaia Portal은 이 백업 키를 딱 한 번만 보여 줍니다. 키는 안전한 곳에 보관하고 허가받지 않은 사람과 공유하지 마세요. 키는 다음 파일에서도 찾을 수 있습니다. > `` > /etc/2fa_keys/<username>/.google_authenticator > ``
  9. Done 을 클릭합니다.
  10. 백업 키를 저장하는 것을 잊었으면 Cancel 로 이전 페이지로 돌아가고, 이미 저장했으면 OK 를 클릭합니다.

CLI에서 (기본 셸이 무엇이든 동일)

  1. 명령줄에 접속합니다.
  2. 사용자 이름과 암호를 입력합니다.
  3. 다음 프롬프트에 y 를 입력하고 Enter를 누릅니다.
   Your security administrator requires you to use Two-
   Factor Authentication. Do you want to proceed? (y/n):
   
  1. CLI 셸이 2FA 앱용 QR 코드, 비밀 키, 긴급 스크래치 코드(백업 키) 를 보여 줍니다(역시 한 번만 보여 주므로 안전하게 보관). 백업 키 파일 경로는 위와 같습니다.
  2. 2FA 앱을 설치합니다(sk181854).
  3. 2FA 앱에서 새 계정을 추가하고 QR 코드를 스캔(또는 비밀 키 입력)합니다.

현재 사용자만 2FA 켜기

필요한 권한이 있는 사용자는 현재 세션에서 자기 계정에만 2FA를 켤 수 있습니다.

Gaia Portal

  1. Gaia Portal에 로그인합니다.
  2. User Management > Authentication 을 클릭합니다.
  3. Two-Factor Authentication Settings 섹션에서 Enable Two-Factor Authentication 을 클릭합니다.
  4. 2FA 앱을 설치하고(sk181854), 새 계정을 추가해 QR 코드를 스캔합니다.
  5. Next → 백업 키를 저장(한 번만 표시) → Done → 필요 시 OK.

Gaia Clish

  1. Gaia Clish(또는 gClish)에 들어갑니다.
  2. 현재 로그인한 사용자에게 2FA를 켭니다.
   set two-factor-authentication state on
   
  1. 저장합니다 — save config
  2. 상태를 확인합니다.
   show user <username> force-two-factor-authentication
   show two-factor-authentication state
   

새 2FA 키 생성하기

관리자는 특정 사용자의 2FA 키를 새로 만들 수 있습니다. 키 구성은 그 사용자의 다음 로그인 때 일어납니다.

Gaia Portal (특정 사용자)

  1. Gaia Portal에 관리자로 로그인합니다.
  2. User Management > Users 를 클릭합니다.
  3. 사용자(자기 자신이든 다른 사용자든)를 선택합니다.
  4. 상단 도구 모음에서 Regenerate Key 를 클릭합니다.
  5. OK 로 확인합니다.
  6. 그 사용자는 다음 접속 때 사용자 이름·암호를 입력하고, 화면 안내(Portal은 Set Up, Clish는 y)를 따른 뒤, 2FA 앱에서 기존 계정을 지우고 새 계정을 추가 합니다.

Gaia Clish (특정 사용자)

  1. Gaia Clish(또는 gClish)에 들어갑니다.
  2. 새 키 생성을 강제합니다.
   set user <username> regenerate-two-factor-authentication
   
  1. 저장합니다 — save config

Gaia Portal (현재 사용자, 현재 로그인 중에 즉시) — 관리자가 자기 키를 새로 만들고 이번 로그인 중에 바로 구성하는 방식입니다. 위와 같은 잠금 경고가 적용됩니다.

  1. Gaia Portal에 로그인합니다.
  2. User Management > AuthenticationTwo-Factor Authentication Settings 로 갑니다.
  3. Regenerate the Authentication Key 를 클릭합니다.
  4. Gaia 로그인 암호를 입력합니다.
  5. 2FA 앱에서 기존 계정을 지우고 새 계정을 추가해 QR 코드를 스캔합니다.
  6. Next → 백업 키 저장(한 번만 표시) → Done → 필요 시 OK.

2FA 끄기

특정 사용자의 강제 끄기 (1단계) — 관리자가 강제를 해제하면, 그 사용자가 직접 2FA를 꺼야 합니다(2단계).

  • Gaia PortalUser Management > Users → 사용자 선택 → EditForce to use Two-Factor Authentication 해제 → OK.
  • Gaia Clish
  set user <username> force-two-factor-authentication no
  save config
  show user <username> force-two-factor-authentication
  show user <username> two-factor-authentication state
  

모든 사용자의 강제 끄기 (1단계) — 강제를 해제한 뒤, 각 사용자가 직접 꺼야 합니다.

  • Gaia PortalUser Management > Password PolicyTwo-Factor Authentication 에서 Force all users to use Two-Factor Authentication 해제 → Apply. 이어서 User Management > Users 에서 2FA가 Enabled 인 사용자마다 EditForce to use Two-Factor Authentication 해제 → OK.
  • Gaia Clish
  set password-controls force-two-factor-authentication no
  save config
  show users
  show user <username> two-factor-authentication state
  set user <username> force-two-factor-authentication no   # 켜져 있는 사용자마다
  save config
  

현재 사용자만 끄기 (2단계) — 강제가 전체 정책에도, 사용자 객체에도 걸려 있지 않을 때만 가능합니다.

  • Gaia Portal — 로그인(자격증명+2FA 키) → User Management > AuthenticationTwo-Factor Authentication SettingsDisable Two-Factor Authentication → Gaia 로그인 암호 입력 → OKYes. User Management > Users 에서 자기 행의 Two-Factor AuthenticationDisabled 인지 확인합니다.
  • Gaia Clish
  show user <your username> force-two-factor-authentication
  show two-factor-authentication state
  set two-factor-authentication state off
  save config
  

2FA 명령 정리

목적명령
특정 사용자 강제`set user <username> force-two-factor-authentication {yes \no}`
특정 사용자 강제·상태 확인show user <username> force-two-factor-authentication / show user <username> two-factor-authentication state
전체 사용자 강제`set password-controls force-two-factor-authentication {yes \no}`
전체 강제 확인show password-controls force-two-factor-authentication
현재 사용자 켜기/끄기`set two-factor-authentication state {on \off}`
현재 사용자 상태show two-factor-authentication state
새 키 생성(다음 로그인 시)set user <username> regenerate-two-factor-authentication

문제 해결 — 스마트폰을 잃고 백업 코드도 없을 때

상황가능한 조치
로그인 가능한 Gaia 관리자가 한 명 이상 있다관리자가 영향받은 사용자의 2FA 키를 새로 생성 한다. 또는 Maintenance 부팅 모드로 들어가 해당 사용자의 /etc/2fa_keys/<username>/.google_authenticator 파일을 삭제한다.
로그인 가능한 Gaia 관리자가 한 명도 없다Boot Menu에서 Factory Defaults로 복원 하거나, 부팅 가능한 장치로 클린 설치한다(sk65205).

사용자(Users)

Gaia Portal과 Gaia Clish로 사용자 계정을 관리합니다 — 사용자 추가, 홈 디렉터리·기본 셸 수정, 암호 부여, 권한 부여를 할 수 있습니다.

기본으로 만들어져 있고 삭제할 수 없는 두 사용자가 있습니다.

사용자설명
adminGaia Portal·Gaia Clish의 모든 기능에 완전한 읽기/쓰기 권한. User ID가 0 이라 root 사용자의 모든 권한을 가집니다.
monitor모든 기능에 읽기 전용 이며 자기 암호만 바꿀 수 있습니다. 계정을 쓰려면 먼저 암호를 부여 해야 합니다.

새 사용자는 기본적으로 Gaia Portal·Gaia Clish/gClish에 대해 읽기 전용 권한만 가지며, 로그인하려면 먼저 하나 이상의 역할을 할당 해야 합니다.

사용자를 만들 때 미리 정의된 역할(권한)을 함께 줄 수 있습니다.

Gaia Portal에서 사용자 계정 관리

전체 사용자 목록은 User Management > Users 에서 봅니다(내 사용자 이름은 Portal 오른쪽 위 모서리에도 표시됩니다).

새 사용자 추가

  1. User Management > Users 를 클릭합니다.
  2. Add 를 클릭합니다.
  3. Login Name 에 사용자 이름을 입력합니다 — 1~32자, 영숫자·대시(-)·밑줄(_) 만 허용됩니다.
  4. Password 에 암호를 입력합니다 — 모든 출력 가능 문자 허용, 길이 6~128자. > 중요 — 암호에 별표(*)를 쓰지 마세요. 그런 암호를 가진 사용자는 로그인할 수 없습니다.
  5. Confirm Password 에 암호를 한 번 더 입력합니다.
  6. Real Name 에 실명이나 설명을 입력합니다(공백 포함 영숫자). 기본값은 Login Name의 첫 글자를 대문자로 만든 것입니다.
  7. Home Directory 에 홈 디렉터리를 입력합니다 — 반드시 /home/ 의 하위 디렉터리 여야 하며, 없으면 자동 생성됩니다.
  8. Shell 에서 기본 로그인 셸을 고릅니다(아래 Login Shells 표 참조).
  9. 다음 로그인 때 암호를 강제로 바꾸게 하려면 User must change password at next logon 을 선택합니다. > 참고Password Policy 페이지의 Lockout users after password expiration 에 설정된 일수 안에 로그인하지 않으면, 그 사용자는 아예 로그인하지 못하게 될 수 있습니다.
  10. (선택) UID 에 User ID를 입력하거나 고릅니다 — 관리자 사용자는 0(기본), 비관리자 사용자는 103~65533 의 정수(예: 기본 셸이 /usr/bin/scponly 인 사용자, sk88981).
  11. Access Mechanisms 섹션에서 — Web(Gaia Portal 접근), Clish Access(Gaia Clish 접근), Gaia API(RESTful API 접근)를 선택합니다.
  12. Available Roles 목록에서 줄 역할을 고르고(여러 개는 CTRL+좌클릭) Add >Assigned Roles 로 옮깁니다.
  13. OK 를 클릭합니다.

로그인 셸(Login Shells)

설명
/etc/cli.sh기본값. 전체 Gaia Clish를 씁니다. ping 같은 기본 네트워킹 명령도 기본 제공되고, 역할에 넣은 확장 명령으로 Linux 명령을 더 쓸 수 있습니다. expert 명령으로 Expert mode(Bash)에 들어갈 수 있습니다.
/bin/bashBASH 셸 — Expert mode로 작업. clish 로 Gaia Clish에 들어갈 수 있습니다.
/bin/cshCSH 셸. clish 로 Gaia Clish 진입 가능.
/bin/shSH 셸. clish 로 Gaia Clish 진입 가능.
/bin/tcshTCSH 셸. clish 로 Gaia Clish 진입 가능.
/usr/bin/scponlyGaia 로그인 불가. SCP로만 접속해 파일을 주고받을 수 있고, 다른 명령은 금지됩니다.
/sbin/nologinGaia 로그인 불가.

사용자 구성 변경User Management > Users → 사용자 선택 → Edit 에서 Real Name, Home Directory, Shell, 다음 로그인 시 암호 변경 여부, 역할(추가 Add > / 제거 Remove >)을 바꾸고 OK.

사용자 삭제 — 사용자 선택 → DeleteOK.

Gaia Clish에서 사용자 계정 관리

로컬 사용자 추가

add user <UserName> uid <User ID> homedir <Path>

RADIUS 사용자 계정 추가

add user <UserName> uid 0 homedir <Path>

사용자 편집

set user <UserName>
      force-password-change {yes | no}
      gid <System Group ID>
      homedir <Path>
      lock-out off
      newpass <Password>
      password
      password-hash <Password Hash>
      realname <Name>
      shell <Login Shell>
      uid <User ID>

조회·삭제

show users                                   # 모든 사용자 요약
show user <UserName> [force-password-change] [gid] [homedir] [lock-out] [realname] [shell] [uid]
delete user <User ID>                         # 사용자 삭제(admin·monitor 불가)

파라미터

파라미터설명
user <UserName>고유 로그인 이름 — 1~32자, a-z A-Z 0-9 - _, 공백 불가.
uid <User ID>(선택) 권한을 식별하는 고유 User ID. 관리자·RADIUS 계정은 0(기본), 비관리자는 103~65533. /usr/bin/scponly 셸 사용자에 쓰는 UID(sk88981). 값을 비우면 다음 빈 순번을 자동 할당 합니다.
homedir <Path>홈 디렉터리. 반드시 /home/ 의 하위 디렉터리이며, 없으면 생성됩니다.
`force-password-change {yes \no}`yes 면 다음 로그인 때 암호를 강제로 바꾸게 합니다. set password-controls expiration-lockout-days 로 정한 기한 안에 로그인하지 않으면 아예 못 들어올 수 있습니다.
gid <System Group ID>사용자가 속한 기본 그룹의 System Group ID(0~65535). 기본값 100. add group·set group 으로 여러 그룹에 추가할 수 있습니다.
lock-out off잠긴 사용자를 잠금 해제 합니다(필요 시 암호 만료일도 조정).
newpass <Password>새 암호 설정(확인 없음). 평문으로 화면에 보이고 명령 이력에도 평문 저장 되므로 주의.
password대화식으로 새 사용자 암호 설정 — 두 번 입력해 확인하며 화면에 보이지 않 습니다.
password-hash <Password Hash>평문 대신 MD5·SHA256·SHA512 솔트 해시 로 설정(원본 암호는 최소 6자). 업그레이드·복원 스크립트용. cpopenssl passwd -help 로 해시를 생성합니다.
realname <Name>사용자 설명(보통 실명). 공백 포함 영숫자. 기본값은 사용자 이름 첫 글자 대문자.
shell <Login Shell>기본 로그인 셸(위 표 참조).

해시 문자열 형식은 $<Hash Standard>$<Salt>$<Encrypted> 이며, 전체 길이는 128자 미만이어야 합니다.

부분규칙
<Hash Standard>1=MD5, 5=SHA256, 6=SHA512
<Salt>a-z A-Z 0-9 . / [ ] _ ^` 문자, 2~16자
<Encrypted>같은 문자 집합. 길이: MD5 22자 미만, SHA256 43자 미만, SHA512 86자 미만

역할(Roles) — 역할 기반 관리(RBA)

역할 기반 관리(RBA) 는 사용자에게 줄 관리 역할을 만드는 기능입니다. 관리자는 기능들을 묶어 역할을 만들고 그 역할을 사용자에게 할당해, 사용자가 정해진 기능에만 접근 하게 합니다. 한 역할 안에서 어떤 기능은 읽기/쓰기, 어떤 기능은 읽기 전용, 나머지는 접근 없음으로 조합할 수 있고, 어떤 접근 메커니즘(Portal·Clish)을 쓸지도 지정합니다.

미리 정의된 역할 두 가지가 있습니다.

역할설명
adminRole모든 기능에 읽기/쓰기 접근.
monitorRole모든 기능에 읽기 전용 접근.

Gaia Portal에서 역할 구성

역할은 User Management > Roles 페이지에서 정의하며, 이 페이지에 기존 역할 목록도 나옵니다.

새 역할 추가

  1. User Management > RolesAdd.
  2. Role Name 에 이름을 입력합니다 — 반드시 문자로 시작 , 문자·숫자·밑줄(_) 조합.
  3. Features 탭에서 — 기능 옆 R/W 열의 아이콘을 눌러 None / Read Only / Read / Write 중 권한을 고릅니다. > 중요User Management 기능에 Read/Write 권한이 있는 사용자는 admin을 포함한 다른 사용자 암호를 바꿀 수 있습니다. 이 권한을 포함하는 역할은 신중히 할당하세요.
  4. Extended Commands 탭에서 — 역할에 넣을 확장 명령을 선택합니다. 여러 개를 고르려면 CTRL을 누른 채 (Name·Description·Path 열에서) 좌클릭한 뒤, 오른쪽 위에서 Check selected as 를 선택(해제하려면 해제)합니다.
  5. OK 를 클릭합니다.

기능·명령 변경 — 역할 선택 → Edit → 위와 같은 방식으로 Features·Extended Commands를 조정 → OK.

역할 삭제 — 역할 선택 → DeleteOK.

역할에 사용자 배정 — 역할 선택 → Assign MembersAvailable Users 에서 사용자 선택(여러 명은 CTRL+좌클릭) → Add >Users with Role 로 이동 → OK.

역할에서 사용자 제거 — 역할 선택 → Assign MembersUsers with Role 에서 사용자 선택 → Remove >OK.

역할을 Gaia Clish에서 구성

Gaia Clish에서는 역할 추가·변경·삭제, 역할에 사용자 추가·제거, 사용자별 접근 메커니즘 권한 추가·제거를 할 수 있습니다.

RBA 역할 추가

add rba role <New Role Name> domain-type System
all-features
readonly-features <List of RO Features>
readwrite-features <List of RW Features>}

이 역할이 접근할 VSX Virtual System 선택

add rba role <Existing Role Name>
virtual-system-access 0
virtual-system-access all
virtual-system-access VSID1,VSID2,...,VSIDn

사용자에게 접근 메커니즘 배정

add rba user <User Name>
access-mechanisms Web-UI
access-mechanisms CLI
access-mechanisms Web-UI,CLI
access-mechanisms Gaia-API

사용자에게 역할 배정 / 조회 / 삭제

add rba user <User Name> roles <Role1,Role2,...,RoleN>
show rba {all | role <Role Name> | roles | user <User Name> | users}
delete rba role <Role Name>                                    # 역할 전체 삭제
delete rba role <Role Name> readonly-features <...> readwrite-features <...>   # 기능만 삭제
delete rba user <User Name> access-mechanisms {Web-UI | CLI | Web-UI,CLI | Gaia-API}
delete rba user <User Name> roles <Role1,Role2,...,RoleN>

파라미터

파라미터설명
role <Role Name>문자로 시작하는 문자·숫자·밑줄(_) 조합.
domain-type System향후 사용을 위해 예약됨.
`virtual-system-access {0 \all \VSID...}`역할이 접근할 VSX Virtual System. 0=VSX Gateway 자체(VS0 컨텍스트)만, all=전체 VS, VSID1,VSID2,...=지정한 VS만(콤마 구분, 공백 불가).
all-features모든 기능에 읽기/쓰기 권한. 중요 — admin 역할과 동등합니다!
readonly-features <List>읽기 전용 기능 콤마 구분 목록. <SPACE><TAB> 으로 목록 확인. 읽기/쓰기 목록과 한 명령에 함께 쓸 수 있습니다.
readwrite-features <List>읽기/쓰기 기능 콤마 구분 목록. (위와 동일) 중요 — user 기능에 읽기/쓰기를 주면 admin 암호까지 바꿀 수 있으니 신중히.
user <User Name>접근 메커니즘·역할을 배정하거나 제거할 대상 사용자.
roles <Role1,Role2,...>사용자에게 배정·제거할 역할 콤마 구분 목록(공백 불가).
`access-mechanisms {Web-UI \CLI \Web-UI,CLI \Gaia-API}`사용자가 Gaia 관리에 쓸 수단 — Web-UI=Portal만, CLI=Clish만, Web-UI,CLI=둘 다(공백 불가), Gaia-API=RESTful API만.

예제

gaia> add rba role NewRole domain-type System readonly-features vpn,ospf,rba readwrite-features snmp
gaia> show rba role NewRole
Role
NewRole
domain-type System
read-write-feature snmp
read-only-feature vpn,ospf,rba
gaia>
gaia> add rba user John roles NewRole
gaia> add rba user John access-mechanisms Web-UI,CLI
gaia> show rba user John
User
John
access-mechanism CLI
access-mechanism Web-UI
role NewRole
gaia>
gaia> delete rba user John roles NewRole
gaia> delete rba role NewRole

역할에 넣을 수 있는 기능 전체 목록

아래 표는 각 기능의 Gaia Portal 이름·Gaia Clish 이름·설명·영향받는 Clish 명령 입니다.

Gaia Clish 기능Gaia Portal 이름설명 / 영향받는 명령
aaa-serversAuthentication Servers외부 RADIUS·TACACS+ 인증 구성. set/add/delete/show aaa radius-servers , ... tacacs-servers
adv-vrrpAdvanced VRRP고급 VRRP. set vrrp , show vrrp
prod-maintainAppliance MaintenanceAppliance 유지보수 개요 페이지.
arpARP정적·프록시·동적 ARP 항목 제어. add/delete/set/show arp *
messageBanner Messages배너 메시지·오늘의 메시지(MOTD). set/delete/show message *
bgpBGPBGP 동적 라우팅. set as/router-id/bgp , show route bgp/as/router-id/bgp
bladesBlades Summary활성 Software Blade 요약 표시.
cdtCentral Deployment Tool중앙 배포 도구. show/set/start cdt *
certificate_authorityCertificate Authority인증 기관 제어. cpca_client
selfpasswdChange My Password내 계정 암호 변경. set selfpasswd *
CloningGroupCloning GroupGaia 복제 그룹 제어. set/add/delete/join/re-synch/leave/show cloning-group *
CloningGroupManagementCloning Group Management복제 그룹 관리. set cloning-group-management *
cloud-configCloud ConfigZero Touch 제어. show/set/delete cloud-config *
clusterCluster클러스터링 제어. add/set/delete/show cluster *
core-dumpCore Dump코어 덤프 제어. set/show core-dump *
bootpDHCP Relay다른 네트워크 간 IPv4 DHCP·BOOTP 릴레이. set/show bootp *
dhcpDHCP ServerGaia의 DHCP 서버. set/delete/add dhcp service/client/server , show dhcp service/client/server
dhcp6relayDHCPv6 RelayIPv6 DHCPv6 릴레이. set/show ipv6 dhcp6relay *
configurationDisplay ConfigurationGaia 구성 저장·표시. save/show configuration *
formatDisplay Format시간·날짜·넷마스크 표시 방식. set/show format *
dnsDNSDNS 서버 제어. set/delete/show dns *
domainnameDomain Name도메인 이름 제어. set/delete/show domainname
smart-consoleDownload SmartConsolePortal에서 SmartConsole 내려받기. (해당 명령 없음)
expertExpert ModeExpert mode 셸 접근. expert
expert-passwordExpert PasswordExpert 암호 변경(대화식). set expert-password
expert-password-hashExpert Password Hash해시로 Expert 암호 변경. set expert-password-hash *
commandExtended CommandsGaia Clish 확장 명령 정의. add/delete/show command , show commands, show extended
fcdFactory Defaults공장 초기화. set/show fcd *
firewall_managementFirewall Management관리 서버 로그인/로그아웃 제어. mgmt *
lcdFront Panel일부 어플라이언스의 전면 LCD. set/show lcd *
hw-monitorHardware Health하드웨어 센서 모니터링. show sysenv all, cpstat -f sensors os
high-avail-groupHigh Availability고가용성 개요 페이지.
host-accessHost AccessGaia에 접속 허용할 호스트 제어. add/delete/show allowed-client *
hostHost Address알려진 호스트와 IP 제어. add/set/delete/show host *
hostnameHost NameGaia 호스트네임 제어. set/show hostname *
igmpIGMPIGMP 멀티캐스트 그룹 멤버십. set/show igmp *
inacttoInactivity timeoutPortal·Clish 비활성 타임아웃. set/show inactivity-timeout *
importInbound Route FiltersRIP·OSPFv2·BGP IPv4 인바운드 라우트 필터. set inbound-route-filter *
import6Inbound Route FiltersRIPng·OSPFv3·BGP IPv6 인바운드 라우트 필터. set ipv6 inbound-route-filter *
ftwInstallationFirst Time Configuration Wizard 실행.
interface-nameInterface Naming기존 인터페이스 이름 변경(재부팅·재구성 필요). set interface-name *
iphelperIP Broadcast HelperUDP 브로드캐스트 전달 제어. set/show iphelper *
ipreachdetectIP Reachability DetectionIP 도달성 제어. set/show ip-reachability-detection *
static-routeIPv4 Static RoutesIPv4 정적 경로. set static-route , show route static
ipv6rdisc6IPv6 Router DiscoveryIPv6 라우터 디스커버리. set/show ipv6 rdisc6 *
ipv6-stateIPv6 StateGaia의 IPv6 스택 제어. set ipv6-state *, show ipv6-state
static6IPv6 Static RoutesIPv6 정적 경로. set ipv6 static-route , show ipv6 route static
vrrp6IPv6 VRRPIPv6 VRRP(VRRPv3). set/show ipv6 vrrp6 *
cronJob Scheduler특정 시각 자동 작업 예약. add/set/delete/show cron *
license_activationLicense Activation라이선스 활성화 접근. cplic
licenseLicense Configuration라이선스 관리 접근. cplic
lomLights Out Management (LOM) ConfigurationLOM 구성 표시. show lom *
ssmtpMail NotificationGaia 메일 알림 제어. set/show mail-notification *
maintenance-groupMaintenance유지보수 개요 페이지. (해당 명령 없음)
management_interfaceManagement Interface관리용(주) 인터페이스 제어. set/show management *
neighborNDPIPv6 Neighbor Discovery. add/set/delete/show neighbor(-entry) *
netflowNetFlow ExportNetFlow 내보내기. add/set/delete/show netflow *
netaccessNetwork AccessGaia로의 TELNET 접근 제어. set/show net-access *
interfaceNetwork Interfaces물리 인터페이스·Alias·Bridge·Bond·VLAN·PPPoE 제어. set/add/delete interface/bonding/bridging/pppoe/gre *, show ...
interface-groupNetwork Management네트워크 관리 개요. show/set interface(s) *
ntpNTPNTP 시각 동기화. add/set/delete/show ntp *
ospfOSPFIPv4 OSPFv2 동적 라우팅. set/show ospf , show route ospf
ospf3OSPF v3IPv6 OSPFv3 동적 라우팅. set/show ipv6 ospf3 , set/show router-id , show ipv6 route ospf3 *
password-controlsPassword Policy암호·계정 정책 제어. set/show password-controls *
perfPerformance OptimizationSecurity Gateway의 Multi-Queue 제어. set/show multi-queue *
pimPIMPIM 멀티캐스트 제어. set/show pim , show mfc
pbr-combine-staticPolicy Based Routing정책 기반 라우팅 규칙·액션 테이블. set/show pbr/pbrroute *
pbr-routing-groupPolicy Routing정책 기반 라우팅 개요. set/show pbr/pbrroute *
prefixPrefix Lists and Prefix Trees라우팅 정책의 Prefix List·Tree. set prefix-tree/prefix-list *
proxyProxy SettingsGaia의 프록시 서버. set/delete/show proxy *
raid-monitorRAID MonitoringRAID 볼륨 모니터링 개요. raidconfig, raid_diagnostic
ripRIPIPv4 RIP 동적 라우팅. set/show rip *
ripngRIPngIPv6 RIPng 동적 라우팅. set/show ipv6 ripng *
rbaRolesGaia 사용자 역할 제어. add/delete/show rba *
routeRouteIPv4·IPv6 라우팅 테이블 표시. show route , show ipv6 route
aggregateRoute Aggregation공통 프리픽스로 슈퍼넷 생성. set aggregate , show route aggregate
route-injectionRoute Injection MechanismRIM 제어. set kernel-routes , show route kernel
routemapRoute Map라우트 맵 구성. set routemap , show routemap(s)
exportRoute RedistributionIPv4 라우팅 정보 재분배. set route-redistribution *
export6Route RedistributionIPv6 라우팅 정보 재분배. set ipv6 route-redistribution *
routed-clusterRouted ClusterXLRouteD와 ClusterXL 상호작용. set/show routed-clusterxl *
rdiscRouter DiscoveryICMP 라우터 디스커버리. set/show rdisc *
router-service-groupRouter Service라우팅 서비스 개요 페이지.
show-route-allRouting Monitor경로 요약 보기. show route *
route-optionsRouting Options프로토콜 랭크·추적 옵션. set routedsyslog/trace/tracefile/max-path-splits/nexthop-selection/protocol-rank/router-options , show trace/routed/protocol-rank/router-options
samSAM (Accelerator Card)더 이상 지원 안 됨(Deprecated). show sam *
scheduled_backupScheduled Backup데이터 손실 대비 예약 백업. add/set/delete/show backup-scheduled *
scratchpadScratchpad ConfigurationPortal의 Scratchpad 제어. (해당 명령 없음)
mgmt-gui-clientsSecurity Management GUI Clients허용된 관리 GUI 클라이언트 제어.
reboot_haltShutdownGaia 종료·재부팅. halt , reboot
snapshotSnapshot전체 백업(스냅샷) 생성. add/set/delete/show snapshot(s) *
snmpSNMPSNMP 모니터링 제어. add/set/delete/show snmp *
installer_confSoftware Updates Policy ManagementCPUSE 배포 정책·메일 알림(sk92449). installer restore_policy , set installer [download_mode/install_mode [schedule]]
static-mrouteStatic Multicast Routes멀티캐스트 정적 경로. set/show static-mroute *
assetSystem Asset하드웨어 자산 요약. show asset *
backupSystem BackupGaia 시스템 백업. add/set/delete/show backup(s) , backup/restore , show restore *
sysconfigSystem Configuration시스템 구성. show configuration *
groupSystem GroupsGaia 사용자 그룹(고급 권한 관리). add/set/delete/show group(s) *
syslogSystem Logging시스템 로깅. add/set/delete/show syslog *
system-groupSystem Management시스템 관리 개요 페이지.
sysenvSystem Status하드웨어 센서 모니터링. show sysenv *
tacacs_enableTACACS_EnableTACACS+ 메커니즘 제어. tacacs_enable , show tacacs_enable
clock-dateTime시간·날짜 구성. set clock/date/time/timezone , show clock/date/time/timezone
upgradeUpgradeGaia 업그레이드(Deprecated, CPUSE 사용). upgrade , add/delete/show upgrade
installerUpgrades (CPUSE)CPUSE 패키지 상태·다운로드·설치(sk92449). show/add/set installer , installer [agent]
software-updates-groupUpgrades (CPUSE)CPUSE 개요 페이지(sk92449). show/set installer , installer agent
security-access-groupUser Management사용자 관리 개요 페이지.
userUsersGaia 사용자 계정 제어. add/set/delete/show user(s) *
versionVersion설치된 제품·Gaia 빌드·커널 버전 표시. show version *
virtual-systemVirtual-SystemVSX Virtual System 제어(CLI 전용, VS는 SmartConsole에서만 구성). add/set/delete/show virtual-system *
vpntVPNTGaia의 VPN 터널링 제어. add/set/delete vpn *
vrrpVRRPIPv4 VRRPv2(Monitored Circuit/Simplified). set vrrp , add/set/delete mcvr , show vrrp/mcvr *
vsxVSXVSX 모드 활성/비활성(Check Point Support 전용). set/show vsx *
webWeb configurationGaia Portal 제어. set/generate/show web *

역할에 넣을 수 있는 확장 명령 전체 목록

Gaia Clish 이름Gaia Portal 이름설명
apiext_apiAPI 서버 시작·중지·상태 확인
config_systemext_config_systemExpert mode에서 First Time Configuration 도구 실행
cp_confext_cp_conf일부 로컬 설정용 Check Point 구성 유틸리티
cpcaext_cpcaCheck Point 내부 인증 기관(ICA) 실행
cpca_clientext_cpca_clientICA 제어
cpca_createext_cpca_createICA 데이터베이스 생성
cpca_dbutilext_cpca_dbutilICA 데이터베이스 제어
cpconfigext_cpconfig관리 서버·게이트웨이용 Check Point 구성 도구
cphaprobext_cphaprob클러스터링 명령 접근
cphastartext_cphastart게이트웨이의 클러스터링 활성화
cphastopext_cphastop클러스터링 비활성화
cpinfoext_cpinfoCheck Point 진단 정보 수집
cplicext_cplicCheck Point 라이선스 제어
cpshared_verext_cpshared_verSVN Foundation 버전 표시
cpstartext_cpstart설치된 Check Point 제품 시작
cpstatext_cpstatBlade·Gaia 통계 이력 표시
cpstopext_cpstop설치된 제품 중지
cpviewext_cpview실시간 고급 통계 표시
cpwd_adminext_cpwd_adminWatchDog 관리 도구 제어
diagext_diag시스템 진단 정보 전송
dtpsext_dtpsEndpoint Policy Server 명령 제어
etmstart / etmstop / fgateext_etmstart / ext_etmstop / ext_fgateQoS Blade 시작·중지·제어
fipsext_fipsFIPS 모드 제어
fw / fw6ext_fw / ext_fw6IPv4·IPv6 게이트웨이 명령 접근
fwaccel / fwaccel6ext_fwaccel / ext_fwaccel6IPv4·IPv6 SecureXL 명령 접근
fwmext_fwmSecurity Management 명령 접근
ifconfigext_ifconfigDeprecated — show/set interface 를 쓰세요
ipsext_ipsIPS Blade 제어
lomipsetext_lomipsetLOM 카드 IP 주소 구성
LSMcliext_LSMcliSmartProvisioning 명령줄 접근
LSMenablerext_LSMenablerSmartProvisioning 활성화
mds_backup / mds_restoreext_mds_backup / ext_mds_restoreMulti-Domain Server 백업·복원
mdscmdext_mdscmdMulti-Domain Server 명령줄 접근
mdsconfigext_mdsconfigMulti-Domain Server 구성 도구
mdsstart / mdsstart_customerext_mdsstart / ext_mdsstart_customerMDS 시작 / 특정 Domain Server 시작
mdsstatext_mdsstatMDS·전체 Domain Server 상태 표시
mdsstop / mdsstop_customerext_mdsstop / ext_mdsstop_customerMDS 중지 / 특정 Domain Server 중지
netstatext_netstat네트워크 연결·라우팅 테이블·인터페이스 통계 표시
ping / ping6ext_ping / ext_ping6IPv4·IPv6 ping
raid_diagnosticext_raid_diagnosticRAID 모니터링 도구 접근
raidconfigext_raidconfigRAID 구성·모니터링 도구 접근
rtm / rtmstart / rtmstopext_rtm / ext_rtmstart / ext_rtmstopMonitoring Blade 제어·시작·중지
rtmtopsvcext_rtmtopsvcMonitoring Blade로 상위 서비스 모니터
SDSUtilext_SDSUtilSoftware Distribution Server 유틸리티 접근
simext_simIPv4 SecureXL SIM 장치 명령 접근
SnortConvertorext_SnortConvertorIPS Snort 변환 도구 접근
tecliext_tecliThreat Emulation Blade 셸 접근
topext_top가장 활발한 시스템 프로세스 표시
tracerouteext_traceroute추적 도구 실행
vpn / vpn6ext_vpn / ext_vpn6IPv4·IPv6 VPN 커널 모듈 제어
vsx_utilext_vsx_util관리 서버의 VSX 게이트웨이·클러스터 제어

암호 정책(Password Policy)

암호 정책은 강한 암호 생성을 강제하고, 이미 쓴 암호의 재사용을 막으며, 일정 주기로 암호를 바꾸게 하는 기능입니다. 강하고 고유한 암호와 주기적 변경은 사이버 보안의 핵심입니다.

정책의 구성 요소는 다음과 같습니다.

  • 암호 이력 검사 — 사용자가 전에 쓴 암호를 다시 쓰지 못하게 합니다. 검사 대상 개수는 history length로 정하며, 기본으로 켜져 있습니다. 관리자가 설정한 암호와 사용자가 설정한 암호 모두에 적용되지만, SNMPv3 USM 패스프레이즈에는 적용되지 않 습니다. 이력은 사용자가 성공적으로 암호를 바꿀 때만 갱신되고, 길이를 10에서 5로 줄여도 저장된 개수는 당장 줄지 않으며 다음 변경 시 모든 저장 암호와 비교한 뒤 최근 5개만 남깁니다. 또한 이력 기능이 켜진 상태로 만든 암호만 이력에 저장되며, 직전 암호는 이력에 없더라도 항상 새 암호와 비교됩니다.
  • 필수 암호 변경 — 일정 일수가 지나면 암호가 만료되어, 다음 로그인 때 강제로 바꾸게 합니다. 이력 검사와 함께 작동합니다. SNMPv3 USM 패스프레이즈에는 적용되지 않습니다.
  • 미사용 계정 접근 거부 — 정한 기간 동안 성공적 로그인이 없으면 사용자를 잠가 로그인을 막습니다.
  • 로그인 실패 후 접근 거부 — 실패가 너무 많으면 일정 시간 동안 로그인을 막 습니다. 한 번 성공하면 실패 횟수 계산이 멈추고 0으로 초기화됩니다.

암호 설정·변경 자체는 위의 사용자 절을 참고하세요.

Gaia Portal에서 암호 정책 구성

User Management > Password Policy 페이지에서 아래 항목을 설정하고 Apply 를 클릭합니다.

Password Strength(암호 강도)

파라미터설명
Minimum Password LengthGaia·SNMP 사용자 암호의 최소 글자 수. 이미 설정된 암호에는 적용 안 됨. 범위 6~128, 기본 6.
Disallow Palindromes회문(앞뒤로 읽어 같은 문자열) 금지. 기본 선택됨.
Password Complexity필요한 문자 종류 수 — 1=검사 안 함, 2=두 종류(기본), 3=세 종류, 4=네 종류. 종류는 대문자(A-Z)·소문자(a-z)·숫자(0-9)·기타. 기존 암호에는 영향 없음.

Password History(이력)

파라미터설명
Check for Password Reuse전체 사용자 암호 재사용 검사 켜기/끄기. 동일 암호 불허. SNMP 암호에는 미적용. 기본 선택됨.
History Length보관·비교할 이전 암호 개수. 범위 1~1000, 기본 10.

Mandatory Password Change(필수 변경)

파라미터설명
Password Expiration암호 유효 일수. 만료 후 다음 로그인 때 변경 강제. SNMP 미적용. 범위 1~1827 또는 만료 없음, 기본 만료 없음.
Warn users before password expiration만료 며칠 전부터 경고를 띄울지. (로그인하지 않는 사용자는 경고를 못 봄.) 범위 1~366, 기본 7.
Lockout users after password expiration만료 후 며칠 안에 로그인·변경하지 않으면 잠금. 관리자가 Users 페이지에서 해제 가능. 범위 1~1827 또는 잠그지 않음, 기본 잠그지 않음.
Force users to change password at first login...set user <UserName> password 나 Users 페이지로 암호를 바꿨을 때, 첫 로그인에서 강제로 다시 바꾸게. 기본 미선택.

Denying Access to Unused Accounts(미사용 계정)

파라미터설명
Deny access to unused accounts미사용 계정 접근 거부. 정한 기간 동안 성공 로그인이 없으면 잠금. 기본 미선택.
Days of non-use before lock-out잠그기까지의 미사용 일수(위 옵션이 켜졌을 때만 적용). 범위 30~1827, 기본 365.

Denying Access After Failed Login Attempts(실패 후 거부)

파라미터설명
Deny access after failed login attempts정한 한계에 도달하면 정한 시간 동안 잠금. 기본 미선택.
Block admin user위 옵션이 켜졌을 때만 표시. admin 사용자도 한계 도달 시 잠금.
Maximum number of failed attempts allowed잠그기 전 허용 실패 횟수. 한 번 성공하면 0으로 초기화. 범위 2~1000, 기본 10.
Allow access again after time잠긴 뒤 다시 허용하기까지의 시간(그동안 로그인 시도가 없어야 함). 범위 60~604800초, 기본 1200초(20분). 예: 60=1분, 300=5분, 3600=1시간, 86400=1일, 604800=1주.

Password Hashing Algorithm(해시 알고리즘)

파라미터설명
Password hashing algorithm새 암호를 Gaia 데이터베이스에 저장할 해시 알고리즘. 범위 SHA256 또는 SHA512, 기본 SHA512.

Gaia Clish에서 암호 정책 구성

모두 set password-controls ... 로 설정하고 show password-controls ... 또는 show password-controls all 로 확인합니다.

암호 강도

set password-controls
      complexity <1-4>
      min-password-length <6-128>
      palindrome-check {on |off}
파라미터설명
complexity <1-4>필요한 문자 종류 수(1=검사 안 함 ~ 4=네 종류). 기존 암호에 영향 없음. 범위 1~4, 기본 2.
min-password-length <6-128>최소 글자 수. 기존 암호 미적용. 범위 6~128, 기본 6.
`palindrome-check {on \off}`회문 금지. 기본 on.

암호 이력

set password-controls
      history-checking {on | off}
      history-length <1-1000>
파라미터설명
`history-checking {on \off}`재사용 검사·기록 켜기/끄기. SNMP 미적용. 기본 on.
history-length <1-1000>보관·비교할 이전 암호 개수. 기본 10.

필수 암호 변경

set password-controls
      expiration-lockout-days <1-1827 | never>
      expiration-warning-days <1-366>
      force-change-when {no | password}
      password-expiration <1-1827 | never>
파라미터설명
`expiration-lockout-days <1-1827 \never>`만료 후 이 일수 안에 로그인·변경 안 하면 잠금. 기본 never.
expiration-warning-days <1-366>만료 며칠 전부터 경고. 기본 7.
`force-change-when {no \password}`password 면 암호가 명령·Users 페이지로 바뀐 뒤 첫 로그인에서 강제 변경. no 면 비활성. 기본 no.
`password-expiration <1-1827 \never>`암호 유효 일수. 기본 never.

미사용 계정 접근 거부

set password-controls deny-on-nonuse
      allowed-days <30-1827>
      enable {on | off}
파라미터설명
deny-on-nonuse allowed-days <30-1827>잠그기까지의 미사용 일수(enable on 일 때만 적용). 기본 365.
`deny-on-nonuse enable {on \off}`미사용 계정 접근 거부. 기본 off.

로그인 실패 후 접근 거부

set password-controls deny-on-fail
      allow-after <60-604800>
      block-admin {on | off}
      enable {on | off}
      failures-allowed <2-1000>
파라미터설명
allow-after <60-604800>잠긴 뒤 다시 허용까지의 초(그동안 시도 없어야 함). 기본 1200초(20분). 예: 60=1분 ~ 604800=1주.
`block-admin {on \off}`(enable on 일 때만) admin도 잠금 대상. 기본 off.
`enable {on \off}`한계 도달 시 정한 시간 잠금. 기본 off. 경고 — DoS 위험(위 참조).
failures-allowed <2-1000>(enable on 일 때만) 잠그기 전 허용 실패 횟수. 성공하면 0으로 초기화. 기본 10.

해시 알고리즘

set password-controls password-hash-type {SHA256 | SHA512}
파라미터설명
`{SHA256 \SHA512}`새 암호 저장용 해시. 범위 SHA256 또는 SHA512, 기본 SHA512.

Gaia Clish에서 암호 정책 모니터링

show password-controls {all | complexity | deny-on-fail [allow-after | block-admin | enable | failures-allowed] | deny-on-nonuse [allowed-days | enable] | expiration-lockout-days | expiration-warning-days | force-change-when | history-checking | history-length | min-password-length | palindrome-check | password-expiration | password-hash-type}

예제 출력:

gaia> show password-controls all
Password Strength
Minimum Password Length 6
Password Complexity 2
Password Palindrome Check on
Password History
Password History Checking off
Password History Length 10
Mandatory Password Change
Password Expiration Lifetime 5
Password Expiration Warning Days 8
Password Expiration Lockout Days never
Force Password Change When no
Configuration Deny Access to Unused Accounts
Deny Access to Unused Accounts off
Days Nonuse Before Lockout 365
Configuration Password hash
Password hashing algorithm MD5
gaia>

RSA 키 파일로 SSH 인증 구성하기

암호 대신 SSH 키 쌍 으로 로그인하도록 구성하는 방법입니다.

사전 조건 — Gaia 서버에 콘솔·LOM 접근, 관리자(또는 동등 권한) 접근, R80.40 Take 83 이상 버전. 초기 설정은 각 단계를 한 번씩만 하면 되고, SSH 사용자를 더 추가할 때는 1~7단계만 반복합니다.

  1. SSH 키 쌍을 만듭니다 — Windows는 PuTTYgen, Gaia·Linux는 ssh-keygen 명령. Gaia에서 ssh-keygen 을 쓰려면 Expert mode로 로그인해 키 파일을 어느 디렉터리에 저장하고, 개인 키는 SSH 클라이언트 컴퓨터에 보관 합니다(공개 키는 뒤에서 Gaia에 설정).
  2. SSH 연결용 새 사용자를 만들고 관리자 역할을 줍니다 — 기본 셸 /bin/bash, 역할 adminRole(더 제한된 역할도 가능). 예시 사용자 이름은 filecopy.
   MyGW> add user filecopy uid 103 homedir /home/filecopy
   WARNING Must set password and a role before user can login.
   - Use 'set user USER password' to set password.
   - Use 'add rba user USER roles ROLE' to set a role.
   MyGW> set user filecopy password
   New password:
   Verify new password:
   MyGW> add rba user filecopy roles adminRole
   MyGW> set user filecopy shell /bin/bash
   MyGW> save config
   
  1. SSH 클라이언트로 Gaia 서버에 접속합니다.
  2. 새 사용자(filecopy)로 로그인합니다.
  3. 홈 디렉터리에 있는지 확인합니다 — cd ~ ; pwd
  4. .ssh 디렉터리를 만들고 권한을 줍니다.
   mkdir -v .ssh
   chmod -v u=rwx,g=,o= ~/.ssh
   
  1. authorized_keys 파일을 만들고 권한을 준 뒤, 앞서 만든 공개 키를 붙여 넣 습니다.
   touch ~/.ssh/authorized_keys
   chmod -v u=rw,g=,o= ~/.ssh/authorized_keys
   vi ~/.ssh/authorized_keys
   
  1. Gaia의 SSH 구성 템플릿을 고칩니다 — 백업한 뒤 편집해 맨 아래의 PasswordAuthentication yesPasswordAuthentication no 로 변경 합니다.
   cp -v /etc/ssh/templates/sshd_config.templ{,_BKP}
   vi /etc/ssh/templates/sshd_config.templ
   
  1. 템플릿 변경을 실행 중인 Gaia 구성으로 가져옵니다.
   /usr/bin/sshd_template_xlate < /config/active
   
  1. SSHD 프로세스를 재시작합니다 — service sshd restart
  2. 현재 SSH 연결을 닫습니다.
  3. SSH 클라이언트로 다시 접속합니다.
  4. 개인 키로 새 사용자로 로그인합니다.
    login as: filecopy
    This system is for authorized use only.
    Authenticating with public key "rsa-key-20230207"
    Last login: Sun Jul  2 15:08:58 2023 from 172.20.213.71
    [Expert@MyGW:0]#
    

인증 서버(Authentication Servers)

Gaia 사용자가 로컬에 정의돼 있지 않아도 인증 하도록 구성할 수 있습니다. 여러 Security Gateway의 자격증명을 중앙에서 관리 하는 좋은 방법입니다. 비로컬 사용자를 정의하려면 Gaia를 인증 서버의 클라이언트로 정의합니다. Gaia는 두 가지 인증 서버를 지원합니다.

서버설명
RADIUS원격 접속을 지원하는 클라이언트/서버 인증 시스템. 사용자 프로필은 RADIUS 서버의 중앙 DB 에 보관됩니다. RADIUS 서버를 여러 대 구성할 수 있고, 목록의 첫 서버가 응답하지 않으면 우선순위에 따라 다음 서버 로 넘어갑니다.
TACACS+원격 서버로 사용자를 인증하는 프로토콜. 보내는 정보가 전부 암호화 됩니다. Gaia는 인증용으로만 지원하며, S/Key 같은 챌린지-응답은 지원하지 않습니다. 서비스별로 따로 구성할 수 있고, Gaia Portal은 HTTP 서비스로 구성됩니다. 서비스에 TACACS+가 구성되면 Gaia는 암호 확인이 필요할 때마다 TACACS+ 서버에 문의하고, 서버가 죽거나 닿지 않으면 로컬 암호로 인증 합니다. 로컬에서도 실패하면 접근이 거부됩니다.

Gaia가 여러 인증 방법을 쓰도록 구성하면 RADIUS → TACACS+ → Local 순서로 시도합니다. 사용자가 자격증명을 넣으면 (1) RADIUS 서버로 인증해 성공하면 로그인, 실패하면 (2) TACACS+ 서버로 인증, 실패하면 (3) 로컬 구성으로 인증, 모두 실패하면 로그인 거부 입니다.

RADIUS 서버 구성

Gaia Portal에서

  1. User Management > Authentication Servers 를 클릭합니다.
  2. RADIUS Servers 섹션에서 Add 를 클릭합니다.
  3. RADIUS 서버 파라미터를 입력합니다.
파라미터설명
PriorityRADIUS 서버 우선순위. -999 ~ 999 정수(기본 0). 서버가 둘 이상이면 우선순위가 가장 높은(숫자가 낮은) 서버에 먼저 연결합니다.
HostRADIUS 서버의 호스트네임 또는 IP(IPv4·IPv6).
UDP PortRADIUS 서버 UDP 포트. 기본 1812 (RADIUS 표준). 범위 1~65535. 비표준이지만 1645도 1812 대체로 흔히 씁니다. 경고 — 방화벽이 1812를 막는 경우가 많으니, RADIUS 서버와 Gaia 사이 UDP 1812를 허용하는 규칙 을 만드세요.
Shared SecretRADIUS 서버와 Gaia 사이 인증용 공유 비밀. 최대 256자, 공백·역슬래시 불가. 양쪽 문자열이 일치해야 합니다. RFC 2865는 최소 16자를 권장하지만, 일부 서버는 최대 15~16자만 받습니다.
Timeout in(선택) Gaia가 응답을 기다리는 초(1~5), 기본 3. 응답이 없으면 다른 서버로 시도. 전체 서버 타임아웃 합이 50 미만 이 되게 설정.
  1. OK 를 클릭합니다.
  2. (선택) NAS IP 주소 를 고릅니다 — 전체 RADIUS 서버에 적용 되며, Gaia가 RADIUS 패킷을 보내는 IP를 기록합니다. NAT 등으로 출발지 IP가 바뀌어도 패킷에 이 IP가 남습니다(RFC 2865의 NAS-IP-Address). 고르지 않으면 Gaia 관리 인터페이스의 IPv4를 씁니다.
  3. (선택) RADIUS Users Default Shell 을 고릅니다(전체 서버 적용).
  4. (선택) Super User ID0 또는 96 (전체 서버 적용). UID가 0이면 super user 권한을 얻는 데 sudo 가 필요 없습니다.
  5. Apply 를 클릭합니다.

편집 — 서버 선택 → EditHost·UDP Port·Shared secret·Timeout만 수정 가능 → OK. 삭제 — 서버 선택 → DeleteOK.

Gaia Clish에서aaa radius-servers 명령으로 추가·구성·삭제합니다.

add aaa radius-servers priority <Priority> host <Hostname, or IP Address of RADIUS Server> [port <1-65535>]
prompt-secret timeout <1-50>
secret <Shared Secret> timeout <1-50>

set aaa radius-servers priority <Priority>
host <Hostname, or IP Address of RADIUS Server>
new-priority <New Priority>
port <1-65535>
prompt-secret
secret <Shared Secret>
timeout <1-50>

set aaa radius-servers                  # 전체 서버에 적용
NAS-IP<SPACE><TAB>
default-shell<SPACE><TAB>
super-user-uid <0 | 96>

show aaa radius-servers list             # 전체 목록
show aaa radius-servers priority <Priority> {host | port | timeout}
show aaa radius-servers {NAS-IP | default-shell | super-user-uid}

delete aaa radius-servers priority <Priority>
delete aaa radius-servers NAS-IP
파라미터설명
priority <Priority>-999~999(기본 0). 숫자가 낮을수록 우선.
new-priority <New Priority>새 우선순위.
host <...>호스트네임 또는 IP(IPv4·IPv6).
port <1-65535>UDP 포트, 기본 1812. 경고 — 방화벽에서 UDP 1812 허용 필요.
prompt-secret공유 비밀을 프롬프트로 안전하게 입력.
secret <Shared Secret>공유 비밀(최대 256자, 공백·역슬래시 불가). 양쪽 일치 필요.
timeout <1-50>응답 대기 초(1~5), 기본 3. 전체 합이 50 미만.
default-shell <...>(선택) RADIUS 사용자 기본 셸.
`super-user-uid <0 \96>`(선택) super user UID. 0이면 sudo 불필요.
NAS-IP <...>(선택) RADIUS 패킷 출발지 IP 기록. 미지정 시 관리 인터페이스 IPv4(show management interface).

Gaia를 RADIUS 클라이언트로 구성

Gaia는 RADIUS 클라이언트로 동작합니다. 비로컬 사용자가 로그인하려면 기본 역할을 정의 해야 합니다.

  1. RADIUS 클라이언트용 역할을 정의합니다 — RADIUS 서버에 그룹이 없으면 radius-group-any, 그룹(예: XXX)이 있으면 radius-group-<XXX>.
  2. 그 역할의 기능을 정의합니다. Gaia Clish 예:
   gaia> add rba role radius-group-any domain-type System readonly-features arp
   

비로컬 사용자를 위한 RADIUS 서버 구성

비로컬 사용자는 Gaia가 아닌 RADIUS 서버에 정의되며, 로그인하면 RADIUS 서버가 인증하고 권한을 부여 합니다.

  1. 해당 dictionary 파일을 RADIUS 서버에 복사합니다(sk72940 참고).
    • Steel-Belted RADIUS/etc/radius-dictionaries/checkpoint.dct 를 복사하고, vendor.ini 에 다음을 (알파벳 순으로) 추가, dictiona.dcm"@checkpoint.dct" 추가.
     vendor-product = Check Point Gaia
     dictionary = nokiaipso
     ignore-ports = no
     port-number-usage = per-port-type
     help-id = 2000
     
  • FreeRADIUS/etc/radius-dictionaries/dictionary.checkpoint/etc/freeradius/ 에 복사하고, /etc/freeradius/dictionary"$INCLUDE dictionary.checkpoint" 추가.
    • OpenRADIUS/etc/radius-dictionaries/dict.checkpoint/etc/openradius/subdicts/ 에 복사하고, /etc/openradius/dictionariesdict.ascend 바로 뒤에 $include subdicts/dict.checkpoint 추가.
  • RADIUS 사용자 구성 파일에 Check Point Vendor-Specific Attribute로 역할을 지정 합니다.
   CP-Gaia-User-Role = "role1,role2,...
   

예: CP-Gaia-User-Role = "adminrole, backuprole, securityrole" 3. super user 접근이 필요한 사용자를 지정합니다 — 받지 않으면 CP-Gaia-SuperUser-Access = 0, 받으면 CP-Gaia-SuperUser-Access = 1.

super user로 로그인하기 — super user 권한이 있으면 파일 시스템 등 시스템 수준 작업을 할 수 있습니다. 권한은 Vendor-Specific Attribute로 정의되며, UID가 0인 사용자는 root와 같은 모든 명령 을 쓸 수 있고, UID가 96인 사용자는 sudo 를 실행해 권한을 얻어야 합니다. 비로컬 사용자의 UID는 /etc/passwd 에 정의됩니다.

UID가 96인 사용자가 super user 권한을 얻으려면 — Expert mode에서:

sudo /usr/bin/su -

TACACS+ 서버 구성

Gaia Portal에서

  1. User Management > Authentication Servers 를 클릭합니다.
  2. TACACS+ Configuration 섹션에서 Enable TACACS+ authentication 을 선택(전체 서버 적용)하고 Apply.
  3. TACACS+ Servers 섹션에서 Add 를 클릭하고 파라미터를 입력합니다.
파라미터설명
Priority1~20, 시스템 내 고유. Gaia는 숫자가 가장 낮은 서버부터 연결해 처음 응답하는 서버를 씁니다(예: 1·5·10 순). 명령에서 서버를 식별하는 데도 씁니다(priority 1 명령은 priority 1 서버에 적용).
ServerTACACS+ 서버의 IPv4 주소.
Shared Key인증용 공유 비밀. 최대 256자, 공백·역슬래시 불가. 양쪽 일치 필요.
Timeout in Seconds응답 대기 초(1~60), 기본 5. 없으면 다른 서버로 시도.
  1. OK 를 클릭합니다.
  2. (선택) TACACS+ Servers Advanced Configuration 에서 User UID0 또는 96 을 고르고 Apply(전체 서버 적용).

비활성화TACACS+ configuration 에서 Enable TACACS+ authentication 해제 → Apply. 삭제 — 서버 선택 → DeleteOK.

Gaia Clish에서

add aaa tacacs-servers priority <Priority> server <IPv4 Address of TACACS+ Server> key <Shared Secret> timeout <1-60>

set aaa tacacs-servers priority <Priority>
server <IPv4 Address of TACACS+ Server>
new-priority <New Priority>
key <Shared Secret>
timeout <1-60>

set aaa tacacs-servers           # 전체 서버 적용
state {on | off}
user-uid <0 | 96>

show aaa tacacs-servers list
show aaa tacacs-servers priority <Priority> {server | timeout}
show aaa tacacs-servers {state | user-uid}

delete aaa tacacs-servers priority <Priority>
delete aaa tacacs-servers NAS-IP
파라미터설명
priority <Priority>1~20, 고유. 숫자가 낮은 서버부터 연결, 명령 식별에도 사용. 기본값 없음.
server <IPv4 ...>TACACS+ 서버 IPv4 주소.
key <Shared Secret>공유 비밀(최대 256자, 공백·역슬래시 불가). 양쪽 일치.
timeout <1-60>응답 대기 초. 범위 1~60, 기본 5.
new-priority <New Priority>새 우선순위.
`state {on \off}`TACACS+ 인증 상태. 기본 off.

예제:

gaia> set aaa tacacs-servers priority 2 server 10.10.10.99 key MySharedSecretKey timeout 10

현재 사용자가 TACACS+로 인증됐는지 확인 — Gaia Clish(또는 gClish)에서:

show tacacs_enable

Gaia를 TACACS+ 클라이언트로 구성

Gaia는 TACACS+ 서버에 정의되고 로컬엔 없는 사용자를 위한 TACACS+ 클라이언트로 동작합니다. admin은 TACACS+ 사용자를 위한 TACP-0 역할 과 그 역할의 허용 기능을 정의해야 합니다.

권한 상승(Privilege Escalation) — admin은 사용자가 일시적으로 더 높은 권한 을 얻는 역할을 정의할 수 있습니다. 예를 들어 인터페이스 구성 권한이 없는 Fred는, admin이 준 암호를 사용자 이름과 함께 입력해 기본 역할을 인터페이스 구성이 가능한 역할로 바꿉니다. TACACS+에는 0~15까지 16개 권한 수준 이 있고, 각 수준을 다른 Gaia 역할에 매핑할 수 있습니다(예: 레벨 0 모니터 전용, 레벨 1 기본 네트워크 구성, 레벨 15 admin). 기본적으로 모든 비로컬 TACACS+ 사용자는 TACP-0 역할을 받고, admin은 TACP-N(N은 1~15) 역할을 정의해 서로 다른 권한을 줄 수 있습니다.

구성 — admin으로 로그인해 (1) TACP-0 역할을 정의하고, (2) 그 역할의 기능을 정의합니다. (3, 선택) TACP-N(N=1~15) 역할들을 만들고 각각의 기능을 정의합니다.

TACP 권한 올리기 (Gaia Portal)

  1. Gaia Portal에 접속합니다.
  2. TACACS+ 사용자 이름·암호를 입력합니다. 인증 후에는 TACP-0 권한입니다.
  3. TACP-N (N=1~15)로 올리려면 Overview 페이지 위쪽의 Enable 을 클릭합니다.
  4. 사용자 암호를 입력합니다.

TACP 권한 올리기 (Gaia Clish)

  1. 명령줄에 접속해 TACACS+ 사용자로 Gaia Clish에 로그인합니다(이때 TACP-0).
  2. 다음을 실행합니다(N은 1~15).
   tacacs_enable TACP-<N>
   
  1. 프롬프트에 해당 암호를 입력합니다.

TACP-0 으로 돌아가려면 CTRL+D를 누르거나 exit 를 입력합니다 — 자동으로 현재 셸을 나와 TACP-0 으로 복귀합니다.

현재 로그인 사용자가 TACACS+로 인증됐는지는 Gaia Clish(또는 gClish)에서 show tacacs_enable 로 확인합니다.

비로컬 사용자를 위한 TACACS+ 서버 구성

Gaia 사용자를 Gaia가 아닌 TACACS 서버에 정의 할 수 있고, 이런 사용자를 비로컬 사용자라고 합니다. 가장 흔히 쓰는 TACACS+ 서버는 Cisco ACS 입니다(구성 도움말은 sk98733 — 공식 Cisco 문서를 대체하지 않는 모범 사례 예시). 비로컬 사용자가 로그인하면 TACACS 서버가 인증하고 권한을 부여하므로, 서버에서 올바른 인증·인가를 구성 해야 합니다.

인증 접근 순서 구성

기본 순서와 상태 는 다음과 같습니다.

우선순위서버 종류상태
1TACACSOff
2RADIUSOn
3LocalOn

Gaia Portal에서User Management > Authentication ServersAuthentication Access Order 에서 서버 종류를 골라 EditPriorityState(On/Off) 설정 → OK.

Gaia Clish에서 — 순서 확인:

show aaa order

예제 출력:

gaia> show aaa order
Priority
Server Type
State
1
TACACS
Off
2
RADIUS
On
3
Local
On
gaia>

순서 구성:

set aaa order {radius | tacacs | local} priority <1-3>
set aaa order {radius | tacacs | local} state {on | off}

시스템 그룹(System Groups)

Linux와 마찬가지로 Gaia에서도 그룹을 정의 할 수 있습니다. 고급 응용과 Linux 호환성을 위해 유지되는 기능으로, (1) Linux 파일 권한 지정, (2) SSH 로그인 허용 대상 제어에 씁니다. 그 밖에 그룹과 관련된 권한 기능은 역할 기반 관리(위 역할 절 참조)를 쓰세요.

모든 사용자는 기본적으로 users 그룹에 배정됩니다. (Gaia Clish로) 기본 그룹 ID를 다른 값으로 바꿔도 그 사용자를 users 그룹에 추가할 수 있습니다. 다만 users 그룹의 멤버 목록에는 명시적으로 추가된 사용자만 나오고, 기본으로 들어간 사용자는 보이지 않습니다.

Gaia Portal에서 구성

전체 그룹 목록은 User Management > System Groups 에서 봅니다.

그룹 추가

  1. User Management > System GroupsAdd.
  2. Group Name 에 고유 이름을 입력합니다 — 1~16자 영숫자, 공백 불가.
  3. Group ID 에 고유 번호를 입력합니다 — 101~65530. 0~10065531~65535 는 시스템 예약, 0 은 root 권한 사용자, 10 은 미리 정의된 Users 그룹 예약입니다(예약 범위를 넣으면 오류).
  4. OK.

그룹에 사용자 추가 — 그룹 선택 → EditAvailable Members 에서 사용자 선택(여러 명 CTRL+좌클릭) → Add >Members of Group 으로 이동 → OK.

그룹에서 사용자 제거 — 그룹 선택 → EditMembers of Group 에서 사용자 선택 → Add >Available Members 로 이동 → OK.

그룹 삭제 — 그룹 선택 → DeleteOK.

Gaia Clish에서 구성

add group <Group Name> gid <Group ID>            # 그룹 추가
add group <Group Name> member<SPACE><TAB>        # 사용자 추가
add group <Group Name> member <UserName>
set group <Group Name> gid <Group ID>            # Group ID 변경
show group <Group Name>                          # 그룹 내 사용자 보기
show groups                                      # 전체 그룹 보기
delete group <Group Name> member<SPACE><TAB>     # 사용자 제거
delete group <Group Name> member <UserName>
delete group <Group Name>                        # 그룹 삭제
파라미터설명
group <Group Name>고유 이름, 1~16자 영숫자, 공백 불가.
gid <Group ID>고유 번호 101~65530. 0~100·65531~65535 예약, 0 은 root, 10Users 그룹 예약.
member <UserName>기존 사용자 이름.

GUI 클라이언트(GUI Clients)

이 시스템이 Security Management Server 라면, SmartConsole로 접속할 수 있는 컴퓨터를 지정할 수 있습니다.

Gaia Portal에서

  1. User Management > GUI ClientsAddAdd GUI Client 창을 엽니다.
  2. GUI 클라이언트(신뢰 호스트)를 정의합니다.
    • Any IP Address — IP에 관계없이 모든 클라이언트 허용(초기 구성에서 Any를 정의하지 않은 경우에만 표시).
    • This machine - IP address
    • Network
    • Range of IPv4 addresses

명령줄에서

  1. Security Management Server 명령줄에 접속합니다.
  2. cpconfig 를 실행합니다(자세한 내용은 R82 CLI Reference Guide의 cpconfig 절).
  3. GUI Clients 옵션으로 3 을 입력합니다.
  4. GUI 클라이언트 목록이 표시됩니다. 호스트를 추가·삭제하거나 새 목록을 만들 수 있고, 다음 형식으로 추가합니다.
형식설명
IP addressIPv4·IPv6 주소로 지정한 한 대.
Machine name호스트네임으로 지정한 한 대.
"Any"제한 없는 IPv4 주소. Any(대문자 A)를 입력하고 Enter, 이어서 CTRL+D 를 누릅니다.
IP/NetmaskIPv4 범위(예: 192.168.10.0/255.255.255.0) 또는 IPv6(예: 2001::1/128).
A range of addresses제한된 IPv4 범위(예: 192.168.10.8-192.168.10.16) 또는 IPv6(예: 2001::1-2001::10).
Wild cards (IPv4 only)IPv4 전용 와일드카드 범위(예: 192.168.10.*).