1. Trang chủ
  2. » Thể loại khác

Nghiên cứu giải pháp đảm bảo an ninh an toàn thông tin cho các cổng/trang thông tin điện tử : Luận văn ThS. Công nghệ thông tin: 60 48 15

105 39 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 105
Dung lượng 1,64 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HOÀNG VĂN BIÊN NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN NINH AN TỒN THƠNG TIN CHO CÁC CỔNG/TRANG THƠNG TIN ĐIỆN TỬ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI-2015 MỤC LỤC LỜI CAM ĐOAN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH ẢNH MỞ ĐẦU Chương TỔNG QUAN VỀ AN TỒN THƠNG TIN VÀ CỔNG THƠNG TIN ĐIỆN TỬ 1.1 Khái niệm chung an tồn an ninh thơng tin .1 1.2 Tình hình an tồn thơng tin giới Việt Nam .2 1.3 Tổng quan cổng thông tin điện tử 1.4 Các lỗi bảo mật phổ biến ứng dụng web cách phòng chống .8 1.5 Tổng quan đăng nhập lần cổng thông tin điện tử 17 Chương NGHIÊN CỨU CÁC BIỆN PHÁP CƠ BẢN ĐỂ ĐẢM BẢO AN NINH AN TỒN THƠNG TIN CHO CÁC CỔNG/TRANG THÔNG TIN ĐIỆN TỬ .24 2.1 Xác định cấu trúc ứng dụng web 24 2.2 Triển khai hệ thống phòng thủ 29 2.2.1 Tổ chức mơ hình mạng 30 2.2.2 Thiết lập tường lửa .31 2.2.3 Sử dụng công cụ phát ngăn chặn xâm nhập (IDS/IPS) 34 2.2.3.1 Công cụ phát xâm nhập (IDS) .34 2.2.3.2 Công cụ ngăn chặn xâm nhập (IPS) 38 2.2.4 Ứng dụng phòng chống vi-rút bảo vệ máy tính cá nhân .40 2.3 Thiết lập cấu hình hệ thống máy chủ an tồn 41 2.3.1 Thiết lập cấu hình hệ điều hành máy chủ .41 2.3.2 Thiết lập cấu hình máy chủ ứng dụng web 42 2.3.3 Thiết lập cấu hình máy chủ sở liệu .43 2.4 Thiết lập chế lưu phục hồi .44 2.4.1 Thiết lập chế lưu .44 2.4.2 Thiết lập chế phục hồi 45 2.5 Vận hành an toàn 45 2.5.1 Kiểm tra hoạt động ứng dụng web an toàn 45 2.5.2 Một số biện pháp ứng phó với cơng 46 2.5.3 Đào tạo đội ngũ nhân lực vận hành hệ thống 46 Chương TẤN CÔNG TỪ CHỐI DỊCH VỤ VÀ MỘT SỐ BIỆN PHÁP PHÒNG CHỐNG 48 3.1 Tấn công từ chối dịch vụ (DoS) 48 3.2 Tấn công từ chối dịch vụ phân tán (DDoS) 50 3.2.1 Các giai đoạn công DDoS .50 3.2.2 Kiến trúc tổng quan mạng công DDoS 51 3.2.3 Phân loại công DDoS 53 3.2.3.1 Tấn công làm cạn kiệt băng thông hệ thống 54 3.2.3.2 Tấn công làm cạn kiệt tài nguyên 56 3.3 Tấn công từ chối dịch vụ phản xạ nhiều vùng (DRDoS) 57 3.4 Một số biện pháp phòng chống công từ chối dịch vụ 58 Chương TRIỂN KHAI THỬ NGHIỆM 63 4.1 Mơ hình thử nghiệm 63 4.2 Cấu hình hệ thống .64 4.2.1 Cấu hình Apache 67 4.2.2 Cấu hình MySQL .69 4.3 Cài đặt tường lửa ứng dụng web ModSecurity 69 4.4 Thiết lập hệ thống Snort để phát ngăn chặn xâm nhập 72 4.5 Đánh giá khuyến nghị 77 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO PHỤ LỤC 1: THÔNG TIN THAM KHẢO VỀ CÁC TƯỜNG LỬA PHỤ LỤC 2: TƯỜNG LỬA ỨNG DỤNG WEB ModSecurity PHỤ LỤC 3: MỐT SỐ PHẦN MỀM CHỐNG VIRUS VÀ BẢO VỆ MÁY TÍNH ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ HỒNG VĂN BIÊN NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN NINH AN TỒN THƠNG TIN CHO CÁC CỔNG/TRANG THƠNG TIN ĐIỆN TỬ Ngành: Cơng nghệ thơng tin Chuyên ngành: Truyền liệu mạng máy tính Mã số: LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN VIẾT THẾ HÀ NỘI-2015 LỜI CAM ĐOAN Tôi xin cam đoan luận văn không chép ai, kết nghiên cứu trình bày luận văn hồn tồn trung thực, khơng vi phạm điều luật sở hữu trí tuệ pháp luật Việt Nam Nếu sai, tơi hồn tồn chịu trách nhiệm trước pháp luật DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ATTT: An tồn thơng tin CNTT & TT: Cơng nghệ thông tin truyền thông TT & TT: Thông tin truyền thông TTĐT: Thông tin điện tử IDS: Hệ thống phát xâm nhập HIDS: Hệ thống phát xâm nhập máy NIDS: Hệ thống phát xâm nhập mạng IPS: Hệ thống ngăn chặn xâm nhập HIPS: Hệ thống ngăn chặn xâm nhập máy NIPS: Hệ thống ngăn chặn xâm nhập mạng DoS: Tấn công từ chối dịch vụ DDoS: Tấn công từ chối dịch vụ phân tán DRDoS: Tấn công từ chối dịch vụ phản xạ nhiều vùng VNISA: Hiệp hội an toàn thông tin Việt Nam VNCERT: Trung tâm ứng cứu khẩn cấp máy tính Việt Nam OWASP: Dự án mở bảo mật ứng dụng web SSO: Đăng nhập lần DANH MỤC CÁC HÌNH ẢNH Hình 2.1: Một vài mơ hình triển khai ứng dụng web Hình 2.2: Mơ hình lớp Hình 2.3: Mơ hình lớp Hình 2.4: Mơ hình lớp Hình 2.5: Mơ hình N lớp Hình 2.6: Một số vị trí đặt tường lửa Hình 2.7: Ví dụ vị trí đặt tường lửa ứng dụng web Hình 2.8: Một số vị trí thường đặt cảm biến NIDS Hình 3.1: Mơ tả cơng kiểu Smurf Hình 3.2: Kiến trúc mạng cơng kiểu Agent Handler Hình 3.3: Kiến trúc mạng cơng kiểu IRC Hình 3.4: Phân loại cơng từ chối dịch vụ phân tán Hình 3.5: Tấn cơng khuếch đại giao tiếp Hình 3.6: Tấn cơng TCP SYN Hình 3.7: Giả mạo ip để cơng TCP SYN Hình 3.8: Tấn cơng DRDoS Hình 4.1: Mơ hình triển khai thử nghiệm MỞ ĐẦU Tính cấp thiết đề tài Trong năm gần đây, Công nghệ thông tin truyền thơng (CNTT &TT) có vai trị lớn phát triển quốc gia, doanh nghiệp Ứng dụng CNTT &TT có tác động khơng nhỏ đến đời sống kinh tế, xã hội đại phận người dân giới CNTT&TT góp phần quan trọng vấn đề an ninh phát triển bền vững quốc gia Do vậy, ứng dụng CNTT&TT trở thành phần thiếu chiến lược phát triển doanh nghiệp quốc gia giới Với tốc độ phát triển ứng dụng CNTT&TT ngày nhanh nay, hàng ngày có lượng thơng tin lớn lưu trữ, chuyển tải thông qua cổng/trang thông tin điện tử (TTĐT) kéo theo nhiều rủi ro an tồn thơng tin Thiệt hại an ninh an toàn cổng/trang TTĐT tăng nhanh ảnh hưởng nghiêm trọng đến phát triển kinh tế - xã hội, công tác đảm bảo an ninh an tồn khơng triển khai mức Bởi kỹ thuật tội phạm mạng ngày cao tinh vi hơn, số lượng điểm yếu an ninh ngày tăng, số vụ xâm phạm an toàn mạng ngày nhiều Tấn công mạng vào cổng/trang TTĐT ngày trở lên nghiêm trọng Vì vậy, việc nghiên cứu giải pháp đảm bảo an ninh an toàn cho cổng/trang TTĐT cần thiết Để đảm bảo cổng/trang TTĐT hoạt động ổn định, bảo đảm an ninh an tồn thơng tin việc làm cần thiết Giải vấn đề an ninh an toàn cổng/trang TTĐT việc làm xã hội vấn đề cấp bách Mục tiêu đề tài Nghiên cứu, tìm hiểu giải pháp đảm bảo an ninh an tồn thơng tin cho cổng/trang TTĐT Kết sử dụng làm tài liệu tốt việc xây dựng hệ thống đảm bảo an ninh an toàn cho cổng/trang TTĐT cho quan, doanh nghiệp Phương pháp nghiên cứu Về lý thuyết: Nghiên cứu đặc điểm cổng/trang TTĐT, lỗ hổng hình thức cơng nhằm vào cổng/trang TTĐT Sau tìm hiểu, nghiên cứu áp dụng giải pháp để phòng chống công lỗ hổng, ngăn chặn hình thức cơng cổng/trang TTĐT Các giải pháp nghiên cứu, tổng hợp từ nhiều nguồn khác tùy vào loại lỗ hổng hình thức cơng mà có giải pháp riêng Từ đó, tổng hợp đưa giải pháp tổng thể giúp đảm bảo an ninh an toàn cho hệ thống cổng/trang TTĐT Về mặt thực nghiệm: Từ giải pháp nghiên cứu, tơi lựa chọn mơ hình triển khai thử nghiệm số biện pháp bản, quan trọng nhằm đánh giá cách khách quan giải pháp Đồng thời, đưa khuyến nghị giúp đảm bảo an ninh an toàn cho cổng/trang TTĐT Nội dung nghiên cứu Trong luận văn vào nghiên cứu vấn đề sau: - Tổng quan an tồn thơng tin, có khái niệm an tồn thơng tin, tình hình an tồn thơng tin vài năm gần giới Việt Nam - Tổng quan cổng TTĐT đặc điểm cổng TTĐT Các dạng lỗi phổ biến ứng dụng web nói chung cổng/trang TTĐT nói riêng, kiểu cơng cách phịng chống để đảm bảo an toàn cho cổng TTĐT - Cấu trúc triển khai ứng dụng web đưa ưu, nhược điểm mơ hình Giúp xác định lựa chọn mơ hình triển khai cổng/trang TTĐT cách phù hợp - Cách tổ chức mơ hình mạng hợp lý, đưa mơ hình áp dụng vào triển khai đảm bảo an ninh an toàn cho cổng/trang TTĐT - Sử dụng tường lửa để bảo vệ sử dụng tường lửa ứng dụng web mod_security giúp ngăn chặn loại công phổ biến - Sử dụng hệ thống phát ngăn chặn xâm nhập Nghiên cứu, triển khai hệ thống phát ngăn chặn xâm nhập snort giúp đảm bảo an toàn cho hệ thống - Thiết lập cấu hình hệ thống máy chủ an tồn việc lưu phục hồi liệu - Chính sách vận hành an tồn - Phân tích loại hình công từ chối dịch vụ dạng loại hình cơng Tìm hiểu biện pháp phịng chống dạng cơng - Triển khai số biện pháp nghiên cứu hệ thống thực, đồng thời đưa đánh giá khuyến nghị việc thực giải pháp đảm bảo an ninh an toàn cho cổng/trang TTĐT Chương TỔNG QUAN VỀ AN TỒN THƠNG TIN VÀ CỔNG THÔNG TIN ĐIỆN TỬ 1.1 Khái niệm chung an tồn an ninh thơng tin Lĩnh vực an tồn thông tin (ATTT) ngày quốc gia tồn giới quan tâm Hiện nay, có nhiều quan niệm khác nội hàm khái niệm trạng thái đảm bảo an tồn thơng tin cho hệ thống mạng, “an tồn, an ninh thơng tin”, “an toàn, an ninh mạng”, “bảo mật mạng máy tính”, bảo mật server, bảo mật ứng dụng web, v.v Sau số khái niệm thông tin đảm bảo an tồn thơng tin: Thơng tin: phản ánh tự nhiên xã hội ngơn từ, ký hiệu, hình ảnh v.v… hay nói rộng tất phương tiện tác động lên giác quan người Thông tin tồn nhiều dạng: thơng tin khắc đá, gỗ, in hay viết giấy, lưu thiết bị điện tử (thẻ nhớ, ổ cứng, ổ đĩa, băng từ, v.v…), thông tin luân chuyển chia sẻ mạng dạng khác (do gửi thư điện tử, đăng trang web, v.v…) Vì việc bảo vệ thơng tin khỏi mối đe dọa cần thiết Đảm bảo thông tin sử dụng cách kịp thời đáng tin cậy, đảm bảo quyền riêng tư quyền thông tin Hệ thống thông tin: tập hợp thiết bị viễn thông, công nghệ thông tin bao gồm phần cứng, phần mềm sở liệu phục vụ cho hoạt động lưu trữ, xử lý, truyền đưa, chia sẻ, trao đổi, cung cấp sử dụng thông tin [6, tr.4] An tồn thơng tin: bảo vệ thơng tin hệ thống thông tin tránh bị truy cập sử dụng, tiết lộ, gián đoạn, sửa đổi phá hoại trái phép nhằm bảo đảm tính nguyên vẹn, tính bảo mật tính khả dụng thơng tin [6, tr.4] An tồn thơng tin bao gồm hoạt động quản lý, nghiệp vụ kỹ thuật hệ thống thông tin nhằm bảo vệ, khôi phục hệ thống, dịch vụ nội dung thông tin nguy tự nhiên người gây Việc bảo vệ thông tin, tài sản người hệ thống thông tin nhằm bảo đảm cho hệ thống thực chức năng, phục vụ đối tượng cách sẵn sàng, xác tin cậy An tồn thơng tin bao hàm nội dung bảo vệ bảo mật thơng tin, an tồn liệu, an tồn máy tính an tồn mạng [8, tr.2] An ninh thông tin: việc bảo đảm thông tin mạng không gây phương hại đến an ninh quốc gia, trật tự an tồn xã hội, bí mật nhà nước, quyền lợi ích hợp pháp tổ chức, cá nhân [6, tr.4] Một thông tin cần bảo vệ đảm bảo an tồn an ninh thơng tin ln kèm ba yếu tố sau: Tính tồn vẹn, tính khả dụng tính bảo mật - Tính tồn vẹn “Integrity”: đảm bảo thơng tin khơng bị sửa đổi, hủy bỏ không phép Nếu thông tin bị thay đổi bên nhận phải phát - Tính khả dụng “Availability”: cho phép thơng tin sử dụng cách kịp thời đáng tin cậy PHỤ LỤC 2: TƯỜNG LỬA ỨNG DỤNG WEB ModSecurity ModSecurity tường lửa dành cho ứng dụng Web dạng nguồn mở ModSecurity giúp chống lại công vào ứng dụng web, theo dõi truy cập thời gian thực mà không ảnh hưởng đến kiến trúc phần cứng triển khai Nhân sử dụng tập luật để kiểm tra lỗ hổng web thường thấy ModSecurity hoạt động với chương trình máy chủ web (ví dụ: Apache) thực tác vụ sau: Parsing: ModSecurity phân tách liệu luân chuyển qua hệ thống thành cấu trúc liệu mà ModSecurity định nghĩa sẵn Cấu trúc chuyển qua chế so trùng mẫu tập rule để phân tích nguy Buffering: Chức buffer (đệm) đóng vai trị quan trọng chế hoạt động ModSec Việc có ý nghĩa request gởi đến ứng dụng web phải thơng qua ModSecurity trước đến ứng dụng xử lý response phân tích trước trả phía client Cơ chế cách để ngăn chặn cơng thời gian thực, liệu mà ModSecurity nhận phân tích lưu trữ RAM (bao gồm request body response data) Logging: ModSecurity hỗ trợ ghi nhật ký gói tin HTTP: request headers, request body, response header, response body nhằm hỗ trợ người quản trị phân tích nguy mà hệ thống gặp phải để định kiểm sốt Rule Engine: Các tập mẫu ModSecurity đóng vai trị quan trọng việc phát dạng công thực phòng chống ModSecurity phát triển với dự án OWASP phát triển mẫu để phân tích phịng chống cơng hệ thống web luật OWASP_ModSecurity_Core_Rule_Set_Project (Tham khảo www.owasp.org) Các phân nhóm mà Core_Rule_Set hỗ trợ: - HTTP Protection - Real-time Blacklist Lookups - Web-based Malware Detection - HTTP Denial of Service Protections - Common Web Attacks Protection - Automation Detection - Integration with AV Scanning for File Uploads - Tracking Sensitive Data - Trojan Protection - Identification of Application Defects - Error Detection and Hiding 2.1 Cấu trúc luật ModSecurity SecRule VARIABLES OPERATOR [ACTIONS] VARIABLES: xác định vị trí liệu mà ModSecurity tìm kiếm mẫu Trong ví dụ trên, tham số ARGS nhằm định tìm kiếm mẫu tất tham số request OPERATOR: định cách mà ModSecurity tìm kiếm mẫu Các operator dùng theo dạng Regular expression nhằm tạo nên chế phân tích linh động cho rule ACTIONS: định hành động mà ModSecurity thực có mẫu so trùng Trong ví dụ trên, phần action viết log, deny, status:404 có nghĩa là: trùng mẫu gói tin thực ghi log, deny gói tin cách sử dụng mã trạng thái 404 (Not found) 2.2 Quy trình xử lý ModSecurity Trong ModSecurity phiên phân tích thực qua bước, bước ModSecurity thực thi rule tương ứng nhằm phát phòng chống khai thác Hình 2.1: Quy trình xử lý ModSecurity Bước Request Header: Đây bước q trình thực phân tích gói tin Mục đích bước nhằm cho phép người viết rule tương tác với yêu cầu trước thực yêu cầu phần HTTP body Phần quan trọng để phân tích khai thác dựa vào HTTP method dựa vào URL SQL Injection, Reflect XSS, Local file include … Bước Request body: Bước q trình kiểm tra q trình máy kháchgửi yêu cầu đến máy chủ, phần có hiệu người dùng cố sử dụng phương thức POST PUT để tải tập tin lên phía máy chủ Việc kiểm tra bảo đảm liệu đưa lên máy chủ an tồn, tránh tình trạng tải mã độc dạng công như: Stored XSS, Ajax Injection … Bước Response headers: Những yêu cầu xử lý máy chủ trả cho ModSecurity kiểm tra trạng thái phần respone header Trước phần respone body đọc ModSecurity dựa vào tập luật để xác định có cần kiểm tra nội dung liệu phần body hay khơng Ví dụ: mã trạng thái trả 404 (Not found) lúc khơng cần kiểm tra nội dung gói tin trả Bước Response body: Sau ModSecurity hoàn thành việc kiểm tra respone header nội dung phần body kiểm tra so trùng với mẫu tập lệnh Việc hiệu để phát phòng chống xâm nhập trường hợp bước khơng phát cơng Ví dụ: khai thác SQL injection, hacker cố gắng sử dụng số cơng nghệ evasion việc phát request khó khăn Khi khai thác thành cơng, ModSecurity phân tích kết gói tin trả để phát câu truy vấn thành công Bước Logging: Việc ghi nhật ký log ghi nhận cảnh báo quy trình làm việc ModSecurity 2.3 Kiểu biếncủa ModSecurity ModSecurity sử dụng hai loại biến, loại thứ biến chuẩn (standard variable) chứa giá trị đơn ứng với biến, loại thứ hai biến tập (collection variable) chứa nhiều giá trị ứng với biến Ví dụ biến tập REQUEST_HEADER, chứa tất giá trị trường header thông điệp HTTP Để truy cập vào trường biến tập, sử dụng cấu trúc tên_biến: tên_trường, ví dụ luật sau: SecRule REQUEST_HEADER:Referer “acb.vn” Hầu hết biến tập sử dụng độc lập mà không cần định trường cụ thể Khi sử dụng tên biến tập độc lập tương đương với việc truy cập tới trường tập Một số biến tập có trường cố định (vd: GEO có country_name, city, ) số lại có trường khơng cố định, tùy thuộc vào nội dung máy khách gửi đến Trong biến tập, truy cập tới trường khơng tồn trường khơng gán giá trị mà không phát sinh lỗi Điều cần ghi nhớ trường hợp sửa lỗi, bỏ qua khả trường giá trị biến tập không tồn không gán giá trị Bảng 2.1: Biến chuẩn ModSecurity Ý nghĩa Biến chuẩn REMOTE_ADDR Địa IP máy khách REMOTE_HOST hostname máy khách (nếu tồn tại) REMOTE_USER Authenticated username (nếu tồn tại) REMOTE_IDENT Remote Username (lấy từ inetd, dùng) REQUEST_METHOD Request Method (GET, HEAD, POST.) SCRIPT_FILENAME Đường dẫn đầy đủ script thực thi PATH_INFO Phần mở rộng URI phía sau tên script, ví dụ: /archive.php/5 PATH_INFO /5 QUERY_STRING URI phía sau dấu ? Ví dụ /index.php?i=1 QUERY_STRING i=1 AUTH_TYPE Basic Digest Authentication DOCUMENT_ROOT đường dẫn đến documentroot SERVER_ADMIN email Server Administrator SERVER_NAME hostname Server SERVER_ADDR Địa IP Server SERVER_PORT Server port SERVER_PROTOCOL protocol, (ví dụ HTTP/1.1) SERVER_SOFTWARE Phần mềm server TIME_YEAR Năm TIME_MON Tháng TIME_DAY Ngày TIME_HOUR Giờ TIME_MIN Phút TIME_SEC Giây TIME_WDAY Thứ tự ngày tuần (ví dụ - Thursday) TIME Thời điểm viết theo cấu trúc : YmdHMS ví dụ: 2015013075030 : 30/01/2015 07h 50' 30'' API_VERSION Phiên API THE_REQUEST Dòng request vd: GET / HTTP/1.1 REQUEST_URI Yêu cầu URI REQUEST_FILENAME Tên file yêu cầu đến Biến lưu trữ liệu yêu cầu Có ba loại biến tập ModSecurity sử dụng để lưu trữ lâu dài Thông thường, biến hết hiệu lực yêu cầu thời xử lý hoàn tất Tuy nhiên số trường hợp, lại cần lưu giữ chúng lại sử dụng chúng thao tác với yêu cầu sau Ba loại biến tập sử dụng cho mục đích lưu trữ ip, session, user Biến tập “ip” dùng để lưu thông tin người dùng thông qua địa ip Chúng ta sử dụng cho số mục đích phát người dùng yều cầu nhiều lần vào tài nguyên, số lần yêu cầu người dùng, giả sử để chống công từ chối dịch vụ (DoS) Trước sử dụng biến trên, cần khởi tạo chúng, ví dụ: SecAction initcol:ip=%{REMOTE_ADDR},nolog,pass Trong đó, REMOTE_ADD biến lưu địa ip máy khách gửi yêu cầu Để lưu trữ biến, cần cấu hình thư mục liệu cho ModSecurity thơng qua thị SecDataDir, ví dụ: SecDataDir /var/log/apache2/modsec_data Điều cần lưu ý thư mục định thị nêu phải cho phép người dùng Apache ghi liệu lên Sau cấu hình thư mục lưu trữ liệu, khởi tạo biến, ta thao tác với giá trị biến, gán giá trị thông qua hành động tên setvar Biến tập giao tác (transaction collection) Biến tập giao tác (TX) dạng biến tập giao tác, biến gán giá trị vòng đời “yêu cầu/đáp ứng” Chúng ta sử dụng TX để tạo biến riêng nhằm lưu liệu vòng chu kỳ giao tác Xét số luật sau: SecRule REQUEST_URI “select” “pass,setvar:tx.score=+1” SecRule REQUEST_URI “passwd” “pass,setvar:tx.score=+2” SecRule TX:SCORE “@gt 3” deny Bộ luật mô tả sau, thực kiểm tra URI yêu cầu, phát có chứa “select” tăng biến SCORE lên 1, phát thấy có “passwd” tăng biến SCORE lên 2, kiểm tra thấy biến SCORE lớn chặn yêu cầu lại Cấu trúc hành động setvar cho phép tạo cập nhật biến Để hủy biến, sử dụng hành động setvar thêm dấu chấm than phía trước biến, cụ thể: setvar:!tx.score Biến tập TX chứa trường định nghĩa sẵn TX:0, TX:1, TX:9 Với trường hợp TX:0 giá trị khớp sử dụng toán tử @rx @pm, biến TX:1 đến TX:9 chứa giá trị kiểu biểu thức quy thu ước lượng biểu thức quy kèm theo hành động capture 2.4 Toán tử ModSecurity Sử dụng @ để toán tử SecRule ARGS "@rx dirty" Sử dụng !@ để toán tử phủ định SecRule &ARGS "!@rx ^0$" Toán tử @rx (regular expression) toán tử mặc định, sử dụng khơng có tốn tử khác định Regex biểu thức chínhquy định thể hiện: Bảng 2.2: Biểu thức quy ModSecurity Ý nghĩa Biểu thức Joy Bất kỳ chuỗi có j sau đến o sau đến y, joy enjoy, v.v Joy khơng trường hợp Joy bắt đầu chữ J in hoa [Jj]oy Bất kỳ chuỗi có j sau đến o sau đến y, joy, enjoy, Joy, enJoy [0-9] Bất kỳ số từ đến [a-zA-Z] Bất kỳ chữ từ a đến z chũ thường lẫn in hoa ^ Bắt đầu chuỗi $ Kết thúc chuỗi ^abc$ Chuỗi bao gồm từ abc Ký tự p.t Chuỗi dạng pot, pet, put,.v.v Một số biểu thức khác: * : Hợp lệ cho ký tự chuỗi ký tự ? : Hợp lệ cho ký tự + : Hợp lệ với ký tự Sử dụng biểu thức quy luật # luật SecRule REMOTE_HOST "@rx \.abc\.vn$" deny # luật SecRule REMOTE_HOST "\.abc\.vn$" deny Với ví dụ trên, chặn tất kết nối đến trang web abc.vn Bảng 2.3: Toán tử ModSecurity Toán tử @beginsWith Ý nghĩa Khớp chuỗi bắt đầu với chuỗi định Ví dụ: SecRule REQUEST_LINE “!@beginsWith GET” @containts Khớp chuỗi có chứa chuỗi định vị trí Ví dụ: SecRule REQUEST_LINE “@contains select” @containsWord Khớp xâu chứa từ định “Từ” hiểu đoạn xâu ngăn nhiều ký tự khơng phải chữ,số Ví dụ: SecRule ARGS “@containsWord from” @endsWith Khớp xâu kết thúc xâu định Ví dụ: SecRule ARGS “@endsWith ” @streq Khớp xâu giống hoàn tồn xâu định Ví dụ: SecRule REMOTE_HOST “@streq victim\.com” @within Khá giống @contains, khác so khớp xảy biến cần so xuất bên xâu định Ví dụ: SecRule REMOTE_USER “@within bien,quynh” (sẽ khớp remote user bien hoặcquynh) @pm Khớp với cụm từ sau Ví dụ: SecRule ARGS "@pm red green blue" deny @pmFromFile Nếu có nhiều chuỗi muốn đặt vào, ta liệt kê chuỗi vào file dùng @pmFromFile Ví dụ:SecRule ARGS “@pmFromFile /usr/log/alo.txt” Bảng 2.4: Tốn tử đại số ModSecurity Toán tử Toán tử đại số Ví dụ tương đương @eq = SecRule RESPONSE_STATUS “@eq 200” (bằng) @ge ≥ SecRule RESPONSE_STATUS “@ge 400” (lớn bằng) @gt > SecRule RESPONSE_STATUS “@gt 399” (lớn hơn) @le ≤ SecRule RESPONSE_STATUS “@le 199” (nhỏ bằng) @lt < SecRule RESPONSE_STATUS “@lt 200” (nhỏ hơn) 2.5 Hành động ModSecurity (Actions) Khi yêu cầu vi phạm luật ModSecurity thực thi hành động Khi hành động không rõ luật sử dụng hành động luật mặc định Có loại hành động: Hành động cấp (Primary Actions): Hành động cấp định cho phép u cầu tiếp tục hay khơng Mỗi luật có hành động cấp Có nămhành động cấp là: Bảng 2.5: Hành động cấp ModSecurity Hành động Ý nghĩa Deny Yêu cầu bị ngắt, ModSecurity trả mã trạng thái 500 mã trạng thái bạn thiết lập thị trạng thái Pass Cho phép yêu cầu tiếp tục xử lý luật Allow Cho phép truy cập bỏ qua giai đoạn khác (trừ phases logging) Nếu muốn cho qua giai đoạn cần rõ allow:phase Khi kiểm tra luật giai đoạn sau Chỉ cho phép truy cập tới giai đoạn yêu cầu allow:request, cho qua giai đoạn 1,2 kiểm tra giai đoạn trở Drop Cho phép đóng kết nối TCP tới máy khách cách gửi gói tin TCP FIN Hành động hữu ích ứng phó với cơng từ chối dịch vụ, bảo vệ nguồn tài nguyên máy chủ hạn chế kích thước bảng kết đến mức tối đa Redirect Hành động dừng tất trình xử lý gửi chuyển hướng đáp ứng trạng thái HTTP 302 tới máy khách Có thể chuyển hướng yêu cầu đến địa url Ví dụ: SecRule REQUEST_BASENAME "search.php" "redirect:http://www.google.com" Cũng chuyển hướng cơng honeypot web server Ví dụ: SecRule IP:Attacker "1" proxy:http://10.10.10.101/ Hành động cấp (Secondary Actions): Các hành động cấp bổ sung cho hành động cấp 1, luật có nhiều hành động cấp Bảng 2.6: Hành động cấp ModSecurity Hành động Ý nghĩa Status: n Khi yêu cầu vi phạm luật ModSecurity trả mã trạng thái HTTP n thay mã trạng thái 500 mặc định Exec Thực thi lệnh request vi phạm Log Ghi nhật ký yêu cầu vi phạm luật Nolog Không ghi nhật ký Pause : n mod_security đợi thời gian n mili giây trả kết Hành động luồng (Flow Actions) Bảng 2.7: Hành động luồng ModSecurity Hành động Ý nghĩa chain Kết nối hay nhiều luật lại với skipnext:n ModSecurity bỏ qua n luật theo sau Hành động mặc định (Default Action) Khi luật khơng rõ hành động dùng hành động mặc định thiết lập SecDefaultAction Ví dụ : SecDefaultAction "phase:2,deny,log,status:403" 2.6 Ghi nhật ký ModSecurity Nhật ký sửa lỗi (Debug Log): Sử dụng SecDebugLog thị lựa chọn tập tin để ghi lại thông tin sửa lỗi SecDebugLog logs/modsec-debug.log Bạn thay đổi mức độ chi tiết thông tin nhật ký thông qua thị: SecDebugLogLevel giá_trị_log Giá trị log thay đổi từ 0-9 : - Khơng ghi - Các lỗi – cảnh báo – thông báo - Chi tiết làm để xử lý ngoại lệ - Như trên, bao gồm thông tin đoạn thông tin xử lý - Ghi tất thứ bao gồm thông tin gỡ lỗi chi tiết Audit logging Nhật ký Apache thơng tin khơng cho phép lần ngược bước kẻ công Mod_security hỗ trợ audit loging với đầy đủ thông tin từ lần ngược lại q trình kẻ công, chỉnh sửa luật cho hợp lý tránh bị “dương tính giả” Có thị: SecAuditEngine On : bật audit log lên SecAuditLog logs/audit.log : tập tin lưu trữ nhật ký Ngồi cịn có SecAuditLog2 logs/audit2.log :chỉ tập tin lưu trữ nhật ký phụ Tuỳ biến thông tin nhật ký SecAuditEngine chấp nhận giá trị sau : On – ghi tất yêu cầu Off – không ghi RelevantOnly – ghi sinh lọc luật Ngồi mod_security cịn hỗ trợ ghi nhật ký dựa vào mã trạng thái, ví dụ bạn cần ghi lại yêu cầu gây lỗi 5xx : SecAuditLogRelevantStatus ^5 2.7 Một số luật ModSecurity dùng để ngăn chặn công - Luật giới hạn truy cập vào số ngày SecRule TIME_HOUR !^(8|9|10|11|12|13|14|15|16|17|18)$ deny Ở ví dụ giới hạn từ sáng tới 18 chiều - Luật loại bỏ truy vấn tìm thơng tin thẻ tín dụng SecRule RESPONSE_BODY "@verifyCC \d{13,16}" "phase:4,deny,t:removeWhitespace,log,msg:'Possible credit card number leak detected' Ở truy vấn có biến @verifyCC bao gồm biểu thức quy để kiểm sốt liệu truy cập có bao gồm số thẻ tín dụng hay chủ tài khoản từ truy vấn bên hay khơng [ 13 16 số ] - Kiểm sốt theo vị trí truy cập: Để thực kỹ thuật u cần có thêm sở liệu thơng tin vị trí (GeoLocation) số nhà cung cấp cấu hình với Mod Security $ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/ GeoIP.dat.gz $ gunzip GeoIP.dat.gz $ mkdir /usr/local/geoip $ mv GeoIP.dat /usr/local/geoip Sau tích hợp với modsec.conf : SecGeoLookupDb "/usr/local/geoip/GeoIP.dat" Bây khóa truy cập từ số quốc gia, chẳng hạn Trung Quốc Nga sau: # Block users from China SecRule REMOTE_ADDR "@geoLookup" "deny,nolog,chain" SecRule GEO:COUNTRY_CODE "@streq CN RU" - Cân tải chia cho máy chủ khác: Chẳng hạn máy chủ châu Âu đảm đương hết yêu cầu, chia cho máy chủ Mỹ đạt đến ngưỡng nguy hiểm # Redirect European visitors to EU server SecRule REQUEST_URI "^/download/(.*)$" redirect:http://europe.example.com/download/%{TX.1}" "phase:1,capture,chain, SecRule REMOTE_ADDR "@geoLookup" "chain" SecRule GEO:COUNTRY_CONTINENT "@streq EU" - Chống cơng Brute Force: Ta bảo vệ công brute force thông qua số luật sau : #Khóa đăng nhập sau lần đăng nhập không thành công # Khởi tạo thu thập địa ip SecAction "initcol:ip=%{REMOTE_ADDR},pass,nolog" # Phát đăng nhập khơng thành cơng SecRule RESPONSE_BODY "fail" "phase:4,pass,setvar:ip.failed_logins=+1,expirevar:ip.failed_logins=300" # Khóa đăng nhập số lần đăng nhập không thành công SecRule IP:FAILED_LOGINS "@gt 3" deny - Ngăn chặn việc tải lên tập tin lây nhiễm vào hệ thống: Có thể tạo đoạn mã để sử dụng clamscan quét toàn tập tin /usr/local/bin/filescan.sh #!/bin/sh /usr/bin/clamscan $1 > /dev/null 2>&1 if [ "$?" -eq "1" ]; then echo "An infected file was found!" fi Tạo luật gọi phần mềm quyét tải tập tin lên SecRule FILES_TMPNAMES "@inspectFile /usr/local/bin/filescan.sh" "phase:2,deny,status:418" - Ngăn chặn công SQL Injection: Các từ khóa thường sử dụng công SQL Injection biểu thức thông thường tương ứng: UNION SELECT union\s+select UNION ALL SELECT union\s+all\s+select INTO OUTFILE into\s+outfile DROP TABLE drop\s+table ALTER TABLE alter\s+table LOAD_FILE load_file SELECT * select\s+* \s : Cho phép phát khoảng trắng mã thay “%20” Để chống lại công SQL Injection, ta dựa vào đặc điểm từ đưa số luật sau: SecRule ARGS "union\s+select" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "union\s+all\s+select" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "into\s+outfile" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "drop\s+table" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "alter\s+table" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "load_file" "t:lowercase,deny,msg:'SQL Injection'" SecRule ARGS "select\s+from" "t:lowercase,deny,msg:'SQL Injection'" - Một số luật để chống công XSS: SecRule ARGS "alert\s+*\(" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "&\{.+\}" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "javascript:" "t:lowercase,deny,msg:'XSS'" SecRule ARGS "vbscript:" "t:lowercase,deny,msg:'XSS'" - Chống công từ chối dịch vụ (DDoS) ModSecurity: Có thể sử dụng số luật để phịng chống dạng cơng sau: SecRuleEngine On SecAuditEngine RelevantOnly SecAuditLogType Serial SecAuditLog logs/mod_security.log # Thư mục nơi mod_security lưu biến liệu SecDataDir logs/mod_security-data # Bỏ qua yêu cầu từ địa localhost hay số địa ip khác SecRule REMOTE_ADDR "^127\.0\.0\.1$" "phase:1,nolog,allow" # Đếm yêu cầu url không tĩnh giây từ địa ip # Tăng biến yêu cầu lên sau SecRule REQUEST_BASENAME "!(\.avi$|\.bmp$|\.css$|\.doc$|\.flv$|\.gif$|\ \.htm$|\.html$|\.ico$|\.jpg$|\.js$|\.mp3$|\.mpeg$|\.pdf$|\.png$|\.pps$|\.ppt$|\.swf$|\.txt$ |\.wmv$|\.xls$|\.xml$|\.zip$)"\ "phase:1,nolog,pass,initcol:ip=%{REMOTE_ADDR},s etvar:ip.requests=+1,expirevar:ip.requests=1" # Nếu địa ip có nhiều yêu cầu giây # sét block (hết hạn giấy) tăng biến blocks lên (hết hạn giờ) SecRule ip:requests "@eq 5" "phase:1,pass,nolog,setvar:ip.block=1,expirevar:ip.block=5,setvar:ip.blocks=+1,expi revar:ip.blocks=3600" # Nếu người dùng bị chặn lần (biến blocks>5) ghi vào nhật ký trả trang http 403 SecRule ip:blocks "@ge 5" "phase:1,deny,log,logdata:'req/sec: %{ip.requests}, blocks: %{ip.blocks}',status:403" # Nếu người dùng bị chặn (biến block=1), ghi vào nhật ký trả trang http 403 SecRule ip:block "@eq 1" "phase:1,deny,log,logdata:'req/sec: %{ip.requests}, blocks: %{ip.blocks}',status:403" Có thể sử dụng mod_evasive ModSecurity để chống công từ chối dịch vụ, Mô-đun có tác dụng giới hạn số yêu cầu đơn vị thời gian, giới hạn số kết nối tới máy chủ từ địa ip Nên có tác dụng chống công từ chối dịch vụ hiệu đặc biệt Flood Nhuợc điểm tốn tài nguyên hệ thống! Một số cấu hình lại mod_evasive để hạn chế công từ chối dịch vụ: DOSHashTableSize 3097 DOSPageCount DOSSiteCount 100 DOSPageInterval DOSSiteInterval DOSBlockingPeriod 10 DOSBlockingPeriod 600 Macro Shell script hữu dụng phịng chốn cơng Chúng ta muốn Mod Security gọi script tùy biến trường hợp cơng phát chẳng hạn phát công từ chối dịch vụ phân tán (DDOS) cần gửi cảnh báo E-mail tức cho người quản trị Những cơng việc hồn tồn thi hành dễ dàng qua Shell Script Ví dụ gửi cảnh báo E-mail công SQL Injection xảy ra: Kịch để gửi email Chúng ta tạo file email.sh thư muc /usr/local/bin #!/bin/sh echo "An SQL injection attempt was blocked" | mail –s "ModSecurity Alert" user@example.com echo Done Cấp quyền cho file : $ chmod a+rx /usr/local/bin/email.sh Sau áp dụng luật : SecRule ARGS "drop table" "deny,exec:/usr/local/bin/email.sh" Một email gửi tới user@example.com có cơng SQL Injection xảy mà ModSecurity phát thấy Có thể thấy mod_security hữu dụng việc phịng chống cơng ứng dụng web Khơng phịng chống loại cơng kể mà mod_security cịn phịng chống nhiều kiểu cơng khác Việc tìm hiểu, phát triển áp dụng mod_security phịng chống cơng ứng dụng web việc cần làm Nhất với quan, tổ chức sử dụng hệ thống mã nguồn mở cho ứng dụng web PHỤ LỤC 3: MỐT SỐ PHẦN MỀM CHỐNG VIRUS VÀ BẢO VỆ MÁY TÍNH Bản sản xuất nước - BKAV (http://www.bkav.com.vn) - CMC AntiVirus (http://www3.cmcinfosec.com) Bản thương mại nước - AirScanner (www.airscanner.com) - BitDefender (www.bitdefender.com) - Computer Associates (www.ca.com) - F-Secure (www.f-secure.com) - Kaspersky (www.kaspersky.com) - McAfee (www.mcafee.com) - Symantec (www.symantec.com) - Trend Micro (trendmicro.com) - Avast (www.avast.com) - Avira (www.avira.com) Bản miễn phí - Avast Free AntiVirus (http://www.avast.com) - Avira AntiVir Personal Free (http://www.avira.com) - Microsoft Security Essentials (http://www.microsoft.com) - Panda Cloud AntiVirus (http://www.pandasecurity.com) - Comodo Internet Security (http://comodo.com)

Ngày đăng: 23/09/2020, 21:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN