CÁC LỆNH TẠO NHÓM ĐỐI TƯỢNG TRONG FIREWALL
6 - CÁC LỆNH TẠO NHÓM ĐỐI TƯỢNG TRONG FIREWALL
PHẦN I: ĐỊNH NGHĨA VỀ VỀ NHÓM ĐỐI TƯỢNG (Object Groups)
Lệnh tạo nhóm đối tượng (Object Groups) trong thiết bị Firewall Cisco là một tính năng cho phép bạn gom nhóm các đối tượng mạng, nhóm dịch vụ, nhóm giao thực mạng, hoặc người dùng lại với nhau dưới một tên duy nhất. Thay vì phải định nghĩa từng đối tượng riêng lẻ trong các câu lệnh cấu hình như Access Control Lists (ACLs), Network Address Translation (NAT), hoặc các chính sách khác, bạn có thể tham chiếu đến nhóm đối tượng đã tạo trước đó.
Hiểu một cách đơn giản: Hãy tưởng tượng bạn có một danh sách dài các địa chỉ IP của các máy chủ web. Thay vì phải liệt kê từng địa chỉ IP này trong một rule của firewall, bạn có thể tạo một "Object Group" tên là web_servers và thêm tất cả các địa chỉ IP đó vào nhóm này. Sau đó, trong rule firewall, bạn chỉ cần gọi đến object-group web_servers.
Các loại Object Groups phổ biến trong Firewall Cisco:
Network Object Groups: Nhóm các địa chỉ IP, dải địa chỉ IP hoặc subnet.
Service Object Groups: Nhóm các giao thức (TCP, UDP, ICMP,...) và các cổng (port) liên quan.
User Object Groups: Nhóm các người dùng hoặc nhóm người dùng (thường được sử dụng trong Identity Firewall).
ICMP Type Object Groups: Nhóm các loại tin nhắn ICMP (ví dụ: echo request, echo reply, unreachable).
Security Group Object Groups: Nhóm các Security Group Tags (SGT) được sử dụng trong Cisco TrustSec.
Lợi ích của việc sử dụng Object Groups:
Đơn giản hóa cấu hình: Giảm sự phức tạp và độ dài của các rule cấu hình.
Dễ quản lý: Khi có sự thay đổi về đối tượng (ví dụ: thêm một máy chủ web mới), bạn chỉ cần sửa đổi Object Group một lần thay vì phải cập nhật nhiều rule cấu hình.
Tính nhất quán: Đảm bảo rằng cùng một tập hợp các đối tượng được áp dụng nhất quán trên toàn bộ cấu hình firewall.
Dễ đọc và hiểu: Cấu hình trở nên trực quan và dễ hiểu hơn khi sử dụng các tên nhóm có ý nghĩa.
Tiết kiệm thời gian: Việc tạo và quản lý các rule trở nên nhanh chóng và hiệu quả hơn.

