Giảm nguy cơ bị tấn công DoS cho Windows 2000 Server

Tháng trước, Microsoft đưa ra một bài báo hướng dẫn 5 sửa đổi trong registry của Windows 2000 cho phép giảm khả năng bị tấn công từ chối dịch vụ (Denial of Service). Những chỉ dẫn này được áp dụng cho các hệ thống Win2k kết với mạng diện rộng (WAN) hoặc Internet hoặc những site yêu cầu an toàn thông tin đặc biệt.

Khi thay đổi các tham số này nhà quản trị site nên thận trọng, nên thay đổi các tham số này trên các hệ thống thử nghiệm trước để chắc chắn chúng hoạt động bình thường trước khi thay đổi trên hệ thống thực. Các tham số sai sẽ gây ảnh hưởng đến tất các các dịch vụ và ứng dụng của Win2K. Các tham số này đều nằm trong khoá: HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services.

Chống lại tấn công bằng cách làm lụt các gói SYN (SYN flooding actack)

Để hiểu về cách tấn công này, bạn phải hiểu tiến trình tạo một kết nối TCP/IP giữa hai hệ thống và cách mà các tin tặc lợi dụng để tạo nên một cuộc tấn công SYN flooding. Khi một hệ thống - gọi là hệ thống A - muốn tạo một kết nối tới hệ thống thứ hai - gọi là hệ thống B, hệ thống A sẽ gửi một gói tin SYN (cờ SYN trong phần header của gói tin TCP được bật) tới hệ thống B, hệ thống B nếu chấp nhận kết nối này thì nó sẽ gửi trả một gói SYN-ACK báo cho hệ thống A là nó chấp nhận kết nối, đến lúc này quá trình bắt tay đã hoàn tất một nửa (half open). Hệ thống A sau khi nhận được SYN-ACK thì trả lời bằng một gói ACK và kết nối đã được thiết lập. Tin tặc tấn công hệ thống B bằng cách gửi rất nhiều các gói SYN từ một địa chỉ IP thật hoặc địa chỉ IP giả yêu cầu thiết lập kết nối với hệ thống B nhưng không gửi gói ACK để hoàn tất kết nối, hệ thống B nếu không nhận được ACK của gói SYN-ACK thì sau một khoảng thời gian nhất định nó sẽ gửi lại gói SYN-ACK, tổng cộng có 5 lần gửi, khoảng thời gian chờ gói ACK từ hệ thống A trước khi gửi lại SYN-ACK được hệ thống B tăng lên, hành động này giúp cho các hệ thống có thể truyền tin qua một mạng chậm. Sau 5 lần gửi SYN-ACK, hệ thống B sẽ huỷ bỏ kết nối dang dở đó. Khoảng thời gian cần thiết để huỷ bỏ một kết nối như thế mất khoảng 3-4 phút, sau khi kết nối được huỷ bỏ, TCP chờ giải phóng cổng sẵn sàng cho kết nối mới mất thêm 3-5 phút nữa, tổng cộng hệ thống B mất 8 hoặc 9 phút cho một kết nối dang dở như thế. Do vậy nếu tin tặc gửi hàng loạt gói tin SYN mà không có gói tin ACK để hoàn thành kết nối, hệ thống B sẽ dễ dàng bị quá tải và không thể tiếp nhận được các kết nối TCP khác.

Windows 2000 kiểm soát nguy cơ bị tấn công SYN flooding bằng cách kiểm tra ba bộ đếm số cổng của TCP/IP, bao gồm số cổng đang kết nối dở dang (half open ports), số cổng đã hết thời gian chờ, số cổng đang thử gửi SYN-ACK. Khi ba giá trị này đến một ngưỡng nhất định, Win2k cho rằng nó bị tấn công DoS theo kiểu SYN flooding, và nó giảm thời gian chờ và số lần cố gắng gửi gói SYN-ACK nhằm mục đích giảm tải cho hệ thống. Cách xử sự của Win2k đối với tấn công SYN flooding tuỳ thuộc vào một giá trị có tên là SynAttackProtect:REG_DWORD, nằm trong khoá Tcpip\Parameters. Các giá trị mà SynAttackProtect nhận được là 0, 1, 2. Giá trị 0 (mặc định) chỉ định rằng TCP sẽ hoạt động bình thường. Giá trị 1 tăng mức độ bảo vệ cao hơn (giảm số lần cố gắng gửi lại gói SYN-ACK). Giá trị 2 là mức độ bảo vệ cao nhất, kết nối TCP sẽ kết thúc rất nhanh vì thời gian chờ cũng sẽ bị giảm đi. Lưu ý rằng với giá trị là 2 thì tuỳ chọn scalable windows và các tham số của TCP trên mỗi adapter (Initial RTT, window size) sẽ bị bỏ qua.

Chống lại sự chuyển hướng tới các gateway chết (Dead Gateway Redirect)

Khi thiết lập cấu hình cho card giao tiếp mạng (network adapter) bằng tay, bạn phải nhập địa chỉ TCP/IP, mặt nạ subnet, và gateway mặc định. TCP/IP sẽ gửi tất cả các gói có đích đến không cùng mạng con tới gateway này. Gateway có trách nhiệm dẫn đường các gói tin tới địa chỉ đích. Khi TCP/IP gửi gói tin đến gateway, gateway sẽ trả lời rằng nó đã tiếp nhận gói tin này. Nếu như gateway không hoạt động, nó sẽ không trả lời. Nếu TCP/IP không nhận được thông báo đã nhận từ 25% gói tin nó đã gửi, nó sẽ cho rằng gateway đã chết.

Để tránh trường hợp này, thường người ta thiết lập nhiều gateway, khi TCP/IP xác định rằng một gateway đã chết, nó sẽ chuyển sang sử dụng gateway tiếp theo trong danh sách. Cách cư xử của Win2k với gateway chết được quy định bởi một tham số là EnableDeadGWDetect:REG_DWORD nằm trong khoá Tcpip\Parameters với các giá trị là 0 (cấm) và 1 (cho phép). Microsoft khuyến cáo nên cấm Win2k nhận biết gateway chết, vì nó sẽ ngăn không cho TCP/IP gửi một gói tin đến một gateway không mong muốn khác mà tin tặc có thể lợi dụng để chặn các gói tin gửi ra ngoài mạng từ máy của bạn.

Để biết thêm chi tiết về các tham số khác, xin hãy tham khảo thêm tài liệu trên site của Microsoft: q315669

Thứ Ba, 20/04/2004 11:00
31 👨 245
0 Bình luận
Sắp xếp theo