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 sẽ tập trung vào bước thứ năm của quy trình cung cấp tường lửa OneFS và chuyển sự chú ý sang một số cân nhắc về quản lý, giám sát và các công cụ khắc phục sự cố liên quan đến tường lửa.

Người ta có thể quản lý và giám sát tường lửa trong OneFS 9.5 bằng CLI, API nền tảng hoặc WebUI. Vì các mối đe dọa bảo mật dữ liệu đến từ bên trong môi trường cũng như bên ngoài, chẳng hạn như từ một nhân viên CNTT gian lận, nên một biện pháp tốt là hạn chế sử dụng các tài khoản ‘root’, ‘administrator’ và ‘sudo’ toàn năng càng nhiều càng tốt. Thay vì cấp cho quản trị viên cụm toàn quyền, một cách tiếp cận được ưa thích là sử dụng khuôn khổ xác thực, ủy quyền và kế toán toàn diện của OneFS.

Kiểm soát truy cập dựa trên vai trò OneFS (RBAC) có thể được sử dụng để giới hạn rõ ràng những người có quyền truy cập để cấu hình và giám sát tường lửa. Người quản trị bảo mật cụm chọn vùng truy cập mong muốn, tạo vai trò nhận biết vùng trong đó, chỉ định các đặc quyền và sau đó chỉ định các thành viên. Ví dụ, từ WebUI trong Access > Membership and roles > Roles :

Khi các thành viên này đăng nhập vào cụm từ giao diện cấu hình (WebUI, Platform API hoặc CLI), họ sẽ được thừa hưởng các quyền được chỉ định.

Truy cập tường lửa từ WebUI và CLI trong OneFS 9.5 yêu cầu quyền quản trị ISI_PRIV_FIREWALL mới.

# isi auth privileges -v | grep -i -A 2 tường lửa
         Mã số: ISI_PRIV_FIREWALL
Mô tả: Cấu hình tường lửa mạng
       Tên: Tường lửa
   Thể loại: Cấu hình
 Quyền: w

Quyền này có thể được chỉ định một trong bốn mức quyền cho một vai trò, bao gồm:

Chỉ số cho phép Sự miêu tả
Không có sự cho phép.
R Quyền chỉ đọc.
X Thực thi quyền.
T Quyền viết.

Theo mặc định, vai trò ‘SystemAdmin’ tích hợp được cấp quyền ghi để quản lý tường lửa, trong khi vai trò ‘AuditAdmin’ tích hợp có quyền đọc để xem cấu hình và nhật ký tường lửa.

Với OneFS RBAC, một phương pháp bảo mật nâng cao cho một trang web có thể là tạo thêm hai vai trò trên một cụm, mỗi vai trò có phạm vi tin cậy ngày càng tăng. Ví dụ:

1. Vai trò vận hành CNTT/bộ phận trợ giúp có quyền truy cập ‘đọc’ vào các thuộc tính ảnh chụp nhanh sẽ cho phép giám sát và khắc phục sự cố tường lửa, nhưng không có thay đổi nào:

Vai trò RBAC Quyền tường lửa Sự cho phép
CNTT_Vận_hành TƯỜNG LỬA ISI_PRIV Đọc

Ví dụ:

# vai trò xác thực isi tạo IT_Ops
# vai trò xác thực isi sửa đổi IT_Ops --add-priv-read ISI_PRIV_FIREWALL
# isi auth roles xem IT_Ops | grep -A2 -i tường lửa
             Mã số: ISI_PRIV_FIREWALL
      Quyền: r

2. Vai trò Quản trị tường lửa sẽ cung cấp đầy đủ quyền cấu hình và quản lý tường lửa:

Vai trò RBAC Quyền tường lửa Sự cho phép
Tường lửaAdmin TƯỜNG LỬA ISI_PRIV Viết

Ví dụ:

# isi auth roles tạo FirewallAdmin
# vai trò xác thực isi sửa đổi FirewallAdmin –add-priv-write ISI_PRIV_FIREWALL
# isi auth roles xem FirewallAdmin | grep -A2 -i firewall
Mã số: ISI_PRIV_FIREWALL
Quyền: w

