Các đặc tính kiểm soát truy nhập theo ngữ cảnh (CBAC) trong Cisco IOS
Đặc tính CBAC (Context Based Access Control) cung các các khả năng kiểm soát điều khiển truy nhập cho từng ứng dụng trên biên giới mạng của hệ thống. CBAC giúp router quản lý được trạng thái cố định, dựa trên thông tin của các packet được xem xét, và ra quyết định traffic nào nên được cho phép hay từ chối. CBAC là một trong những dạng tường lửa ban đầu trong các hệ điều hành Cisco IOS.
CBAC là trọng điểm của các đặc tính trong Cisco IOS firewall, có các đặc điểm chính sau:
- Nhận dạng và ngăn chặn các tấn công theo kiểu từ chối dịch vụ (DoS)
- Tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra
- Cung cấp việc điều khiển truy nhập cho từng ứng dụng
- Cung cấp việc chặn trên các gói TCP và UDP thông thường
CBAC có thể được dùng cho các hệ thống mạng intranet, extranet và Internet bởi khả năng chắt lọc các gói TCP và UDP dựa trên các thông tin trong các giao thức ứng dụng. Không giống như access-list chỉ giới hạn việc xem xét packet ở mức độ cơ bản ở tầng network, CBAC có khả năng xem xét không những ở tầng network và transport mà còn các thông tin giao thức của ở tầng ứng dụng để biết về các trạng thái của các kết nối TCP và UDP. Việc giám sát mở rộng này cho phép hỗ trợ các giao thức liên quan đến các kênh tạo ra trên các kênh điều khiển của ứng dụng ví dụ như FTP, Remote Procedure Call và SQL. Như vậy, ưu điểm chính của CBAC so với Router ACL chính là khả năng làm việc và xử lý ở mức ứng dụng, layer 7.
Khi NAT được áp dụng cho các traffic đi qua một router mà có sử dụng CBAC, firewall sẽ thực hiện các giám sát theo kiểu CBAC và che giấu các thông tin bên trong. Quá trình này cung cấp việc bảo vệ thêm cho các giao thức mà CBAC không hỗ trợ. CBAC cũng hỗ trợ việc chặn JAVA, lọc các trafic HTTP. Java Applet có thể bị chặn dựa trên địa chỉ IP của server. CBAC cũng có khả năng chặn quyền truy nhập các Java applet không được nhúng vào file nén hoặc các file lưu trữ hoặc có thể chỉ cho phép người dùng download các applet này từ các nguồn đáng tin cậy. Tóm lại, CBAC có khả năng chặn các Java Applet, không cho download về máy của người dùng cuối. Khả năng này giúp giảm thiểu các rủi ro do các Java applet độc hại gây ra.
CBAC với khả năng nhận dạng vào bảo vệ hệ thống với các tấn công từ chối dịch vụ
CBAC kiểm tra các traffic đi qua firewall, khám phá và quản lý các thông tin trạng thái cho các kết nối TCP và UDP. Thông tin trạng thái này được dùng để tạo ra những trạng thái mở tạm thời trong các access-list của firewall cho phép traffic trả về và các kết nối dữ liệu có thể đi được.
Việc giám sát các packet tại tầng ứng dụng và quản lý các thông tin session TCP và UDP cung cấp CBAC khả năng nhận dạng và ngăn chặn một số tấn công trong mạng, chẳng hạn như SYN flooding. Các thông điệp SYN được gửi đến các server từ client đóng vai trò là bước đầu tiên trong 3 bước bắt tay thiết lập kết nối TCP. Xem hình bên dưới mô tả một tiến trình bắt tay.
Trạng thái flood gói SYN xảy ra khi có hàng trăm hoặc hàng ngàn thông điệp SYN của TCP được gửi đến server nhưng không bao giờ hoàn tất các kết nối này. Kết quả là số lượng lớn các kết nối chưa hoàn tất (half-open session) có thể làm cho server bị quá tải, và sẽ từ chối các yêu cầu hợp lệ. Đây là một dạng của kiểu tấn công từ chối dịch vụ.
CBAC giúp bảo vệ hệ thống từ các tấn công từ chối dịch vụ theo một số cách khác nhau. CBAC xem xét các số sequence của các packet trong các kết nối TCP để xem các số sequence này có nằm trong phạm vi tương ứng hay không. CBAC cũng có khả năng loại bỏ các kết nối không hoàn tất (half-open connection), nhận dạng số lượng kết nối tăng đột ngột vào hệ thống và tạo ra các cảnh báo cho người quản trị.
Tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra
CBAC có khả năng tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra. Các đặc điểm lưu các dấu vết kiểm tra cao cấp sử dụng syslog theo dõi tất cả các thông tin trao đổi cùng với thời gian tương ứng, địa chỉ máy nguồn, máy đích, port sử dụng và tổng số lượng byte dữ liệu truyền đi cho các báo cáo dựa trên các session. Các cảnh báo thời gian thực gửi các thông điệp lỗi syslog đến các thiết bị quản lý trung tâm khi nhận dạng các thao tác có dấu hiệu nghi ngờ. Sử dụng các luật kiểm tra CBAC, bạn có thể cấu hình các cảnh báo và lưu các dấu vết kiểm tra trên cơ sở từng ứng dụng. Nếu bạn muốn tạo các thông tin cho việc lưu các dấu vết kiểm soát thông tin cho traffic HTTP, bạn có thể đặc tả các luật liên quan đến việc giám sát traffic HTTP.
CBAC thông thường sẵn sàng chỉ cho traffic của IP. Chỉ có các packet của TCP và UDP được giám sát. Bắt đầu từ phiên bản 12.2(15)T, CBAC hỗ trợ giám sát các loại thông điệp phổ biến nhất của giao thức ICMP. Bảng sau minh họa các loại ICMP hỗ trợ bởi CBAC.
Những traffic nào không thể lọc được bằng CBAC thì nên dùng extended IP ACL để lọc.
Chú ý:
CBAC không thể bảo vệ hệ thống từ những tấn công xuất phát nội bộ từ mạng bên trong. CBAC chỉ có thể nhận dạng và bảo vệ hệ thống từ những tấn công đi xuyên qua thiết bị Cisco IOS Firewall.
Bật cơ chế logging và kiểm tra các dấu vết nhằm cung cấp các thông tin ghi nhận việc truy nhập vào hệ thống thông qua firewall, bao gồm các việc thử truy nhập vào hệ thống không xác thực. Để cấu hình các chức năng này, dùng câu lệnh logging và ip inspect audit-trail trong mode configuration. Ví dụ:
Router1#configure terminal
Router1(config)#service timestamps log datetime
Router1(config)#logging 192.168.20.1
Router1(config)#logging facility 5
Router1(config)#ip inspect audit-trail
Đặc tính CBAC (Context Based Access Control) cung các các khả năng kiểm soát điều khiển truy nhập cho từng ứng dụng trên biên giới mạng của hệ thống. CBAC giúp router quản lý được trạng thái cố định, dựa trên thông tin của các packet được xem xét, và ra quyết định traffic nào nên được cho phép hay từ chối. CBAC là một trong những dạng tường lửa ban đầu trong các hệ điều hành Cisco IOS.
CBAC là trọng điểm của các đặc tính trong Cisco IOS firewall, có các đặc điểm chính sau:
- Nhận dạng và ngăn chặn các tấn công theo kiểu từ chối dịch vụ (DoS)
- Tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra
- Cung cấp việc điều khiển truy nhập cho từng ứng dụng
- Cung cấp việc chặn trên các gói TCP và UDP thông thường
CBAC có thể được dùng cho các hệ thống mạng intranet, extranet và Internet bởi khả năng chắt lọc các gói TCP và UDP dựa trên các thông tin trong các giao thức ứng dụng. Không giống như access-list chỉ giới hạn việc xem xét packet ở mức độ cơ bản ở tầng network, CBAC có khả năng xem xét không những ở tầng network và transport mà còn các thông tin giao thức của ở tầng ứng dụng để biết về các trạng thái của các kết nối TCP và UDP. Việc giám sát mở rộng này cho phép hỗ trợ các giao thức liên quan đến các kênh tạo ra trên các kênh điều khiển của ứng dụng ví dụ như FTP, Remote Procedure Call và SQL. Như vậy, ưu điểm chính của CBAC so với Router ACL chính là khả năng làm việc và xử lý ở mức ứng dụng, layer 7.
Khi NAT được áp dụng cho các traffic đi qua một router mà có sử dụng CBAC, firewall sẽ thực hiện các giám sát theo kiểu CBAC và che giấu các thông tin bên trong. Quá trình này cung cấp việc bảo vệ thêm cho các giao thức mà CBAC không hỗ trợ. CBAC cũng hỗ trợ việc chặn JAVA, lọc các trafic HTTP. Java Applet có thể bị chặn dựa trên địa chỉ IP của server. CBAC cũng có khả năng chặn quyền truy nhập các Java applet không được nhúng vào file nén hoặc các file lưu trữ hoặc có thể chỉ cho phép người dùng download các applet này từ các nguồn đáng tin cậy. Tóm lại, CBAC có khả năng chặn các Java Applet, không cho download về máy của người dùng cuối. Khả năng này giúp giảm thiểu các rủi ro do các Java applet độc hại gây ra.
CBAC với khả năng nhận dạng vào bảo vệ hệ thống với các tấn công từ chối dịch vụ
CBAC kiểm tra các traffic đi qua firewall, khám phá và quản lý các thông tin trạng thái cho các kết nối TCP và UDP. Thông tin trạng thái này được dùng để tạo ra những trạng thái mở tạm thời trong các access-list của firewall cho phép traffic trả về và các kết nối dữ liệu có thể đi được.
Việc giám sát các packet tại tầng ứng dụng và quản lý các thông tin session TCP và UDP cung cấp CBAC khả năng nhận dạng và ngăn chặn một số tấn công trong mạng, chẳng hạn như SYN flooding. Các thông điệp SYN được gửi đến các server từ client đóng vai trò là bước đầu tiên trong 3 bước bắt tay thiết lập kết nối TCP. Xem hình bên dưới mô tả một tiến trình bắt tay.
Trạng thái flood gói SYN xảy ra khi có hàng trăm hoặc hàng ngàn thông điệp SYN của TCP được gửi đến server nhưng không bao giờ hoàn tất các kết nối này. Kết quả là số lượng lớn các kết nối chưa hoàn tất (half-open session) có thể làm cho server bị quá tải, và sẽ từ chối các yêu cầu hợp lệ. Đây là một dạng của kiểu tấn công từ chối dịch vụ.
CBAC giúp bảo vệ hệ thống từ các tấn công từ chối dịch vụ theo một số cách khác nhau. CBAC xem xét các số sequence của các packet trong các kết nối TCP để xem các số sequence này có nằm trong phạm vi tương ứng hay không. CBAC cũng có khả năng loại bỏ các kết nối không hoàn tất (half-open connection), nhận dạng số lượng kết nối tăng đột ngột vào hệ thống và tạo ra các cảnh báo cho người quản trị.
Tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra
CBAC có khả năng tạo ra được các cảnh báo thời gian thực và các dấu vết kiểm tra. Các đặc điểm lưu các dấu vết kiểm tra cao cấp sử dụng syslog theo dõi tất cả các thông tin trao đổi cùng với thời gian tương ứng, địa chỉ máy nguồn, máy đích, port sử dụng và tổng số lượng byte dữ liệu truyền đi cho các báo cáo dựa trên các session. Các cảnh báo thời gian thực gửi các thông điệp lỗi syslog đến các thiết bị quản lý trung tâm khi nhận dạng các thao tác có dấu hiệu nghi ngờ. Sử dụng các luật kiểm tra CBAC, bạn có thể cấu hình các cảnh báo và lưu các dấu vết kiểm tra trên cơ sở từng ứng dụng. Nếu bạn muốn tạo các thông tin cho việc lưu các dấu vết kiểm soát thông tin cho traffic HTTP, bạn có thể đặc tả các luật liên quan đến việc giám sát traffic HTTP.
CBAC thông thường sẵn sàng chỉ cho traffic của IP. Chỉ có các packet của TCP và UDP được giám sát. Bắt đầu từ phiên bản 12.2(15)T, CBAC hỗ trợ giám sát các loại thông điệp phổ biến nhất của giao thức ICMP. Bảng sau minh họa các loại ICMP hỗ trợ bởi CBAC.
Những traffic nào không thể lọc được bằng CBAC thì nên dùng extended IP ACL để lọc.
Chú ý:
CBAC không thể bảo vệ hệ thống từ những tấn công xuất phát nội bộ từ mạng bên trong. CBAC chỉ có thể nhận dạng và bảo vệ hệ thống từ những tấn công đi xuyên qua thiết bị Cisco IOS Firewall.
Bật cơ chế logging và kiểm tra các dấu vết nhằm cung cấp các thông tin ghi nhận việc truy nhập vào hệ thống thông qua firewall, bao gồm các việc thử truy nhập vào hệ thống không xác thực. Để cấu hình các chức năng này, dùng câu lệnh logging và ip inspect audit-trail trong mode configuration. Ví dụ:
Router1#configure terminal
Router1(config)#service timestamps log datetime
Router1(config)#logging 192.168.20.1
Router1(config)#logging facility 5
Router1(config)#ip inspect audit-trail
Comment