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.
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 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ụ:
Cách hoạt động của cơ chế CBAC:
Một luật kiểm soát được tạo ra nhằm đặc tả giao thức nào bạn muốn giám sát. Khi đó, bạn có thể dùng luật này cho những giao tiếp cổng trên router và đặc tả hướng cho traffic cần được xem xét (in hoặc out). Chỉ những giao thức được đặc tả mới được xem xét bởi CBAC. Nếu packet bị từ chối bởi một ACL, packet này sẽ bị loại bỏ trước khi bị CBAC giám sát.
CBAC tạo ra những trạng thái mở tạm thời trong ACL ở các cổng trên router có sử dụng Cisco IOS firewall. Những trạng thái mở này được tạo ra khi những traffic đi ra từ hệ thống bên trong hệ thống mạng của bạn thông qua Cisco IOS firewall. Những trạng thái mở này vẫn cho phép traffic trên đường về mà bình thường sẽ bị chận. Điều này chỉ xảy ra nếu các traffic đi về là một phần của các session dữ liệu có nguồn gốc xuất phát từ bên trong hệ thống mạng và kích hoạt CBAC khi đi ra khỏi 1 giao tiếp cổng nào đó.
Trong ví dụ trên, ACL ở hướng inbound tại cổng Fa0/1 được cấu hình chặn các traffic telnet, và không sử dụng outbound ACL tại cấu hình trên cổng Fa0/0. Khi yêu cầu kết nối Telnet từ Client đi qua Cisco IOS Firewall, CBAC tạo ra những trạng thái mở tạm thời cho inbound ACL tại cổng Fa0/1 nhằm cho phép traffic Telnet trở về cho Client.
CBAC giám sát và xem xét chỉ những kênh điều khiển trong các kết nối (không phải kênh dữ liệu). Ví dụ trong các session FTP bao gồm cả kênh điều khiển và kênh dữ liệu, tuy nhiên chỉ có kênh điều khiển bị xem xét.
CBAC giám sát những câu lệnh đặc trưng cho ứng dụng trong kênh điều khiển, nhận dạng và ngăn chặn những tấn công nhất định trong tầng ứng dụng.
Bất cứ khi nào một packet bị xem xét , một bảng trạng thái được cập nhật chứa thông tin về trạng thái của kết nối của packet. Traffic được cho phép đi trở về thông qua Cisco IOS Firewall là những packet được cấp quyền trong bảng trạng thái.
Ví dụ sau minh họa cho quá trình xem xét session passive FTP"
1. FTP client gửi ra ngoài một gói đồng bộ TCP (SYN) trên kênh điều khiển:
Client ----SYN----- --> Server
2. Firewall làm cho hợp lệ trong quy luật của mình nhằm cho phép kết nối và tạo ra trạng thái mở trong ACL:
Client <-- ----SYN ACK ----Server
3. Quá trình bắt tay thiết lập TCP thành công:
Client ----- ACK ----- --> Server
4. Khi câu lệnh ls được sử dụng, FTP client gửi câu lệnh PASV và LIST đến server
Client ----- PASV ----- --> Server
Server <-- ------ Address/port info ----- Server
Khi thấy bộ address / port trong reply cho câu lệnh PASV, firewall tạo ra trước một session và một trạng thái mở trong ACL của mình. Trạng thái mở này chỉ từ client đến server bởi vì client sẽ cố gắng kết nối đến server để tạo ra kênh dữ liệu như đặc tả trong Passive FTP.
5. FTP client gửi thông điệp SYN cho kết nối dữ liệu này:
Client ----- SYN DAT ----- --> server
6. Khi nhìn thấy gói đồng bộ SYN, firewall tạo ra những trạng thái mở cho phép thông điệp SYN ACK đáp ứng từ server:
Client --> -----SYN ACK ------ Server
Tạo ra những trạng thái mở có thể mất từ 5 đến 10 giây. Ít nhất 3 gói được trao đổi lẫn nhau giữa client và server khi người sử dụng dùng câu lệnh ls:
- PASV
- Đáp ứng đến PASV với thông tin địa chỉ /port
- Thông điệp SYN với địa chỉ/port mới.
Các session UDP
Không giống với các sesion TCP, các session UDP không thiết lập kết nối trước khi truyền dữ liệu. Đặc tính này của các session UDP làm cho việc nhận dạng các packet cùng session trở nên khó hơn. Trong những trường hợp này, CBAC sử dụng các địa chỉ IP nguồn và đích và port ứng dụng và packet có được nhận dạng hay không ngay khi một packet UDP tương tự để xác định packet có cùng một session cụ thể nào không. "Ngay khi" có nghĩa là trong khoảng thời gian UDP idle được cấu hình trước.
Các dòng trong ACL
Cisco IOS phiên bản 12.3(4)T trở đi cung cấp một tính năng mới gọi là bỏ qua việc kiểm tra đối với ACL (ACL bypassing). Trước khi có tính năng này, một packet có thể bị kiểm tra qua 3 ACL: một dành cho input ACL, một dành cho output ACL, và một cho session kiểm soát. Khi tính năng bỏ qua việc kiểm tra đối với ACL được sử dụng, nó bỏ qua nhu cầu cần thiết cho các ACL input và output động. Bởi vì mỗi lần CBAC tạo ra một ACL động cho một session nào đó, điều này có nghĩa rằng những packet co trùng đúng với ACL thuộc về một phần của các session có sẵn, do đó được cho phép. Tính năng bỏ qua việc kiểm tra đối với ACL mặc định được thực hiện.
Các ACL động được tạo ra tạm thời không được lưu vào nvram.
Xử lý các session không hoàn tất (half-open)
Một session không hoàn tất là session được mở chỉ theo một hướng. Đối với traffic TCP, điều này có nghĩa là session không hoàn tất quá trình bắt tay 3 bước. Đối với traffic UDP, điều này có nghĩa là traffic trả về không nhận dạng.
CBAC có thể đánh giá tỷ lệ và số lượng những session không hoàn tất vài lần một phút. Nếu các giá trị thu thập được lớn hơn ngưỡng giá trị cho phép, firewall sẽ tự động xoá các session này, Quá trình xóa này có thể tiếp tục cho đến khi giá trị này trở lại giá trị thấp hơn giá trị ngưỡng được đặt ra.
Bạn có thể cài đặt giá trị ngưỡng cho số lượng và tỷ lệ các session không hoàn tất bằng cách dùng các câu lệnh max-incomplete high, max-incomplete low, one-minute high, và one-minute low.
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.
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 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ụ:
Code:
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
Một luật kiểm soát được tạo ra nhằm đặc tả giao thức nào bạn muốn giám sát. Khi đó, bạn có thể dùng luật này cho những giao tiếp cổng trên router và đặc tả hướng cho traffic cần được xem xét (in hoặc out). Chỉ những giao thức được đặc tả mới được xem xét bởi CBAC. Nếu packet bị từ chối bởi một ACL, packet này sẽ bị loại bỏ trước khi bị CBAC giám sát.
CBAC tạo ra những trạng thái mở tạm thời trong ACL ở các cổng trên router có sử dụng Cisco IOS firewall. Những trạng thái mở này được tạo ra khi những traffic đi ra từ hệ thống bên trong hệ thống mạng của bạn thông qua Cisco IOS firewall. Những trạng thái mở này vẫn cho phép traffic trên đường về mà bình thường sẽ bị chận. Điều này chỉ xảy ra nếu các traffic đi về là một phần của các session dữ liệu có nguồn gốc xuất phát từ bên trong hệ thống mạng và kích hoạt CBAC khi đi ra khỏi 1 giao tiếp cổng nào đó.
Trong ví dụ trên, ACL ở hướng inbound tại cổng Fa0/1 được cấu hình chặn các traffic telnet, và không sử dụng outbound ACL tại cấu hình trên cổng Fa0/0. Khi yêu cầu kết nối Telnet từ Client đi qua Cisco IOS Firewall, CBAC tạo ra những trạng thái mở tạm thời cho inbound ACL tại cổng Fa0/1 nhằm cho phép traffic Telnet trở về cho Client.
CBAC giám sát và xem xét chỉ những kênh điều khiển trong các kết nối (không phải kênh dữ liệu). Ví dụ trong các session FTP bao gồm cả kênh điều khiển và kênh dữ liệu, tuy nhiên chỉ có kênh điều khiển bị xem xét.
CBAC giám sát những câu lệnh đặc trưng cho ứng dụng trong kênh điều khiển, nhận dạng và ngăn chặn những tấn công nhất định trong tầng ứng dụng.
Bất cứ khi nào một packet bị xem xét , một bảng trạng thái được cập nhật chứa thông tin về trạng thái của kết nối của packet. Traffic được cho phép đi trở về thông qua Cisco IOS Firewall là những packet được cấp quyền trong bảng trạng thái.
Ví dụ sau minh họa cho quá trình xem xét session passive FTP"
1. FTP client gửi ra ngoài một gói đồng bộ TCP (SYN) trên kênh điều khiển:
Client ----SYN----- --> Server
2. Firewall làm cho hợp lệ trong quy luật của mình nhằm cho phép kết nối và tạo ra trạng thái mở trong ACL:
Client <-- ----SYN ACK ----Server
3. Quá trình bắt tay thiết lập TCP thành công:
Client ----- ACK ----- --> Server
4. Khi câu lệnh ls được sử dụng, FTP client gửi câu lệnh PASV và LIST đến server
Client ----- PASV ----- --> Server
Server <-- ------ Address/port info ----- Server
Khi thấy bộ address / port trong reply cho câu lệnh PASV, firewall tạo ra trước một session và một trạng thái mở trong ACL của mình. Trạng thái mở này chỉ từ client đến server bởi vì client sẽ cố gắng kết nối đến server để tạo ra kênh dữ liệu như đặc tả trong Passive FTP.
5. FTP client gửi thông điệp SYN cho kết nối dữ liệu này:
Client ----- SYN DAT ----- --> server
6. Khi nhìn thấy gói đồng bộ SYN, firewall tạo ra những trạng thái mở cho phép thông điệp SYN ACK đáp ứng từ server:
Client --> -----SYN ACK ------ Server
Tạo ra những trạng thái mở có thể mất từ 5 đến 10 giây. Ít nhất 3 gói được trao đổi lẫn nhau giữa client và server khi người sử dụng dùng câu lệnh ls:
- PASV
- Đáp ứng đến PASV với thông tin địa chỉ /port
- Thông điệp SYN với địa chỉ/port mới.
Các session UDP
Không giống với các sesion TCP, các session UDP không thiết lập kết nối trước khi truyền dữ liệu. Đặc tính này của các session UDP làm cho việc nhận dạng các packet cùng session trở nên khó hơn. Trong những trường hợp này, CBAC sử dụng các địa chỉ IP nguồn và đích và port ứng dụng và packet có được nhận dạng hay không ngay khi một packet UDP tương tự để xác định packet có cùng một session cụ thể nào không. "Ngay khi" có nghĩa là trong khoảng thời gian UDP idle được cấu hình trước.
Các dòng trong ACL
Cisco IOS phiên bản 12.3(4)T trở đi cung cấp một tính năng mới gọi là bỏ qua việc kiểm tra đối với ACL (ACL bypassing). Trước khi có tính năng này, một packet có thể bị kiểm tra qua 3 ACL: một dành cho input ACL, một dành cho output ACL, và một cho session kiểm soát. Khi tính năng bỏ qua việc kiểm tra đối với ACL được sử dụng, nó bỏ qua nhu cầu cần thiết cho các ACL input và output động. Bởi vì mỗi lần CBAC tạo ra một ACL động cho một session nào đó, điều này có nghĩa rằng những packet co trùng đúng với ACL thuộc về một phần của các session có sẵn, do đó được cho phép. Tính năng bỏ qua việc kiểm tra đối với ACL mặc định được thực hiện.
Các ACL động được tạo ra tạm thời không được lưu vào nvram.
Xử lý các session không hoàn tất (half-open)
Một session không hoàn tất là session được mở chỉ theo một hướng. Đối với traffic TCP, điều này có nghĩa là session không hoàn tất quá trình bắt tay 3 bước. Đối với traffic UDP, điều này có nghĩa là traffic trả về không nhận dạng.
CBAC có thể đánh giá tỷ lệ và số lượng những session không hoàn tất vài lần một phút. Nếu các giá trị thu thập được lớn hơn ngưỡng giá trị cho phép, firewall sẽ tự động xoá các session này, Quá trình xóa này có thể tiếp tục cho đến khi giá trị này trở lại giá trị thấp hơn giá trị ngưỡng được đặt ra.
Bạn có thể cài đặt giá trị ngưỡng cho số lượng và tỷ lệ các session không hoàn tất bằng cách dùng các câu lệnh max-incomplete high, max-incomplete low, one-minute high, và one-minute low.