Bổ sung cho shell bị hạn chế đã được đề cập trong bài viết trước của loạt bài này , OneFS 9.5 còn bổ sung thêm trình xem nhật ký mới cùng tùy chọn shell phục hồi.
Tiện ích CLI isi_log_access mới cho phép người dùng SSH đọc, phân trang và truy vấn các tệp nhật ký trong thư mục /var/log . Khả năng chạy công cụ này được điều chỉnh bởi vai trò của người dùng được cấp quyền kiểm soát truy cập dựa trên vai trò (RBAC) ISI_PRIV_SYS_SUPPORT .
OneFS RBAC được sử dụng để giới hạn rõ ràng những ai có quyền truy cập vào phạm vi cấu hình và hoạt động của cụm. Kiểm soát chi tiết này cho phép tạo ra các vai trò quản trị, có thể tạo và quản lý các thành phần cốt lõi OneFS và dịch vụ dữ liệu khác nhau, cô lập từng thành phần cho các vai trò bảo mật cụ thể hoặc chỉ cho quản trị viên, v.v.
Trong trường hợp này, quản trị viên bảo mật cụm sẽ chọn vùng truy cập, tạo vai trò nhận biết vùng trong vùng đó, chỉ định quyền ISI_PRIV_SYS_SUPPORT để sử dụng isi_log_access , sau đó chỉ định người dùng vào vai trò đó.
Lưu ý rằng vai trò RBAC OneFS AuditAdmin tích hợp không chứa các đặc quyền ISI_PRIV_SYS_SUPPORT theo mặc định. Ngoài ra, các vai trò RBAC tích hợp không thể được cấu hình lại:
# vai trò xác thực isi sửa đổi AuditAdmin --add-priv=ISI_PRIV_SYS_SUPPORT Quyền của vai trò tích hợp AuditAdmin không thể được sửa đổi
Do đó, vai trò ISI_PRIV_SYS_SUPPORT phải được thêm vào vai trò tùy chỉnh.
Ví dụ, cú pháp CLI sau đây sẽ thêm người dùng usr_admin_restricted vào vai trò rl_ssh và thêm đặc quyền ISI_PRIV_SYS_SUPPORT vào vai trò rl_ssh:
# vai trò xác thực isi sửa đổi rl_ssh --add-user=usr_admin_restricted # vai trò xác thực isi sửa đổi rl_ssh --add-priv=ISI_PRIV_SYS_SUPPORT # isi vai trò xác thực xem rl_ssh Tên: rl_ssh Sự miêu tả: - Thành viên: u_ssh_restricted u_admin_restricted Quyền lợi Mã số: ISI_PRIV_LOGIN_SSH Quyền: r Mã số: ISI_PRIV_SYS_SUPPORT Quyền: r
Người dùng usr_admin_restricted cũng có thể được thêm vào vai trò AuditAdmin:
# isi auth roles sửa đổi AuditAdmin --add-user=usr_admin_restricted # isi auth vai trò xem AuditAdmin | grep -i thành viên Thành viên: usr_admin_restricted
Công cụ isi_log_access hỗ trợ các tùy chọn lệnh và đối số sau:
Lựa chọn | Sự miêu tả |
---|---|
–grep | So khớp một mẫu với tệp và hiển thị trên stdout |
-giúp đỡ | Hiển thị mô tả lệnh và thông báo sử dụng |
-danh sách | Liệt kê tất cả các tập tin trong cây /var/log |
-ít hơn | Hiển thị tệp trên stdout với bộ phân trang trong secure_mode |
-hơn | Hiển thị tệp trên stdout với bộ phân trang trong secure_mode |
-xem | Hiển thị tệp trên stdout |
-đồng hồ | Hiển thị phần cuối của tệp và nội dung mới khi nó được viết |
–zgrep | So khớp mẫu với nội dung tệp đã giải nén và hiển thị trên stdout |
–zview | Hiển thị phiên bản đã giải nén của tệp trên stdout |
Tại đây, người dùng u_admin_restricted đăng nhập vào SSH và chạy tiện ích isi_log_access để liệt kê tệp nhật ký /var/log/messages :
# ssh u_admin_restricted@10.246.178.121 (u_admin_restricted@10.246.178.121) Mật khẩu: Lần đăng nhập cuối: Thứ 4, ngày 3 tháng 5 năm 18:02:18 năm 2023 từ 10.246.159.107 Bản quyền (c) 2001-2023 của Dell Inc. hoặc các công ty con của Dell. Bảo lưu mọi quyền. Bản quyền (c) 1992-2018 Dự án FreeBSD. Bản quyền (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 Hội đồng quản trị Đại học California. Mọi quyền được bảo lưu. PowerScale OneFS 9.5.0.0 Các lệnh được phép là thông thoáng ... đây là ... isi_recovery_shell ... truy cập nhật ký isi ... ra đăng xuất # isi_log_access –danh sách THỜI GIAN SỬA ĐỔI CUỐI CÙNG KÍCH THƯỚC TẬP TIN Thứ Hai ngày 10 tháng 4 14:22:18 2023 56 cảnh báo.log Thứ sáu, ngày 5 tháng 5 năm 2023 00:30:00 62 all.log Thứ sáu, ngày 5 tháng 5 năm 2023 00:30:00 99 all.log.0.gz Thứ sáu, ngày 5 tháng 5 năm 2023 00:00:00 106 all.log.1.gz Thứ năm 4 tháng 5 00:30:00 2023 100 all.log.2.gz Thứ năm 4 tháng 5 00:00:00 2023 107 all.log.3.gz Thứ tư ngày 3 tháng 5 năm 2023 00:30:00 99 all.log.4.gz Thứ tư ngày 3 tháng 5 năm 2023 00:00:00 107 all.log.5.gz Thứ ba ngày 2 tháng 5 năm 2023 00:30:00 100 all.log.6.gz Thứ Hai 10/04/2023 14:22:18 56 audit_config.log Thứ Hai 10/04/2023 14:22:18 56 audit_protocol.log Thứ sáu, ngày 5 tháng 5 năm 17:23:53 2023 82064 auth.log Thứ bảy, 22 tháng 4, 12:09:31 2023 10750 auth.log.0.gz Thứ hai ngày 10 tháng 4 15:31:36 2023 0 bam.log Thứ Hai ngày 10 tháng 4 14:22:18 2023 56 boxend.log Thứ hai ngày 10 tháng 4 14:22:18 2023 56 bwt.log Thứ Hai 10/04/2023 14:22:18 56 cloud_interface.log Thứ Hai ngày 10 tháng 4 14:22:18 2023 56 console.log Thứ sáu, ngày 5 tháng 5 năm 18:20:32 2023 23769 cron Thứ sáu, ngày 5 tháng 5 năm 15:30:00 2023 8803 cron.0.gz Thứ sáu, ngày 5 tháng 5 năm 2023 03:10:00 9013 cron.1.gz Thứ năm 4 tháng 5 15:00:00 2023 8847 cron.2.gz Thứ sáu, ngày 5 tháng 5 năm 2023 03:01:02 3012 daily.log Thứ sáu, ngày 5 tháng 5 năm 2023 00:30:00 101 daily.log.0.gz Thứ sáu ngày 5 tháng 5 00:00:00 2023 1201 daily.log.1.gz Thứ năm 4 tháng 5 00:30:00 2023 102 daily.log.2.gz Thứ năm ngày 4 tháng 5 năm 2023 00:00:00 1637 daily.log.3.gz Thứ tư ngày 3 tháng 5 năm 2023 00:30:00 101 daily.log.4.gz Thứ tư ngày 3 tháng 5 năm 2023 00:00:00 1200 daily.log.5.gz Thứ ba ngày 2 tháng 5 năm 2023 00:30:00 102 daily.log.6.gz Thứ Hai 10/04/2023 14:22:18 56 debug.log Thứ ba 11 tháng 4 12:29:37 2023 3694 diskpools.log Thứ sáu ngày 5 tháng 5 03:01:00 2023 244566 dmesg.today Thứ năm 4 tháng 5 03:01:00 2023 244662 dmesg.yesterday Thứ ba 11 tháng 4 11:49:32 2023 788 drive_purposing.log Thứ Hai ngày 10 tháng 4 14:22:18 2023 56 ethmixer.log Thứ hai ngày 10 tháng 4 14:22:18 2023 56 gssd.log Thứ sáu, ngày 5 tháng 5 năm 2023 00:00:35 41641 hardening.log Thứ Hai 10 tháng 4 15:31:05 2023 17996 hardening_engine.log Thứ Hai 10/04/2023 14:22:18 56 hdfs.log Thứ sáu, ngày 5 tháng 5 năm 15:51:28 2023 31359 hw_ata.log Thứ sáu ngày 5 tháng 5 15:51:28 2023 56527 hw_da.log Thứ hai ngày 10 tháng 4 14:22:18 2023 56 hw_nvd.log Thứ hai ngày 10 tháng 4 14:22:18 2023 56 idi.log
Ngoài việc phân tích toàn bộ tệp nhật ký với các cờ more và less , tiện ích isi_log_access cũng có thể được sử dụng để theo dõi (tức là theo dõi) nhật ký. Ví dụ, tệp nhật ký /var/log/messages :
% isi_log_access --theo dõi tin nhắn 2023-05-03T18:00:12.233916-04:00 <1.5> h7001-2(id2) limited[68236]: Đã gọi ['/usr/bin/isi_log_access', 'messages'], trả về 2. 2023-05-03T18:00:23.759198-04:00 <1.5> h7001-2(id2) limited[68236]: Đang gọi ['/usr/bin/isi_log_access']. 2023-05-03T18:00:23.797928-04:00 <1.5> h7001-2(id2) limited[68236]: Đã gọi ['/usr/bin/isi_log_access'], trả về 0. 2023-05-03T18:00:36.077093-04:00 <1.5> h7001-2(id2) limited[68236]: Đang gọi ['/usr/bin/isi_log_access', '--help']. 2023-05-03T18:00:36.119688-04:00 <1.5> h7001-2(id2) limited[68236]: Đã gọi ['/usr/bin/isi_log_access', '--help'], trả về 0. 2023-05-03T18:02:14.545070-04:00 <1.5> h7001-2(id2) limited[68236]: Lệnh không có trong danh sách các lệnh được phép. 2023-05-03T18:02:50.384665-04:00 <1.5> h7001-2(id2) limited[68594]: Đang gọi ['/usr/bin/isi_log_access', '--list']. 2023-05-03T18:02:50.440518-04:00 <1.5> h7001-2(id2) limited[68594]: Đã gọi ['/usr/bin/isi_log_access', '--list'], trả về 0. 2023-05-03T18:03:13.362411-04:00 <1.5> h7001-2(id2) limited[68594]: Lệnh không có trong danh sách các lệnh được phép. 2023-05-03T18:03:52.107538-04:00 <1.5> h7001-2(id2) limited[68738]: Đang gọi ['/usr/bin/isi_log_access', '--watch', 'messages'].
Như mong đợi, một vài dòng cuối cùng của tệp nhật ký tin nhắn được hiển thị. Các mục nhật ký này bao gồm các mục kiểm tra lệnh cho người dùng usr_admin_secure đang chạy tiện ích isi_log_access với cả đối số –help , –list và –watch .
Tiện ích isi_log_access cũng cho phép đọc ( –zview ) hoặc tìm kiếm ( –zgrep ) các tệp nhật ký đã nén mà không cần giải nén chúng. Ví dụ, để tìm tất cả các mục nhập usr_admin trong tệp vmlog.0.gz đã nén :
# isi_log_access --zgrep usr_admin vmlog.0.gz 0.0 64468 usr_admin_restricted /usr/local/bin/zsh 0.0 64346 usr_admin_restricted python /usr/local/restricted_shell/bin/restricted_shell.py (python3.8) 0.0 64468 usr_admin_restricted /usr/local/bin/zsh 0.0 64346 usr_admin_restricted python /usr/local/restricted_shell/bin/restricted_shell.py (python3.8) 0.0 64342 usr_admin_restricted sshd: usr_admin_restricted@pts/3 (sshd) 0.0 64331 root sshd: usr_admin_restricted [priv] (sshd) 0.0 64468 usr_admin_restricted /usr/local/bin/zsh 0.0 64346 usr_admin_restricted python /usr/local/restricted_shell/bin/restricted_shell.py (python3.8) 0.0 64342 usr_admin_restricted sshd: usr_admin_restricted@pts/3 (sshd) 0.0 64331 root sshd: usr_admin_restricted [priv] (sshd) 0.0 64468 usr_admin_restricted /usr/local/bin/zsh 0.0 64346 usr_admin_restricted python /usr/local/restricted_shell/bin/restricted_shell.py (python3.8) 0.0 64342 usr_admin_restricted sshd: usr_admin_restricted@pts/3 (sshd) 0.0 64331 root sshd: usr_admin_restricted [priv] (sshd) 0.0 64468 usr_admin_restricted /usr/local/bin/zsh 0.0 64346 usr_admin_restricted python /usr/local/restricted_shell/bin/restricted_shell.py (python3.8) 0.0 64342 usr_admin_restricted sshd: u_admin_restricted@pts/3 (sshd) 0.0 64331 root sshd: usr_admin_restricted [priv] (sshd)
Vỏ khôi phục OneFS
Mục đích của shell phục hồi là cho phép người dùng shell bị hạn chế truy cập shell UNIX thông thường và tập lệnh liên quan, nếu cần. Do đó, shell phục hồi chủ yếu được thiết kế và dành cho các hoạt động phục hồi cụm phản ứng và các vấn đề hỗ trợ không lường trước khác. Lưu ý rằng lệnh CLI isi_recovery_shell chỉ có thể chạy và shell phục hồi được nhập từ bên trong shell bị hạn chế.
Quyền ISI_PRIV_RECOVERY_SHELL là bắt buộc để người dùng nâng shell của họ từ chế độ bị hạn chế lên chế độ phục hồi. Cú pháp sau có thể được sử dụng để thêm quyền này vào một vai trò, trong trường hợp này là vai trò rl_ssh:
% vai trò xác thực isi sửa đổi rl_ssh --add-priv=ISI_PRIV_RECOVERY_SHELL % isi vai trò xác thực xem rl_ssh Tên: rl_ssh Sự miêu tả: - Thành viên: usr_ssh_restricted usr_admin_restricted Quyền lợi Mã số: ISI_PRIV_LOGIN_SSH Quyền: r Mã số: ISI_PRIV_SYS_SUPPORT Quyền: r Mã số: ISI_PRIV_RECOVERY_SHELL Quyền: r
Tuy nhiên, lưu ý rằng tham số bảo mật –-restricted-shell-enabled phải được đặt thành true trước khi người dùng có đặc quyền ISI_PRIV_RECOVERY_SHELL có thể vào shell phục hồi. Ví dụ:
% isi thiết lập bảo mật xem | grep -i restr Shell bị hạn chế Đã bật: Không % isi thiết lập bảo mật sửa đổi –restricted-shell-enabled=true % isi thiết lập bảo mật xem | grep -i restr Shell bị hạn chế Đã bật: Có
Người dùng shell bị hạn chế phải nhập mật khẩu gốc của cụm để vào shell khôi phục thành công. Ví dụ:
% isi_recovery_shell -h Sự miêu tả: Lệnh này được sử dụng để vào Recovery shell tức là shell zsh bình thường từ PowerScale Restricted shell. Lệnh này chỉ được hỗ trợ trong PowerScale Restricted shell. Quyền bắt buộc: Vỏ_PHỤC_PHỤC_RIÊNG_ISI Cách sử dụng: vỏ phục hồi isi [{--trợ giúp | -h}]
Nếu nhập sai mật khẩu gốc, lỗi sau sẽ hiển thị:
% isi_recovery_shell Nhập thông tin đăng nhập 'root' để vào Recovery shell Mật khẩu: Thông tin đăng nhập không hợp lệ. isi_recovery_shell: Xác thực PAM không thành công
Quá trình phóng đạn phục hồi thành công diễn ra như sau:
$ ssh u_admin_restricted@10.246.178.121 (u_admin_restricted@10.246.178.121) Mật khẩu: Lần đăng nhập cuối: Thứ năm, ngày 4 tháng 5 năm 2023 lúc 17:26:10 từ 10.246.159.107 Bản quyền (c) 2001-2023 của Dell Inc. hoặc các công ty con của Dell. Bảo lưu mọi quyền. Bản quyền (c) 1992-2018 Dự án FreeBSD. Bản quyền (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 Hội đồng quản trị Đại học California. Mọi quyền được bảo lưu. PowerScale OneFS 9.5.0.0 Các lệnh được phép là thông thoáng ... đây là ... isi_recovery_shell ... truy cập nhật ký isi ... ra đăng xuất % isi_recovery_shell Nhập thông tin đăng nhập 'root' để vào Recovery shell Mật khẩu: %
Tại thời điểm này, các lệnh shell/UNIX thông thường (bao gồm cả trình soạn thảo vi) lại khả dụng:
% ai là ai u_admin_restricted % mật khẩu /ifs/home/u_admin_restricted
% trên cùng | đầu -n 10 pid cuối cùng: 65044; tải trung bình: 0,12, 0,24, 0,29 lên 24+04:17:23 18:38:39 118 tiến trình: 1 đang chạy, 117 đang ngủ CPU: 0,1% người dùng, 0,0% tốt, 0,9% hệ thống, 0,1% ngắt, 98,9% nhàn rỗi Bộ nhớ: 233M Hoạt động, 19G Không hoạt động, 2152K Giặt ủi, 137G Có dây, 60G Buf, 13G Trống Tráo đổi: PID TÊN NGƯỜI DÙNG THR PRI NICE KÍCH THƯỚC TRẠNG THÁI C THỜI GIAN WCPU LỆNH 3955 gốc 1 -22 r30 50M 14M chọn 24 142:28 0,54% isi_drive_d 5715 gốc 20 20 0 231M 69M kqđọc 5 55:53 0,15% isi_stats_d 3864 gốc 14 20 0 81M 21M kqđọc 16 133:02 0,10% isi_mcp
Thông tin chi tiết về shell phục hồi (ZSH) dành cho người dùng u_admin_restricted được báo cáo như sau:
% printenv $SHELL _=/usr/bin/printenv PAGER=ít hơn LƯU LẠI LỊCH SỬ=2000 HISTFILE=/ifs/home/u_admin_restricted/.zsh_history KÍCH THƯỚC LỊCH SỬ=1000 OLDPWD=/ifs/home/u_admin_restricted PWD=/ifs/home/u_admin_restricted SHLVL=1 TÊN ĐĂNG NHẬP=u_admin_restricted TRANG CHỦ=/ifs/home/u_admin_restricted RECOVERY_SHELL=ĐÚNG TERM=xterm ĐƯỜNG DẪN=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
Có thể chạy các điều kiện và tập lệnh logic của Shell. Ví dụ:
% while true; do uptime; sleep 5; xong 5:47PM hoạt động 24 ngày, 3:26, 5 người dùng, tải trung bình: 0,44, 0,38, 0,34 5:47PM hoạt động 24 ngày, 3:26, 5 người dùng, tải trung bình: 0,41, 0,38, 0,34
Có thể chạy lệnh ISI và thực hiện các tác vụ quản lý cụm.
% danh sách làm cứng isi Tên Mô tả Trạng thái -------------------------------------------------- - STIG Bật tất cả các cài đặt bảo mật STIG Không áp dụng -------------------------------------------------- - Tổng cộng: 1
Ví dụ: tạo và xóa ảnh chụp nhanh:
% isi snap danh sách snap ID Tên Đường dẫn ------------ ------------ Tổng cộng: 0 % isi snap snap tạo /ifs/data % isi snap danh sách snap ID Tên Đường dẫn -------------------- 2 s2 /ifs/dữ liệu -------------------- Tổng cộng: 1 % isi snap snap xóa 2 Bạn có chắc chắn không? (có/[không]): có
Sysctl có thể được đọc và quản lý:
% hệ thống efs.gmp.group efs.gmp.group: <10539754> (4) :{ 1:0-14, 2:0-12,14,17, 3-4:0-14, smb: 1-4, nfs: 1-4, all_enabled_protocols: 1-4, isi_cbind_d: 1-4, lsass: 1-4, external_connectivity: 1-4 }
Có thể vô hiệu hóa shell bị hạn chế:
% isi thiết lập bảo mật sửa đổi --restricted-shell-enabled=false % isi thiết lập bảo mật xem | grep -i restr Shell bị hạn chế Đã bật: Không
Tuy nhiên, các lệnh gạch dưới isi ( isi_* ), chẳng hạn như isi_for_array , vẫn không được phép chạy:
% /usr/bin/isi_for_array -s thời gian hoạt động zsh: quyền bị từ chối: /usr/bin/isi_for_array % isi_gather_thông tin zsh: quyền bị từ chối: isi_gather_info % isi_cstats isi_cstats: Syscall ifs_prefetch_lin() không thành công: Hoạt động không được phép
Khi hoàn tất, người dùng có thể kết thúc phiên hoàn toàn bằng lệnh đăng xuất hoặc thoát khỏi shell khôi phục thông qua lệnh thoát và quay lại shell bị hạn chế:
% thoát Các lệnh được phép là thông thoáng ... đây là ... isi_recovery_shell ... truy cập nhật ký isi ... ra đăng xuất %
Tác giả : Nick Trimbee
Bài viết mới cập nhật
Quản lý và khắc phục sự cố tường lửa OneFS
Trong bài viết cuối cùng trong loạt bài này, chúng tôi ...
Shell bị hạn chế OneFS
Ngược lại với nhiều thiết bị lưu trữ khác, PowerScale luôn ...
OneFS Restricted Shell—Xem và phục hồi nhật ký
Bổ sung cho shell bị hạn chế đã được đề cập ...
Thành công với Dell PowerScale và Baselight của FilmLight
Với vai trò là người dẫn đầu kỹ thuật cho quy ...