Lưu ý rằng khi cấu hình OneFS RBAC, hãy nhớ xóa đặc quyền ‘ISI_PRIV_AUTH’ và ‘ISI_PRIV_ROLE’ khỏi tất cả các quản trị viên trừ những quản trị viên đáng tin cậy nhất.

Ngoài ra, các công cụ quản lý bảo mật doanh nghiệp như CyberArk cũng có thể được tích hợp để quản lý xác thực và kiểm soát truy cập toàn diện trên toàn bộ môi trường. Các công cụ này có thể được cấu hình để thay đổi mật khẩu trên các tài khoản đáng tin cậy thường xuyên (mỗi giờ hoặc lâu hơn), yêu cầu phê duyệt nhiều cấp trước khi lấy mật khẩu và theo dõi và kiểm tra các yêu cầu và xu hướng mật khẩu.

Giới hạn tường lửa OneFS

Khi làm việc với tường lửa OneFS, có một số giới hạn trên đối với các thuộc tính có thể cấu hình cần lưu ý. Bao gồm:

Tên Giá trị Sự miêu tả
GIAO DIỆN TỐI ĐA 500 Số lượng tối đa các giao diện L2 bao gồm giao diện Ethernet, VLAN, LAGG trên một nút.
MAX _MẠNG CON 100 Số lượng mạng con tối đa trong một cụm OneFS
TỐI ĐA_NHÓM 100 Số lượng nhóm mạng tối đa trong một cụm OneFS
QUY TẮC_TỐI_ĐỊNH_MẶC_ĐỊNH 100 Giá trị mặc định của các quy tắc tối đa trong chính sách tường lửa
QUY TẮC TỐI ĐA 200 Giới hạn trên của các quy tắc tối đa trong chính sách tường lửa
QUY TẮC HOẠT ĐỘNG TỐI ĐA 5000 Giới hạn trên của tổng số quy tắc đang hoạt động trên toàn bộ cụm
CHÍNH SÁCH_KHÔNG_HOẠT_ĐỘNG_TỐI_ĐA 200 Số lượng chính sách tối đa không được áp dụng cho bất kỳ mạng con hoặc nhóm mạng nào. Chúng sẽ không được ghi vào bảng ipfw.

Hiệu suất tường lửa

Xin lưu ý rằng, mặc dù tường lửa OneFS có thể tăng cường đáng kể tính bảo mật mạng của một cụm, nhưng do bản chất hoạt động kiểm tra và lọc gói tin, nó đi kèm với một hình phạt hiệu suất nhỏ (thường dưới 5%).

Tường lửa và chế độ bảo mật

Nếu OneFS STIG hardening (tức là từ ‘isi hardening apply’) được áp dụng cho một cụm với tường lửa OneFS bị vô hiệu hóa, tường lửa sẽ tự động được kích hoạt. Mặt khác, nếu tường lửa đã được bật, thì sẽ không có thay đổi nào và nó sẽ vẫn hoạt động.

Tường lửa và các cổng có thể cấu hình bởi người dùng

Một số dịch vụ OneFS cho phép thay đổi các cổng TCP/UDP mà daemon lắng nghe. Bao gồm:

Dịch vụ Lệnh CLI Cổng mặc định
NMP isi ndmp cài đặt toàn cục sửa đổi –port 10000
S3 isi s3 cài đặt toàn cầu sửa đổi –https-port 9020, 9021
SSH isi ssh thiết lập sửa đổi –port 22

Các cổng mặc định cho các dịch vụ này đã được cấu hình trong các quy tắc chính sách toàn cầu liên quan. Ví dụ, đối với giao thức S3:

# danh sách các quy tắc tường lửa mạng isi | grep s3
default_pools_policy.rule_s3 55 Quy tắc tường lửa trên dịch vụ s3 cho phép
# isi quy tắc tường lửa mạng xem default_pools_policy.rule_s3
          Mã số: default_pools_policy.rule_s3
        Tên: rule_s3
       Chỉ số: 55
 Mô tả: Quy tắc tường lửa trên dịch vụ s3
    Giao thức: TCP
   Cổng Dst: 9020, 9021
Mạng lưới nguồn: -
   Cổng nguồn: -
      Hành động: cho phép

Lưu ý rằng các chính sách toàn cầu hoặc bất kỳ chính sách tùy chỉnh nào không tự động cập nhật nếu các cổng này được cấu hình lại. Điều này có nghĩa là các chính sách tường lửa phải được cập nhật thủ công khi thay đổi cổng. Ví dụ: nếu cổng NDMP được thay đổi từ 10000 thành 10001:

# isi ndmp cài đặt chế độ xem toàn cục
                       Dịch vụ: Sai
                           Cổng: 10000
                            DMA: chung chung
          Bre Số lượng tối đa Bối cảnh: 64
Thời gian lưu giữ bối cảnh MSB: 300
Thời gian lưu giữ bối cảnh MSR: 600
        Thời gian chờ mở tệp Stub: 15
             Bật Redirector: Sai
              Bật Throttler: Sai
       Ngưỡng CPU Throttler: 50
# isi ndmp cài đặt toàn cục sửa đổi --port 10001
# isi ndmp cài đặt chế độ xem toàn cục | grep -i port
                           Cổng: 10001

Cấu hình cổng quy tắc NDMP của tường lửa cũng phải được đặt lại thành 10001:

# danh sách quy tắc tường lửa mạng isi | grep ndmp
default_pools_policy.rule_ndmp 44 Quy tắc tường lửa trên dịch vụ ndmp cho phép
# isi quy tắc tường lửa mạng sửa đổi default_pools_policy.rule_ndmp --dst-ports 10001 --live
# isi quy tắc tường lửa mạng xem default_pools_policy.rule_ndmp | grep -i dst
   Cổng Dst: 10001

Lưu ý rằng cờ –live được chỉ định để thực hiện thay đổi cổng này ngay lập tức.

Tường lửa và định tuyến dựa trên nguồn

Về cơ bản, định tuyến dựa trên nguồn OneFS (SBR) và tường lửa OneFS đều tận dụng ‘ipfw’. Do đó, SBR và tường lửa chia sẻ một bảng ipfw duy nhất trong kernel. Tuy nhiên, hai tính năng này sử dụng các phân vùng bảng ipfw riêng biệt.

Điều này cho phép SBR và tường lửa được kích hoạt độc lập với nhau. Ví dụ, ngay cả khi tường lửa bị vô hiệu hóa, SBR vẫn có thể được bật và bất kỳ quy tắc SBR nào được cấu hình đều hiển thị như mong đợi (tức là sử dụng ipfw set 0 show ).

Tường lửa và IPv6

Lưu ý rằng các chính sách mặc định toàn cục của tường lửa có một quy tắc cho phép ICMP6 theo mặc định. Đối với các mạng hỗ trợ IPv6, ICMP6 rất quan trọng đối với hoạt động của NDP (Giao thức khám phá lân cận). Do đó, khi tạo các chính sách và quy tắc tường lửa tùy chỉnh cho các mạng con/nhóm mạng hỗ trợ IPv6, hãy đảm bảo thêm một quy tắc cho phép ICMP6 hỗ trợ NDP. Như đã thảo luận trong một blog trước, một cách tiếp cận thay thế (và có khả năng dễ hơn) là sao chép một chính sách toàn cục sang một chính sách mới và chỉ cần tùy chỉnh bộ quy tắc của chính sách đó.

Tường lửa và FTP

Dịch vụ FTP OneFS có thể hoạt động ở hai chế độ: Chủ động và Thụ động. Chế độ thụ động là chế độ mặc định, trong đó các kết nối dữ liệu FTP được tạo trên các cổng tạm thời ngẫu nhiên. Tuy nhiên, vì tường lửa OneFS yêu cầu các cổng cố định để hoạt động, nên nó chỉ hỗ trợ dịch vụ FTP ở chế độ Chủ động. Các nỗ lực bật tường lửa với FTP đang chạy ở chế độ Thụ động sẽ tạo ra cảnh báo sau:

# isi ftp cài đặt xem | grep -i hoạt động
          Chế độ hoạt động: Không
# isi thiết lập tường lửa mạng sửa đổi --enabled có
Dịch vụ FTP đang chạy ở chế độ thụ động. Bật tường lửa mạng sẽ khiến các máy khách FTP bị chặn kết nối. Để tránh điều này, vui lòng bật chế độ hoạt động FTP và đảm bảo máy khách được định cấu hình ở chế độ hoạt động trước khi thử lại. Bạn có chắc chắn muốn tiếp tục và bật tường lửa mạng không? (có/[không]):

