BÁO CÁO TÌM HIỂU CSF

7 626 19
BÁO CÁO TÌM HIỂU CSF

Đang tải... (xem toàn văn)

Thông tin tài liệu

BÁO CÁO TÌM HIỂU CSF I. Nội dung báo cáo 1, Tìm hiểu tường lửa CSF. 2, Những tính năng chính của CSF. 3, Áp dụng CSF vào một số tình huống cụ thể. 4, Demo chống DDOS HTTP Get. II. Nội dung chính 1, Tìm hiểu tường lửa CSF 1.1 Khái niệm về SPI (Stateful Packet Inspection) firewall. SPI firewall là tường lửa có thể theo dõi trạng thái của kết nối( TCP streams, UDP communication). Nhờ đó nó có thể phân biệt được gói tin hợp pháp, chỉ những gói tin phù hợp với kết nối mới được cho phép. Nó khác với stateless firewall, một loại firewall có hiệu suất xử lý tốt hơn, hoạt động ở layer 3 và chỉ xem header gói tin. Nhược điểm stateless firewall là không kiểm tra được state của gói tin vì vậy nó dễ bị giả mạo gói tin. 1.2 Login/Instrusion Detection and Security application. Tính năng phát hiện đăng nhập, xâm nhập vào hệ thống của firewall qua việc kiểm tra log của các chương trình trong hệ thống. Ngoài ra còn theo dõi sự thay đổi của các thư mục, file, tài khoản người dùng. Kiểm tra, giới hạn số lượng process, memory. Chống lại việc tấn công từ bên trong hệ thống bằng việc thực thi shell độc hại. 1.3 CSF CSF là một SPI firewall, Login/Intrusion Detection and Security application cho Linux servers. Làm việc trên nền tảng iptables, CSF được thiết kế chuyên dụng để bảo vệ cho những server dịch vụ. Những tính năng của CSF đều được các chuyên gia hàng đầu về bảo mật lựa chọn kỹ lưỡng. Với đặc điểm là mã nguồn mở, CSF luôn được cập nhật liên tục để hoàn thiện thêm các tính năng mới. Ngoài ra CSF cực kỳ hữu hiệu để chống lại DoS và DDoS. Đặc điểm cơ bản của chống tấn công DoS trên firewall là giới hạn số kết nối tăng quá mức bình thường, kiểm tra tính hợp lệ trong state của gói tin. CSF làm rất tốt việc này, nó có những tính năng cụ thể để lọc ra những người dùng thực sự hay là những zombie đang tấn công server. Để ngăn chặn hầu hết các hình thức DoS ta sẽ phải thắt chặt ở firewall và tinh chỉnh tốt các dịch vụ. 2, Những tính năng chính của CSF.  Bảovệ server trướchầuhếthìnhthứctấncông DDOS : SynFlood, UDPFlood, PortFlood, PingofDeath… • Bảovệ server trướchìnhthứctấncôngtàikhoản : Brute-force attack, Distributedattacks. • Bảovệ server trướckiểuthămdòtìmhiểu server : PortScan, PortKnocking. • Chốngthựcthishelltrên server, kiểmtrahệthống file server, process. • Cấmtruycậptheoquốcgia, IP thuộcBlacklist, IP bịchặn ở server khác( cũngsửdụng CSF) • Chặn IP tạmthời, vĩnhviễn • TruyvấnkiểmtraDNS(Global Lists/DYNDNS/Blacklists) xácđịnhnguồngốc IP kếtluân spam hoặc IP cấmtruycập • Hỗtrợ Mail server trongquảnlý IP, accountđăngnhập POP3, IMAP. • Hệthống log tuỳ chỉnh cao, gửibáocáotới mail củaquảntrị, gửithôngbáotớingườidùng khi bịchặn IP. 3, Áp dụng CSF vào một số tình huống cụ thể. 3.1: Tình huống hệ thống bị DDoS dồn dập với dạng tấn công SYN FLOOD. SYN FLOOD là một kiểu tấn công mà attacked sử dụng nhiều IP ( có thể giả mạo) gửi liên tiếp những gói tin SYN-ACK(chấp nhận kết nối) và chờ gói ACK từ client để hoàn thành bắt tay 3 bước. Nhưng attacked hoặc không trả lời ACK hoặc ip giả mạo nên cũng không có ACK phản hồi nên server sẽ chờ gói ACK cho đến hết timeout. Khi số lượng gói SYN được gửi đến server dồn dập như vậy ta phải có các biện pháp khắc phục hiệu quả để giảm số lượng những gói SYN đến từ những địa chỉ giả mạo hoặc ip zombie. Khi server bị tấn công SYNFLOOD với cường độ thấp (ví dụ 1000/s) thì SYN COOKIES sẽ hoạt động hiệu quả. SYN COOKIES là một tính năng sẵn có để chống lại SYN FLOOD. Nó kiểm tra tính hợp lệ của gói tin. Nhanh chóng huỷ những kết nối không đúng. Khi server phải tiếp nhận SYNFLOOD với cường độ lớn, ta phải giới hạn SYNFLOOD_RATE, SYNFLOOD_BURST hợp lý. Với trường hợp server chạy dịch vụ web server sử dụng để chạy website tin tức. Một người dùng bình thường sẽ tạo nhiều nhất 10 kết nối mới trong 1 phút. Ta có thể giới hạn như sau để không ảnh hưởng đến người dùng mà lại vô hiệu hoá mức độ tham lam của attacker khi muốn DoS server. SYNFLOOD_RATE=4/s SYNFLOOD_BRUST=2 Tức là cho phép trong 2s có 4 kết nối SYN đến. Cái thứ 6 trong vòng 2s sẽ drop. Đây là một ví dụ. Mỗi server cấu hình khác nhau, dịch vụ khác nhau, số lượng user khác nhau sẽ có cách cấu hình khác nhau. 3.2: Tình huống tấn công DDoS vào lớp ứng dụng. Các tấn công vào lớp ứng dụng vừa đánh vào yếu kém trong việc cấu hình dịch vụ, vừa tăng số lượng kết nối lên cao, dồn dập yêu cầu server trả lời kết nối làm cho server quá tải hoặc đường truyền bão hoà. Một số tấn công vào lớp ứng dụng như HTTP get; HTTP post; Xflash; Slowloris đều thực sự hiệu quả khi có rất nhiều kết nối đến server. Vậy để giới hạn không cho server đạt đến ngưỡng giới hạn khả năng chịu tải thì trước khi tinh chỉnh dịch vụ, thông số kernel, dựa vào các IDS, module lọc gói tin ở lớp ứng dụng thì ta phải làm việc đầu tiênlà giới hạn current connection(số connection ở trạng thái ESTABLISHED), theo dõi IP nào có hiện tượng truy vấn dồn dập thì ngưng tạm thời truy cập từ IP đó. CONNLIMIT = 80;5 PORTFLOOD = 80;tcp;20;10 Tức là tại mỗi thời điểm chỉ cho phép 5 kết nối truyển dữ liệu tại port 80. Port 80 giao thức tcp trong10s mà có hơn 20 yêu cầu kết nối đến server thì khoá IP đó đến 10s sau yêu cầu kết nối cuối cùng đến server. Hoặc ta dựa vào tổng số kết nối đến server trong 1 khoảng thời gian để khoá tạm thời hoặc vĩnh viễn luôn IP đó: CT_LIMIT=200 CT_INTERVAL=60 CT_PERMANENT=0 Trong vòng 60 giây có 200 kết nối đến server thì khoá tạm thời trong CT_BLOCK_TIME. 3.3: Chống lại Scan các port đặc biệt. Khi server của ta public ra internet việc quản trị từ xa là yêu cầu tất yếu. Làm thế nào để bảo vệ những dịch vụ này trước con mắt dòm ngó của những kẻ nhiều chuyện? Có hai tính năng giúp ta việc này: + Port Scan: PS_INTERVAL=300 PS_LIMIT=10 PS_PERMANENT=0 PS_BLOCK_TIME=3600 Một IP nào đó gửi yêu cầu truy cập đến 10 port không được mở trên server trong 300s thì khoá trong thời gian 1h. + PortKnocking: PORTKNOCKING=22;TCP;20;10000;20000;30000. Port 22 là port mặc định chạy dịch vụ SSH trên *nix. Bình thường ta sẽ đổi port dịch vụ để tránh việc scan của attacker. Như vậy chưa đủ an toàn vì attacker vẫn có thể tìm ra. Tính năng trên cho phép ta đóng port 22, nhưng khi ta gửi gói SYN đến port 10000;20000;30000 trong vòng 20s thì port 22 sẽ được mở ra cho IP vừa gửi 3 gói SYN trên. Một tính năng vô cùng hữu hiệu. 3.4: Chống brute force attack. Tính năng chống lại việc đăng nhập sai nhiều lần từ một IP hay một tài khoản(thay đổi IP) trong một khoảng thời gian. Trong SECTION:Login Failure Blocking and Alerts cho phép ta giới hạn số lần đăng nhập sai ở một số dịch vụ. Nếu vượt quá số lần IP sẽ bị khoá tạm thời. 3.5: Alert and Report. Ngoài việc chống một số loại tấn công thì CSF còn hỗ trợ cảnh báo hoặc báo cáo các hiện tượng trên cho người dùng hoặc admin. Khi có sự thay đổi về thư mục, script exploits, account hệthống CSF sẽ report cho admin qua mail. LF_ALERT_TO= admin@domain.com 4, Demo chống DDOS HTTP Get. HTTP Get là một dạng truyền dữ liệu vào webserver yêu cầu server trả lời câu truy vấn Get từ client. DDOS HTTP GET sẽ có 2 mục đích chính: Tăng số lượng kết nối thật nhiều đến server làm quá giới hạn phục vụ, bắt server thực hiện các cú Get dẫn đến quá tải server do xử lý PHP, truy vẫn database. Hiện nay các hệ thống botnet lớn rất thông minh. Nó có thể thực hiện three-way handshake, HTTPGET với URI ngẫu nhiên, User Agent như người dùng bình thường. Nên việc chống DDOS phải có sự kết hợp ở nhiều lớp. Trên firewall ta phải thực hiện giới hạn số connection, khoá những IP có lượng truy vấn đột biến, cho phép gói tin hợp lệ ra vào. Khi một webserver không có firewall hoặc có firewall nhưng không cấu hình giới hạn connection, connection tracking. Thực hiện request HTTP GET với rate=100/s. Server nhanh chóng quá tải và DoS. Hình1: Server bị quá tải do trả lời quá nhiều request Hình2: Hình ảnh request liên tục của 1 IP. Hình3: TCP stream với URI hoàn toàn hợp lệ Để hạn chế loại tấn công với bên vỏ ngoài hoàn toàn hợp lệ này ta phải giới hạn connection, phân biệt rõ đặc tính của 1 zombie và 1 người dùng hợp lệ để chặn đùng đối tượng. Như cấu hình ở phần 3.2: CONNLIMIT = 80;5 PORTFLOOD = 80;tcp;20;10 Ta giới hạn tại một thời điểm 1 IP có 5 connection tồn tại. Trong 10s IP đó không yêu cầu quá 20 connection. Đây là 1 ví dụ điển hình cho 1 forum hay 1 trang tin tức với dung lượng 1 trang không quá lớn. 5conn/s có thể sử dụng cho 3 người dùng cùng 1 IP 1 thời điểm. Tình trạng PORTFLOOD như trên chỉ nên áp dụng khi server đang bị DDOS còn không thì ta nên để giới hạn cao hơn một chút. Ngay khi ra thực hiện điều chỉnh trên thì số connection giữa client và server được giới hạn ở mức 5 current Connection. Trung bình mỗi người tải trang web chỉ cần tối đa 3 connection trong vòng 2s là đủ. Trong 10s để tải 5 trang web trên cùng 1 host cần 15 connection. Vậy chỉ có những zombie tham lam mới cần trên 20 conection trong vòng 10s. Ta có thể hạn chế những zombie bằng cách sẽ deny ip đó cho đến khi nó thôi không tấn công vào server nữa. Như ví dụ trên là IP nào mở hơn 20 connection tới port 80 trong vòng 10s sẽ bị chặn và sau 10s tính từ yêu cầu kết nối cuối cùng sẽ được thả ra. Tình trạng kết nối tới server của máy tấn công khi không bị ngăn cản: Và sau khi giới hạn 5 kết nối: Tuy có rất nhiều yêu cầu kết nối tới server nhưng server chỉ chấp nhận tối đa 5 kết nối. Việc giới hạn số connection này có thể áp dụng cho tất cả các loại tấn công DDoS. Kết luận: Xây dựng trên nền tảng iptables nên tính linh hoạt của CSF khá cao. Ngoài những tính năng cung cấp sẵn ta cũng có thể can thiệp trực tiếp vào iptables. CSF được xây dựng dựa trên các yêu cầu của 1 server dịch vụ nên những tính năng của nó được tinh chỉnh sao cho vừa gọn nhẹ lại phục vụ được các nhu cầu cần thiết của server. Đây là một sự lựa chọn cực kỳ hữu hiệu cho bất cứ server public nào. . BÁO CÁO TÌM HIỂU CSF I. Nội dung báo cáo 1, Tìm hiểu tường lửa CSF. 2, Những tính năng chính của CSF. 3, Áp dụng CSF vào một số tình huống cụ thể. 4, Demo. số loại tấn công thì CSF còn hỗ trợ cảnh báo hoặc báo cáo các hiện tượng trên cho người dùng hoặc admin. Khi có sự thay đổi về thư mục, script exploits, account hệthống CSF sẽ report cho admin. accountđăngnhập POP3, IMAP. • Hệthống log tuỳ chỉnh cao, gửibáocáotới mail củaquảntrị, gửithôngbáotớingườidùng khi bịchặn IP. 3, Áp dụng CSF vào một số tình huống cụ thể. 3.1: Tình huống hệ thống

Ngày đăng: 03/07/2014, 11:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan