Lọc các gói ICMP – hướng Inbound
Một số thông điệp ICMP có thể được dùng để gây trở ngại cho hệ thống của bạn. Một số chương trình dùng các thông điệp này; một số khác được dùng trong các công cụ quản lý mạng.
Các gói ICMP echo có thể được dùng để khám phá các subnets và các máy trên hệ thống đang được bảo vệ và cũng có thể được dùng trong các tấn công từ chối dịch vụ. Các gói ICMP redirect có thể được dùng để điều chỉnh các bảng route ở các thiết bị đầu cuối. Những gói ICMP echo và các gói redirect nên được chặn ở hướng inbound vào router của bạn.
Access-list trong ví dụ trên chặn tất cả các gói ICMP echo và các gói redirect, access-list này cũng chặn các thông điệp mask-request. Tất cả các gói ICMP khác vẫn được cho phép đi vào hệ thống.
Chặn các thông điệp ICMP – hướng outbound
Một số các gói ICMP nên được sử dụng ở hướng outbound để đảm bảo hệ thống hoạt động ổn định:
Chặn các thông điệp UDP Traceroute:
Traceroute dùng một số loại thông điệp ICMP, traceroute hiển thị các địa chỉ IP của các router mà packet đi qua trên suốt đoạn đường đi đến đích. Các chủ thể tấn công có thể tận dụng các đáp ứng ICMP đến các gói UDP traceroute để dò tìm các subnets và các hosts trên mạng được bảo vệ. Do đó, nên chặn tất cả các gói UDP tracroute nằm trong phạm vi port từ: 33400 34400.
Một số cách hạn chế tấn công từ chối dịch vụ phân tán (DDoS):
Tổng quát, router không thể nào ngăn chặn tất cả các cuộc tấn công từ chối dịch vụ phân tán, nhưng vẫn có thể làm giảm bằng cách sử dụng access-list lọc các port được sử dụng trong tấn công.
Phần này khảo sát một số cách hạn chế các hiện tượcng tấn công từ chối dịch vụ phân tán sau:
Do những port này có thể được dùng trong một số ứng dụng nên bạn chỉ nên tiến hành ngăn chặn các port này khi phát hiện có nguy cơ bị tấn công trong mạng.
Các access-list được nêu tổng quát sẽ được áp dụng vào hướng inbound lẫn outbound trên router.
Hạn chế tấn công từ chối dịch vụ phân tán – Trin00
Ví dụ trên chặn các tấn công kiểu Trin00 bằng cách khóa những port sau:
Hạn chế tấn công từ chối dịch vụ – Stacheldraht
Ví dụ trên chặn các tấn công kiểu Stacheldraht bằng cách khóa những port sau:
Hạn chế tấn công từ chối dịch vụ – Trinity v3
Ví dụ trên chặn các tấn công kiểu Trinity v3 bằng cách khóa những port sau:
Hạn chế các tấn công từ chối dịch vụ phân tán – SubSeven
Ví dụ trên chặn các tấn công kiểu Trinity v3 bằng cách khóa những port sau:
Bảo mật các đặc tính quản lý và báo cáo – một số hướng dẫn tổng quan:
Một số hướng dẫn bảo mật cho kiểu quản lý out-of-band:
Một số hướng dẫn bảo mật cho kiểu quản lý in-band:
Bảo mật các đặc tính quản lý và báo cáo – Ghi nhận vào báo cáo:
Việc log và đọc lại các thông tin từ nhiều thiết bị có thể gặp nhiều thách thức. Một số vấn đề sau cần phải xem xét:
Bảo mật các đặc tính quản lý và báo cáo – Cấu hình SSH server:
Bạn nên dùng SSH thay cho Telnet. SSH version 1 được hỗ trợ trong các phiên bản IOS từ 12.1(1)T trở đi, SSH version 2 được hỗ trợ trong những phiên bản Cisco IOS từ 12.3(4)T. Cisco router cấu hình SSH đóng vai trò như SSH server. Bạn cần cung cấp các chương trình SSH client như OpenSSH, PuTTY cho những máy quản lý cần cấu hình và quản lý router sử dụng SSH.
SSH sử dụng mã hoá dữ liệu để bảo vệ các traffic giữa SSH-client và SSH-server. Với Telnet thì bất kỳ ai với công cụ bắt gói có thể thấy chính xác những gì gửi nhận đến router của bạn, nhưng SSH thì không thể vì SSH mã hoá toàn bộ session làm việc.
Chuẩn bị các bước sau trước khi cấu hình cho router của bạn trở thành SSH server:
Bước 1: Cấu hình tên IP domain sử dụng ip domain-name
router (config)#ip domain-name cisco.com
Bước 2: Tạo ra khóa RSA (Rivest, Shamir, Adleman) dùng câu lệnh
router (config)#crypto key generate rsa general-keys modulus 1024
Bước 3: Cấu hình thời gian router đợi SSH client đáp ứng dùng câu lệnh
router (config)#ip ssh time-out 120
Bước 4: Cấu hình số lần SSH cho phép thử lại dùng câu lệnh
router (config)#ip ssh authentication-retries 4
Bước 5: Tắt các phiên Telnet vào trong router dùng câu lệnh
router (config)#line vty 0 4
router (config-line)#no transport input telnet
Bước 6: Cho phép các phiên SSH vào router dùng câu lệnh
router (config-line)#transport input ssh
router (config-line)#end
router#
Giao thức SSH tự động bật lên khi bạn tạo khóa SSH. Khi khóa được tạo ra, bạn có thể truy nhập SSH server trên router sử dụng chương trình SSH client.
Tổng quan, SSH client chuyển username đến SSH server trên router. SSH server trên router sẽ yêu cầu bạn nhập password. Khi password được kiểm tra, bạn có thể cấu hình và quản lý router giống như một người truy nhập vào line VTY bình thường.
Bảo mật các truy nhập SNMP
Các hệ thống SNMP có thể truy nhập bằng quyền quản trị vào các router Cisco bằng cách liên lạc với các tác nhân hoạt động SNMP trong router và cơ sở thông tin quản lý (MIB – Management Information Base)
Một tác nhân SNMP trên router chịu trách nhiệm đọc và định dạng tất cả các thông điệp SNMP giữa router và một hệ quản lý mạng SNMP (NMS). Một SNMP MIB là một danh sách các đối tượng dạng cây bên trong router chỉ đến các tác nhân SNMP cho các tham số cấu hình và trạng thái. Sau khi tác nhân SNMP trên router được cấu hình, các hệ SNMP có thể thực hiện một vài tác vụ sau:
Các hệ thống sử dụng chuỗi community string như là một dạng mật khẩu để truy xuất vào các tác nhân SNMP. Các tác nhân SNMP chấp nhận các câu lệnh và yêu cầu chỉ từ các hệ thống SNMP dùng đúng community string. Mặc định, hầu hết các hệ thống SNMP sử dụng chuỗi community string là “public”, và mmunity string cho mình thay thế cho chuỗi mặc định này.
Xem xét các câu hỏi sau khi phát triển các truy nhập SNMP cho thiết bị Cisco:
Để cấu hình community string trên thiết bị Cisco router, sử dụng câu lệnh sau:
router (config)#snmp-server community string [ro | rw] [number]
SNMP traps và Inform là những sự kiện từ router được tự động gửi cho một hay nhiều hệ thống SNMP bằng một tác nhân SNMP trên router. Traps được gửi cho các hệ thống SNMP bất chấp các host có đang sống trên mạng hay không. Inform luôn yêu cầu một xác nhận (ACK) từ hệ thống SNMP để kiểm tra rằng thông điệp đã được nhận. Bởi vì Traps và Informs có thể chứa các thông tin rất quan trọng, bạn nên xác định chính xác bạn muốn gửi Traps và Informs đến đâu.
Danh sách sau liệt kê các loại Traps được gửi mặc định bởi Cisco, các loại khác phải được đặc tả:
Có 2 cách để đặc tả loại Traps và Informs được sinh ra bởi router:
VnPro
Một số thông điệp ICMP có thể được dùng để gây trở ngại cho hệ thống của bạn. Một số chương trình dùng các thông điệp này; một số khác được dùng trong các công cụ quản lý mạng.
Các gói ICMP echo có thể được dùng để khám phá các subnets và các máy trên hệ thống đang được bảo vệ và cũng có thể được dùng trong các tấn công từ chối dịch vụ. Các gói ICMP redirect có thể được dùng để điều chỉnh các bảng route ở các thiết bị đầu cuối. Những gói ICMP echo và các gói redirect nên được chặn ở hướng inbound vào router của bạn.
Access-list trong ví dụ trên chặn tất cả các gói ICMP echo và các gói redirect, access-list này cũng chặn các thông điệp mask-request. Tất cả các gói ICMP khác vẫn được cho phép đi vào hệ thống.
Chặn các thông điệp ICMP – hướng outbound
Một số các gói ICMP nên được sử dụng ở hướng outbound để đảm bảo hệ thống hoạt động ổn định:
- echo : cho phép người sử dụng có thể ping ra ngoài
- Parameter problem : thông báo cho host về các vấn đề về header của packet.
- Packet-too-big : yêu cầu xác định thông số MTU của packet
- Source-quench : hạn chế các traffic này khi cần thiết.
Chặn các thông điệp UDP Traceroute:
Traceroute dùng một số loại thông điệp ICMP, traceroute hiển thị các địa chỉ IP của các router mà packet đi qua trên suốt đoạn đường đi đến đích. Các chủ thể tấn công có thể tận dụng các đáp ứng ICMP đến các gói UDP traceroute để dò tìm các subnets và các hosts trên mạng được bảo vệ. Do đó, nên chặn tất cả các gói UDP tracroute nằm trong phạm vi port từ: 33400 34400.
Một số cách hạn chế tấn công từ chối dịch vụ phân tán (DDoS):
Tổng quát, router không thể nào ngăn chặn tất cả các cuộc tấn công từ chối dịch vụ phân tán, nhưng vẫn có thể làm giảm bằng cách sử dụng access-list lọc các port được sử dụng trong tấn công.
Phần này khảo sát một số cách hạn chế các hiện tượcng tấn công từ chối dịch vụ phân tán sau:
- Trin00
- Stacheldraht
- Trinity v3
- SubSeven
Do những port này có thể được dùng trong một số ứng dụng nên bạn chỉ nên tiến hành ngăn chặn các port này khi phát hiện có nguy cơ bị tấn công trong mạng.
Các access-list được nêu tổng quát sẽ được áp dụng vào hướng inbound lẫn outbound trên router.
Hạn chế tấn công từ chối dịch vụ phân tán – Trin00
Ví dụ trên chặn các tấn công kiểu Trin00 bằng cách khóa những port sau:
- TCP 27665
- UDP 31335
- UDP 27444
Hạn chế tấn công từ chối dịch vụ – Stacheldraht
Ví dụ trên chặn các tấn công kiểu Stacheldraht bằng cách khóa những port sau:
- TCP 16660
- TCP 65000
Hạn chế tấn công từ chối dịch vụ – Trinity v3
Ví dụ trên chặn các tấn công kiểu Trinity v3 bằng cách khóa những port sau:
- TCP 33270
- TCP 39168
Hạn chế các tấn công từ chối dịch vụ phân tán – SubSeven
Ví dụ trên chặn các tấn công kiểu Trinity v3 bằng cách khóa những port sau:
- TCP có phạm vi port từ 6711 đến 6712
- TCP 6776
- TCP 6669
- TCP 2222
- TCP 7000
Bảo mật các đặc tính quản lý và báo cáo – một số hướng dẫn tổng quan:
Một số hướng dẫn bảo mật cho kiểu quản lý out-of-band:
- Nên cung cấp mức độ bảo mật cao nhất nếu có thể; hạn chế một số rủi ro khi các thông tin quản lý mạng trao đổi thông qua mạng người dùng
- Đồng bộ thời gian cho toàn hệ thống
- Ghi nhận lại những thay đổi và các thông tin cấu hình.
Một số hướng dẫn bảo mật cho kiểu quản lý in-band:
- Quyết định thiết bị có nhu cầu quản lý hay không
- Sử dụng IPSec nếu có thể
- Sử dụng SSH hoặc SSl thay cho Telnet
- Quyết định các kênh quản lý có cần được mở tại mọi thời điểm
- Đồng bộ thời gian cho toàn hệ thống
- Ghi nhận lại những thay đổi và các thông tin cấu hình
Bảo mật các đặc tính quản lý và báo cáo – Ghi nhận vào báo cáo:
Việc log và đọc lại các thông tin từ nhiều thiết bị có thể gặp nhiều thách thức. Một số vấn đề sau cần phải xem xét:
- Nhận dạng thông tin log nào là quan trọng nhất
- Phân biệt các thông điệp có tính chất quan trọng với các thông báo thông thường
- Đảm bảo các thông tin log không bị xem/ chỉnh sửa trong quá trình truyền nhận
- Đảm bảo các thông tin về nhãn thời gian giống nhau khi nhiều thiết bị thông báo cùng loại alarm
- Nhận dạng thông tin nào là cần thiết nếu các dữ liệu log được yêu cầu cho các điều tra tội phạm
- Nhận dạng cách nào làm việc với số lượng log thu được khi hệ thống đang bị tấn công
Bảo mật các đặc tính quản lý và báo cáo – Cấu hình SSH server:
Bạn nên dùng SSH thay cho Telnet. SSH version 1 được hỗ trợ trong các phiên bản IOS từ 12.1(1)T trở đi, SSH version 2 được hỗ trợ trong những phiên bản Cisco IOS từ 12.3(4)T. Cisco router cấu hình SSH đóng vai trò như SSH server. Bạn cần cung cấp các chương trình SSH client như OpenSSH, PuTTY cho những máy quản lý cần cấu hình và quản lý router sử dụng SSH.
SSH sử dụng mã hoá dữ liệu để bảo vệ các traffic giữa SSH-client và SSH-server. Với Telnet thì bất kỳ ai với công cụ bắt gói có thể thấy chính xác những gì gửi nhận đến router của bạn, nhưng SSH thì không thể vì SSH mã hoá toàn bộ session làm việc.
Chuẩn bị các bước sau trước khi cấu hình cho router của bạn trở thành SSH server:
- Đảm bảo router sử dụng IOS lớn hơn 12.1(1)T và đặc tính IPSec. Chỉ có phiên bản IOS hỗ trợ IPSec hỗ trợ SSH server
- Router phải được cấu hình sử dụng xác thực AAA nội bộ nhằm xác thực username và password
- Đảm bảo các router đích có hostname duy nhất
- Đảm bảo các router sử dụng chính xác tên domain trong hệ thống mạng của bạn
Bước 1: Cấu hình tên IP domain sử dụng ip domain-name
router (config)#ip domain-name cisco.com
Bước 2: Tạo ra khóa RSA (Rivest, Shamir, Adleman) dùng câu lệnh
router (config)#crypto key generate rsa general-keys modulus 1024
Bước 3: Cấu hình thời gian router đợi SSH client đáp ứng dùng câu lệnh
router (config)#ip ssh time-out 120
Bước 4: Cấu hình số lần SSH cho phép thử lại dùng câu lệnh
router (config)#ip ssh authentication-retries 4
Bước 5: Tắt các phiên Telnet vào trong router dùng câu lệnh
router (config)#line vty 0 4
router (config-line)#no transport input telnet
Bước 6: Cho phép các phiên SSH vào router dùng câu lệnh
router (config-line)#transport input ssh
router (config-line)#end
router#
Giao thức SSH tự động bật lên khi bạn tạo khóa SSH. Khi khóa được tạo ra, bạn có thể truy nhập SSH server trên router sử dụng chương trình SSH client.
Tổng quan, SSH client chuyển username đến SSH server trên router. SSH server trên router sẽ yêu cầu bạn nhập password. Khi password được kiểm tra, bạn có thể cấu hình và quản lý router giống như một người truy nhập vào line VTY bình thường.
Bảo mật các truy nhập SNMP
Các hệ thống SNMP có thể truy nhập bằng quyền quản trị vào các router Cisco bằng cách liên lạc với các tác nhân hoạt động SNMP trong router và cơ sở thông tin quản lý (MIB – Management Information Base)
Một tác nhân SNMP trên router chịu trách nhiệm đọc và định dạng tất cả các thông điệp SNMP giữa router và một hệ quản lý mạng SNMP (NMS). Một SNMP MIB là một danh sách các đối tượng dạng cây bên trong router chỉ đến các tác nhân SNMP cho các tham số cấu hình và trạng thái. Sau khi tác nhân SNMP trên router được cấu hình, các hệ SNMP có thể thực hiện một vài tác vụ sau:
- Đọc các tham số cấu hình và các trạng thái tìm thấy trong cơ sở quản lý thông tin MIB của router SNMP (ở cơ chế chỉ đọc)
- Ghi một vài tham số cấu hình đến MIB trên các tác nhân SNMP của router (ở cơ chế đọc-ghi)
- Nhận các SNMP traps (các sự kiện từ router) từ các tác nhân SNMP trên router.
Các hệ thống sử dụng chuỗi community string như là một dạng mật khẩu để truy xuất vào các tác nhân SNMP. Các tác nhân SNMP chấp nhận các câu lệnh và yêu cầu chỉ từ các hệ thống SNMP dùng đúng community string. Mặc định, hầu hết các hệ thống SNMP sử dụng chuỗi community string là “public”, và mmunity string cho mình thay thế cho chuỗi mặc định này.
Xem xét các câu hỏi sau khi phát triển các truy nhập SNMP cho thiết bị Cisco:
- Những community string nào có quyền chỉ-đọc?
- Những community string nào có quyền đọc-ghi?
- Những hệ thống SNMP nào được cho phép truy nhập vào các tác nhân SNMP?
Để cấu hình community string trên thiết bị Cisco router, sử dụng câu lệnh sau:
router (config)#snmp-server community string [ro | rw] [number]
- string – chuỗi community string đóng vai trò như mật khẩu
- ro – (tùy chọn) đặc tả quyền chỉ đọc. Các thiết bị được cấp quyền lấy thông tin từ các đối tượng MIB
- rw – (tùy chọn) đặc tả quyền đọc-ghi. Các thiết bị được cấp quyền có khả năng lấy thông tin và bổ sung các đối tượng MIB
- number – (tùy chọn) số nguyên từ 1 đến 99 đặc tả access-list cho phép những địa chỉ IP nào được cho phép dùng community string để truy nhập vào router.
SNMP traps và Inform là những sự kiện từ router được tự động gửi cho một hay nhiều hệ thống SNMP bằng một tác nhân SNMP trên router. Traps được gửi cho các hệ thống SNMP bất chấp các host có đang sống trên mạng hay không. Inform luôn yêu cầu một xác nhận (ACK) từ hệ thống SNMP để kiểm tra rằng thông điệp đã được nhận. Bởi vì Traps và Informs có thể chứa các thông tin rất quan trọng, bạn nên xác định chính xác bạn muốn gửi Traps và Informs đến đâu.
Danh sách sau liệt kê các loại Traps được gửi mặc định bởi Cisco, các loại khác phải được đặc tả:
- Interface Traps – những traps này được gửi bất cứ khi nào cổng active hay inactive
- Reload Traps – những traps này được gửi khi router bị reload
- Configuration change Traps – những trap này được gửi khi có sự thay đổi trong cấu hình của router
Có 2 cách để đặc tả loại Traps và Informs được sinh ra bởi router:
- Bật tính năng global Traps và Inform – sử dụng câu lệnh snmp-server enable traps để cho phép tất cả SNMP traps và Inform được gửi bởi router
- Cho phép host – Sử dụng câu lệnh snmp-server host để đặc tả traps và inform nào được đồng thời đặc tả các SNMP host mà traps và Informs gửi đến
VnPro
Comment