Để kích hoạt tường lửa OneFS kết hợp với dịch vụ FTP, trước tiên hãy đảm bảo rằng dịch vụ FTP đang chạy ở chế độ Hoạt động trước khi bật tường lửa. Ví dụ:

# isi ftp cài đặt xem | grep -i enable
  Dịch vụ FTP được bật: Có
# isi ftp cài đặt xem | grep -i hoạt động
          Chế độ hoạt động: Không
# isi ftp thiết lập sửa đổi –active-mode true
# isi ftp cài đặt xem | grep -i hoạt động
          Chế độ hoạt động: Có
# isi thiết lập tường lửa mạng sửa đổi --enabled có

Lưu ý : Hãy xác minh chế độ hỗ trợ FTP hoạt động và/hoặc cài đặt tường lửa ở phía máy khách.

Giám sát và khắc phục sự cố tường lửa

Khi nói đến việc giám sát tường lửa OneFS, các tệp nhật ký và tiện ích sau đây cung cấp nhiều thông tin khác nhau và là nguồn tốt để bắt đầu điều tra sự cố:

Tính thiết thực Sự miêu tả
/var/log/isi_firewall_d.log Tệp nhật ký tường lửa OneFS chính, bao gồm thông tin từ daemon tường lửa.
/var/log/isi_papi_d.log Tệp nhật ký cho nền tảng AP, bao gồm các trình xử lý liên quan đến Tường lửa.
isi_gconfig -t tường lửa Lệnh CLI hiển thị tất cả thông tin cấu hình tường lửa.
ipfw hiển thị Lệnh CLI hiển thị bảng ipfw nằm trong nhân FreeBSD.

Lưu ý rằng các tệp và lệnh đầu ra trước đó sẽ tự động được đưa vào tập nhật ký do công cụ thu thập dữ liệu ‘isi_gather_info’ tạo ra.

Bạn có thể chạy lệnh isi_gconfig với cờ ‘-q’ để xác định bất kỳ giá trị nào không ở cài đặt mặc định của chúng. Ví dụ, ngữ cảnh gconfig isi_firewall_d mặc định sẽ không báo cáo bất kỳ mục cấu hình nào:

# isi_gconfig -q -t tường lửa
[root] {phiên bản:1}

Tường lửa cũng có thể chạy ở chế độ nền trước để báo cáo quy tắc hoạt động bổ sung và đầu ra gỡ lỗi. Ví dụ, trước tiên hãy tắt dịch vụ isi_firewall_d:

# dịch vụ isi -a isi_firewall_d vô hiệu hóa
Dịch vụ 'isi_firewall_d' đã bị vô hiệu hóa.

Tiếp theo, khởi động tường lửa bằng cờ ‘-f’.

# isi_firewall_d -f
Thu thập kevents cho flxconfig
Thu thập kevents cho nodeinfo
Đang thu thập kevents để cấu hình tường lửa
Khởi tạo thư viện tường lửa
Khởi tạo bộ ipfw
ipfw: Quy tắc được ipfw thêm vào là để sử dụng tạm thời và sẽ sớm được tự động xóa. Thay vào đó, hãy sử dụng tường lửa isi.
cmd:/sbin/ipfw set enable 0 kết thúc bình thường, mã thoát:0
isi_firewall_d hiện đang chạy
Đã tải cấu hình FlexNet chính (rev:312)
Cập nhật tường lửa cục bộ bằng các tệp đã thay đổi: flx_config, Node info, Firewall config
Bắt đầu cập nhật quy tắc tường lửa...
Phiên bản flx_config đã thay đổi! latest_flx_config_revision: new:312, orig:0
phiên bản node_info đã thay đổi! latest_node_info_revision: new:1, orig:0
phiên bản tường lửa gconfig đã thay đổi! latest_fw_gconfig_revision: new:17, orig:0
Bắt đầu cập nhật quy tắc tường lửa cho cấu hình tường lửa (gconfig)
Bắt đầu xử lý cấu hình tường lửa (gconfig)
Xử lý chính sách tường lửa default_pools_policy
ipfw: Quy tắc được ipfw thêm vào là để sử dụng tạm thời và sẽ sớm được tự động xóa. Thay vào đó, hãy sử dụng tường lửa isi.
32043 cho phép tcp từ bất kỳ đến bất kỳ 10000 trong
cmd:/sbin/ipfw thêm 32043 đặt 8 cho phép TCP từ bất kỳ đến bất kỳ 10000 trong kết thúc bình thường, mã thoát: 0
ipfw: Quy tắc được ipfw thêm vào là để sử dụng tạm thời và sẽ sớm được tự động xóa. Thay vào đó, hãy sử dụng tường lửa isi.
32044 cho phép tcp từ bất kỳ đến bất kỳ 389,636 trong
cmd:/sbin/ipfw thêm 32044 đặt 8 cho phép TCP từ bất kỳ đến bất kỳ 389,636 trong kết thúc bình thường, mã thoát:0
Cắt...

