1. Trang chủ >
  2. Công nghệ thông tin >
  3. Quản trị mạng >

Mô hình triển khai thực tế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.46 MB, 100 trang )


Hình 14: Mô hình mạng triển khai thực tế

Trong đó , Máy chủ web có :

- Sử dụng hệ điều hành Centos 5.2 .

- Cài đặt apache, php, mysql là máy chủ web.

Đây là một môi trường mạng rất phổ biến tại Viêt Nam vì những lý do

sau:

- Dễ dàng triển khai (vì mô hình mạng đơn giản)

- Giá thành rẻ (Centos, apache, php, mysql đều không mất phí).

- Dễ dàng vận hành, quản lý (do mô hình mạng đơn giản).



68



Mô hình mạng triển khai hệ thống phòng chống :



Hình 15: Mô hình mạng sau khi triển khai hệ thống phòng chống

Việc đặt chung hệ thống phòng chống DDoS cùng với máy chủ web có nhược

điểm là máy chủ web sẽ phải tiêu tốn tài nguyên hơn để phục vụ cho hệ thống phòng

chống tuy nhiên do chỉ sử dụng một máy chủ nên giải pháp này sẽ tiết kiệm hơn và phù

hợp hơn với các doanh nghiệp ở Việt Nam.



2. Giải pháp

Qua chương 1 và chương 2, ta có thể rút ra kết luận rằng để có thể phòng và chống

được DDoS cho Máy chủ web thì một mình cá nhân là không đủ, tuy nhiên em có

thể đề xuất một giải pháp tình thế để phòng và chống được những vụ DDoS Web

Server với quy mô nhỏ hoặc kéo dài thời gian “sống sót” của Máy chủ web để ta có

thời gian phối hợp được với các bên liên quan.

Trước khi đi vào phần giải pháp, ta hãy cùng xem biểu đồ luồng dữ liệu đi vào

Web Server



69



Hình 16: Luồng dữ liệu đi đến Web Server

Có thể hình dung luồng dữ liệu đi như sau:

-



Bước đầu tiên máy tính của người dùng sẽ tạo kết nối TCP với Máy

chủ web



-



Thông qua kết nối đó, request đến apache được gửi đến Máy chủ web



-



Request được netfilter so sánh với các rule do Iptables nhập vào.



-



Nếu request hợp lệ thì sẽ được chuyển sang user space (apache), apache

nhận request, xử lý rồi trả lời cho web brower.

Thông qua biểu đồ luồng dữ liệu đến Web Server ta thấy có 2 điểm mà



attacker sẽ lợi dụng để tấn công DDoS vào, đó là phần kết nối TCP và request

đến apache. Nếu attacker gửi rất nhiều TCP connection đến Web Server thì đến

một lúc nào đó, Máy chủ web sẽ không thể nhận thêm connection nữa (queue

đầy, …) và những connection của người dùng hợp pháp sẽ không được xử lý.

Mặc khác, do phụ thuộc vào lượng tài nguyên (RAM) trên máy chủ nên apache

chỉ có thể nhận và xử lý được một số có hạn request. Nên nếu attacker gửi càng



70



nhiều reuquest mà những request này đến được apache thì càng ít người dùng

hợp pháp được phục vụ.

Qua đó, em có một số ý tưởng cho giải pháp phòng chống DDoS cho Máy

chủ web đó là:

-



Cấu hình Server để có thể nhận và xử lý được nhiều nhất số kết nối

TCP/IP.



-



Kết thúc nhanh nhất các kết nối mà không làm ảnh huởng đến người

dùng hợp pháp để có thể nhận và xử lý các kết nối mới.



-



Giới hạn số connection đến Web Server, số connection đến apache



Hình 17: Luồng dữ liệu khi triển khai hệ thống phòng chống DDoS

Thông qua các ý tưởng, giải pháp được đưa ra bao gồm:

- Tối ưu hóa Máy chủ web ở tầng TCP/IP để server có thể nhận và xử lý

nhiều kết nối nhất đồng thời có thể giải phóng các kết nối một cách

nhanh nhất mà không làm ảnh hưởng đến người dùng hợp pháp.

- Cài đặt module connlimit cho Iptables để giới hạn số truy cập từ một IP.

- Triển khai hệ thống IPS gồm Snort inline và Iptables để chống lại các

request DDoS đến máy chủ web.

Em xin nhấn mạnh là hiện nay chưa có giải pháp nào tối ưu để chống lại DDoS,

giải pháp em đề xuất là một trong những giải pháp đã được triển khai và đã có

những thành công trong việc chống lại DDoS làm cho máy chủ web nói chung và

apache nói riêng không bị quá tải, không phục vụ được cho những người dùng hợp

lệ.



71



3. Mô hình thử nghiệm

Do điều kiện khách quan nên em chỉ có thể triển khai và kiểm nghiệm trên mô hình

trong mạng LAN. Mô hình thử nghiệm như sau:



Hình 18: Mô hình mạng thử nghiệm

Trong mô hình này:

- Gồm có 5 máy tính có cấu hình là 1Gb ram, CPU 2.2Ghz trong đó có 1 máy

sử dụng làm IPS/Máy chủ web (snort inline, Iptables , module ipt_connlimit, cài đặt

apache, php, mysql) trên đó có cài đặt một trang web sử dụng code joomla, 4 máy

còn lại đóng vai trò là attack host

- Tất cả các kết nối đều là full-duplex 100Mbit/s Ethernet (100BaseT)



4. Triển khai hệ thống

4.1 Tối ưu hóa server ở tầng TCP/IP

Bật chức năng tcp_syncookies : Bật chức năng này là cách đơn giản nhất để

chống lại SYN flood.

72



sysctl -w net.ipv4.tcp_syncookies=1

Đặt giá trị cho backlog queue : Giá trị tcp_max_syn_backlog sẽ quyết định có

bao nhiêu gói SYN được lưu trữ. tcp_syncookies phải được bật giá trị này mới có

hiệu lực.

sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

Đặt lại số lần truyền lại gói SYN,ACK để reply lại gói SYN request. Mặc

định là 5 lần tương đương với thời gian timeout của kết nối TCP là 180 giây. Đặt

giá trị là 1 tương đương với thời gian timeout là 9 giây.

sysctl -w net.ipv4.tcp_synack_retries="1"

Bật chức năng IP spoofing protaction

sysctl -w net.ipv4.conf.all.rp_filter ="1"

Không chấp nhận forward broadcast

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts="1"

Không chấp nhận source routed packet

sysctl -w net.ipv4.conf.all.accept_source_route=0

Tắt ICMP redirect

sysctl -w net.ipv4.conf.all.accept_redirects=1

Bật bad error message protection

sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1j

Một số cấu hình TCP khác :

• tcp_abort_on_overflow : Có 2 giá trị 0(mặc định) và 1.

Nếu có giá trị là 1 kernel sẽ reset những kết nối mới khi

queue đầy.

• tcp_fin_timeout : Mặc định là 60 giây.Giá trị của biến này

quyết định kernel sẽ giữ những socket ở trạng thái

FIN_WAIT-2 trong bao lâu nếu không nhận được gói

ACK/FIN từ phía client

• tcp_orphan_retries: Mặc định là 7.Giá trị này sẽ quyết

định TCP/IP stack thử ngắt kết nối ở phía client trước khi

đóng kết nối từ server.

73



Xem Thêm
Tải bản đầy đủ (.doc) (100 trang)

×