iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
自我挑戰組

IT工作中曾遇到的問題系列 第 15

Solaris 10利用RBAC加強root帳號安全性

  • 分享至 

  • xImage
  •  

Solaris有支援Rose-Based Access Control(RBAC), 以增加權限控管的彈性,新增了角色(Role)的機制。

因為系統的管理可能有多人,因此root的密碼可能被分享, 但是root是系統的超級管理員,擁有系統所有的權限,而且登入時只以root登入,發生問題時根本無法得知身分。

所以我們可以將root由使用者身分轉變為角色,其特點如下:

  1. 角色不能直接登入系統,只能用su切換角色,換句話說,使用者只能用自己的帳號登入,不能用root登入。
  2. 因為只能用自已的帳號登入後再切換為root角色,所以可以由/var/adm/sulog得知是誰切換的。
  3. 就算使用者知道root角色的密碼(角色必須設定密碼),但是系統並未授予帳號root角色時,該帳號無法切換root。

設定root轉換為角色方法如下:

  1. 新增一個使用者帳號(如已有使用者帳號可省略)
# useradd -m -d /export/home/admin1 admin1
# passwd admin1
  1. 將root由使用者身分轉變為角色
# usermod -K type=role root
  1. 將root角色指派給新建立的使用者:
# usermod -R root admin1

完成之後,可以查看/etc/user_attr內的設定改變:

# grep root /etc/user_attr
root::::type=role;auths=solaris.* ...略

# grep admin1 /etc/user_attr
admin1::::type=normal;roles=root

接著我們以putty軟體,驗證root無法登入:

 login as: root
 Using keyboard-interactive authentication.
 Password:
 Access denied

只能以admin1登入後,再以su - root切換角色

 login as: admin1
 Using keyboard-interactive authentication.
 Password:
 Last login: Thu Apr  9 14:27:55 2015 from 192.168.1.39
 Oracle Corporation SunOS 5.10 Generic Patch January 2005
 $ su - root
 Password:
 # id
 uid=0(root) gid=0(root)

查看/var/adm/sulog,可以發現帳號的切換情況:

SU 04/09 14:27 + pts/3 admin1-root

在設定上有一點需要特別注意,當root轉變為角色後, 最少要把一個使用者帳號加入root角色,否則一但root登出後,因為沒有任何帳號擁有root角色,加上root角色又無法登入,會導致無法使用root權限,只能重開到單機模式(Singel-User),再以root身份直接登入,重新指派後再正常開機了。

還原root角色為帳號的方法如下:

  1. 將所有擁有root角色的使用者退出root角色:
# usermod -R "" admin1
  1. 將root由角色轉換為帳號:
# rolemod -K type=normal root

查看/etc/user_attr內的設定改變:

# grep root /etc/user_attr
root::::type=normal;auths=solaris.*,solaris.grant ...略

從Solaris 11開始,root帳號在圖形安裝介面下預設就一定是角色了

本篇參考我的Blog:https://blog.twtnn.com/


上一篇
連線Oracle DB的第三方程式出現ora-01012: not logged on
下一篇
Oracle forms 12c:更新fmx後無法開啟
系列文
IT工作中曾遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言