PHẦN II: CHI TIẾT VỀ NHÓM ĐỐI TƯỢNG
1. Nhóm đối tượng mạng (Network Object Groups):
Loại Object Group này dùng để chứa các địa chỉ IP hoặc mạng con.
Tạo một Network Object Group:
FdcFwCisco(config)# object network <tên_nhóm>
FdcFwCisco(config-network)# host <địa_chỉ_ip>
FdcFwCisco(config-network)# subnet <địa_chỉ_mạng> <mask>
c FdcFwCisco(config-network)# range <địa_chỉ_ip_bắt_đầu> <địa_chỉ_ip_kết_thúc>
FdcFwCisco(config-network)# description <mô_tả_tùy_chọn>
+ <tên_nhóm>: Tên bạn muốn đặt cho nhóm đối tượng mạng (ví dụ: INTERNAL_SERVERS, EXTERNAL_IPS). Tên này phân biệt chữ hoa chữ thường và không được chứa khoảng trắng.
+ host <địa_chỉ_ip>: Thêm một địa chỉ IP cụ thể vào nhóm.
+ subnet <địa_chỉ_mạng> <mask>: Thêm một mạng con vào nhóm. <mask> có thể là subnet mask (ví dụ: 255.255.255.0) hoặc prefix length (ví dụ: /24).
+ range <địa_chỉ_ip_bắt_đầu> <địa_chỉ_ip_kết_thúc>: Thêm một dải địa chỉ IP liên tục vào nhóm.
+ description <mô_tả_tùy_chọn>: Thêm một mô tả cho nhóm đối tượng để dễ dàng quản lý và theo dõi.
Ví dụ:
FdcFwCisco(config)# object network WEB_SERVERS
FdcFwCisco(config-network)# host 192.168.1.10
FdcFwCisco(config-network)# host 192.168.1.11
FdcFwCisco(config-network)# description "Các máy chủ web nội bộ"
FdcFwCisco(config)# object network MARKETING_DEPT
FdcFwCisco(config-network)# subnet 10.0.10.0 255.255.255.0
FdcFwCisco(config-network)# range 10.0.20.10 10.0.20.20
FdcFwCisco(config-network)# description "Dải IP cho phòng Marketing"
Hiển thị cấu hình Network Object Group:
FdcFwCisco# show object network <tên_nhóm>
FdcFwCisco# show running-config object network
Xóa một đối tượng khỏi Network Object Group:
FdcFwCisco(config)# no host <địa_chỉ_ip>
FdcFwCisco(config)# no subnet <địa_chỉ_mạng> <mask>
FdcFwCisco(config)# no range <địa_chỉ_ip_bắt_đầu> <địa_chỉ_ip_kết_thúc>
Các lệnh này phải được thực hiện trong chế độ cấu hình của object network tương ứng. Ví dụ:
FdcFwCisco# configure terminal
FdcFwCisco(config)# object network WEB_SERVERS
FdcFwCisco(config-network)# no host 192.168.1.11
FdcFwCisco(config-network)# exit
Xóa một Network Object Group:
FdcFwCisco(config)# no object network <tên_nhóm>
2. Nhóm đối tượng dịch vụ (Service Object Groups):
Loại Object Group này dùng để chứa các giao thức và cổng (ví dụ: TCP port 80, UDP port 53).
Tạo một Service Object Group:
FdcFwCisco(config)# object service <tên_nhóm>
FdcFwCisco(config-Service)# service tcp destination eq <cổng>
FdcFwCisco(config-Service)# service udp destination eq <cổng>
FdcFwCisco(config-Service)# service <tên_giao_thức> [source eq <cổng_nguồn>] [destination eq <cổng_đích>]
FdcFwCisco(config-Service)# description <mô_tả_tùy_chọn>
+ <tên_nhóm>: Tên bạn muốn đặt cho nhóm đối tượng dịch vụ (ví dụ: WEB_SERVICES, DNS_RELATED).
+ service tcp destination eq <cổng>: Thêm dịch vụ TCP với cổng đích cụ thể. eq là viết tắt của "equal". Bạn cũng có thể sử dụng range, gt (greater than), lt (less than), neq (not equal).
+ service udp destination eq <cổng>: Tương tự như trên nhưng cho giao thức UDP.
+ service <tên_giao_thức>: Thêm một giao thức cụ thể (ví dụ: icmp, ip). Đối với các giao thức TCP/UDP, bạn có thể chỉ định thêm cổng nguồn và đích.
+ description <mô_tả_tùy_chọn>: Thêm mô tả cho nhóm.
Ví dụ ứng dụng:
FdcFwCisco(config)# object service WEB_SERVICES
FdcFwCisco(config-Service)# service tcp destination eq 80
FdcFwCisco(config-Service)# service tcp destination eq 443
FdcFwCisco(config-Service)# description "Các dịch vụ web chuẩn"
FdcFwCisco(config)# object service DNS_RELATED
FdcFwCisco(config-Service)# service udp destination eq 53
FdcFwCisco(config-Service)# service tcp destination eq 53
FdcFwCisco(config-Service)# description "Dịch vụ liên quan đến DNS"
Hiển thị cấu hình Service Object Group:
FdcFwCisco# show object service <tên_nhóm>
FdcFwCisco# show running-config object service
Xóa một dịch vụ khỏi Service Object Group:
FdcFwCisco(config)# no service tcp destination eq <cổng>
FdcFwCisco(config)# no service udp destination eq <cổng>
FdcFwCisco(config)# no service <tên_giao_thức> [source eq <cổng_nguồn>] [destination eq <cổng_đích>]
Tương tự như Network Object Group, các lệnh này phải được thực hiện trong chế độ cấu hình của object service tương ứng.
Xóa một Service Object Group:
FdcFwCisco(config)# no object service <tên_nhóm>
3. Nhóm đối tượng người dùng (User Object Groups) :
Loại Object Group này dùng để chứa danh sách người dùng hoặc nhóm người dùng được xác thực. Cấu hình chi tiết có thể khác nhau tùy thuộc vào nền tảng và phương thức xác thực được sử dụng.
Ví dụ (trên ASA khi tích hợp với AAA server):
FdcFwCisco(config)# object user-group <tên_nhóm>
FdcFwCisco(config-user)# member <tên_người_dùng_hoặc_nhóm_AAA>
FdcFwCisco(config-user)# description <mô_tả_tùy_chọn>
+ <tên_nhóm>: Tên bạn muốn đặt cho nhóm đối tượng người dùng.
+ member <tên_người_dùng_hoặc_nhóm_AAA>: Tên người dùng hoặc nhóm người dùng được định nghĩa trên AAA server (ví dụ: RADIUS, LDAP).
+ description <mô_tả_tùy_chọn>: Mô tả cho nhóm.
Hiển thị cấu hình User Object Group:
FdcFwCisco# show object user-group <tên_nhóm>
FdcFwCisco# show running-config object user-group
Xóa một thành viên khỏi User Object Group:
FdcFwCisco(config)# no member <tên_người_dùng_hoặc_nhóm_AAA>
Xóa một User Object Group:
FdcFwCisco(config)# no object user-group <tên_nhóm>
4. Nhóm đối tượng giao thức (Protocol Object Groups):
Loại Object Group này dùng để chứa các giao thức IP (ví dụ: TCP, UDP, ICMP).
Tạo một Protocol Object Group:
FdcFwCisco(config)# object protocol <tên_nhóm>
FdcFwCisco(config-protocol)# protocol <tên_giao_thức>
FdcFwCisco(config-protocol)# description <mô_tả_tùy_chọn>
+ <tên_nhóm>: Tên bạn muốn đặt cho nhóm đối tượng giao thức.
+ protocol <tên_giao_thức>: Tên giao thức IP (ví dụ: tcp, udp, icmp, ip).
+ description <mô_tả_tùy_chọn>: Mô tả cho nhóm.
Ví dụ ứng dụng:
FdcFwCisco(config)# object protocol INTERNET_PROTOCOLS
FdcFwCisco(config-protocol)# protocol tcp
FdcFwCisco(config-protocol)# protocol udp
FdcFwCisco(config-protocol)# protocol icmp
FdcFwCisco(config-protocol)# description "Các giao thức Internet phổ biến"
Hiển thị cấu hình Protocol Object Group:
FdcFwCisco# show object protocol <tên_nhóm>
FdcFwCisco# show running-config object protocol
Xóa một giao thức khỏi Protocol Object Group:
FdcFwCisco(config)# no protocol <tên_giao_thức>
Xóa một Protocol Object Group:
FdcFwCisco(config)# no object protocol <tên_nhóm>
PHẦN III: ỨNG DỤNG CỦA (Object Groups)
Ứng dụng của nhóm đối tượng (Object Groups) và áp dụng vào Access Control Lists (ACLs)