Nếu tường lửa OneFS được bật và một số lưu lượng mạng bị chặn, thì lệnh này hoặc lệnh ipfw show CLI thường sẽ cung cấp manh mối đầu tiên.

Xin lưu ý rằng  lệnh ipfw  KHÔNG BAO GIỜ được sử dụng để sửa đổi bảng tường lửa OneFS!

Ví dụ, giả sử một quy tắc được thêm vào chính sách nhóm mặc định từ chối lưu lượng truy cập trên cổng 9876 từ tất cả các mạng nguồn (0.0.0.0/0):

# quy tắc tường lửa mạng isi tạo default_pools_policy.rule_9876 --index=100 --dst-ports 9876 --src-networks 0.0.0.0/0 --action deny –live
# isi network firewall rules view default_pools_policy.rule_9876
          Mã số: default_pools_policy.rule_9876
        Tên: rule_9876
       Chỉ số: 100
 Sự miêu tả:
    Giao thức: TẤT CẢ
   Cổng Dst: 9876
Mạng lưới nguồn: 0.0.0.0/0
   Cổng nguồn: -
      Hành động: từ chối

Chạy lệnh ipfw show và tìm cổng sẽ hiển thị quy tắc mới này:

# ipfw hiển thị | grep 9876
32099 0 0 từ chối ip từ bất kỳ đến bất kỳ 9876 trong

Đầu ra lệnh ipfw show cũng báo cáo số liệu thống kê về số lượng gói tin IP khớp với từng quy tắc. Điều này có thể cực kỳ hữu ích khi điều tra các sự cố tường lửa. Ví dụ, một phiên telnet được khởi tạo tới cụm trên cổng 9876 từ máy khách:

# telnet 10.224.127.8 9876
Đang thử 10.224.127.8...
telnet: kết nối đến địa chỉ 10.224.127.8: Hoạt động đã hết thời gian
telnet: Không thể kết nối tới máy chủ từ xa

Nỗ lực kết nối sẽ hết thời gian vì quy tắc ‘deny’ của cổng 9876 sẽ âm thầm loại bỏ các gói tin. Đồng thời, lệnh ipfw show sẽ tăng bộ đếm của nó để báo cáo về các gói tin bị từ chối. Ví dụ:

# ipfw hiển thị | grep 9876
32099 9 540 từ chối ip từ bất kỳ đến bất kỳ 9876 trong

Nếu hành vi này không được lường trước hoặc mong muốn, bạn có thể tìm tên quy tắc bằng cách tìm kiếm danh sách quy tắc theo số cổng, trong trường hợp này là cổng 9876:

# danh sách các quy tắc tường lửa mạng isi | grep 9876
default_pools_policy.rule_9876 100 từ chối

Sau đó, quy tắc vi phạm có thể được khôi phục lại thành ‘cho phép’ lưu lượng truy cập trên cổng 9876:

# isi quy tắc tường lửa mạng sửa đổi default_pools_policy.rule_9876 --action allow --live

Hoặc dễ dàng xóa nếu muốn:

# isi network firewall rules xóa default_pools_policy.rule_9876 --live
Bạn có chắc chắn muốn xóa quy tắc tường lửa default_pools_policy.rule_9876 không? (có/[không]): có

Tác giả : Nick Trimbee