Bước 1: Tạo tượng (Object Groups)
Tạo Network Object Group:
FdcFwCisco(config)# object-group network web_servers
FdcFwCisco(config-network)# network-object host 192.168.1.10
FdcFwCisco(config-network)# network-object 192.168.1.20 255.255.255.0
FdcFwCisco(config-network)# network-object range 192.168.1.30 192.168.1.35
Trong ví dụ này, chúng ta tạo một Network Object Group tên là web_servers bao gồm một host, một subnet và một dải địa chỉ IP.
Tạo Service Object Group:
FdcFwCisco(config)# object-group service web_services tcp
FdcFwCisco(config-Service)# port-object eq www
FdcFwCisco(config-Service)# port-object eq 443
FdcFwCisco(config)#object-group service dns_services udp
FdcFwCisco(config-Service)# port-object eq domain
Chúng ta tạo hai Service Object Group: web_services cho các cổng HTTP và HTTPS (TCP), và dns_services cho cổng DNS (UDP).
Bước 2: Áp dụng vào Access Control Lists (ACLs)
Sau khi tạo Object Groups, bạn có thể tham chiếu chúng trong các cấu hình khác, chẳng hạn như Access Control Lists (ACLs), Network Address Translation (NAT), và các chính sách khác.
Ví dụ sử dụng Network Object Group trong ACL:
FdcFwCisco(config)# access-list OUTSIDE_IN extended permit tcp any object network WEB_SERVERS eq 80
FdcFwCisco(config)# access-list OUTSIDE_IN extended permit tcp any object network WEB_SERVERS eq 443
FdcFwCisco(config)# access-list OUTSIDE_IN extended permit ip object network MARKETING_DEPT any
Thay vì liệt kê từng địa chỉ IP hoặc mạng con, bạn chỉ cần gọi tên Network Object Group (WEB_SERVERS, MARKETING_DEPT).
Ví dụ sử dụng Service Object Group trong ACL:
FdcFwCisco(config)# access-list INSIDE_OUT extended permit object service WEB_SERVICES object network INTERNAL_SERVERS any
FdcFwCisco(config)# access-list INSIDE_OUT extended permit object service DNS_RELATED object network ANY any
Tương tự, bạn gọi tên Service Object Group (WEB_SERVICES, DNS_RELATED).
Lợi ích của việc sử dụng Object Groups:
Đơn giản hóa cấu hình: Giảm thiểu việc lặp lại các định nghĩa đối tượng.
Dễ quản lý: Khi có sự thay đổi về địa chỉ IP, dịch vụ, bạn chỉ cần cập nhật Object Group thay vì tìm và sửa đổi nhiều rule khác nhau.
Tính nhất quán: Đảm bảo rằng các đối tượng được định nghĩa và sử dụng một cách nhất quán trong toàn bộ cấu hình.
Dễ đọc và hiểu: Cấu hình trở nên rõ ràng và dễ hiểu hơn khi sử dụng các tên có ý nghĩa cho Object Groups.