Đánh giá: Thực hiện những biện pháp đã nghiên cứu và thử nghiệm được trình bày ở trên sẽ phần nào giúp đảm bảo an toàn cho các cổng/trang TTĐT, hạn chế được khá nhiều rủi ro về mất an toàn thông tin. Phòng chống được những loại tấn công vào các lỗi phổ biến trên cổng/trang TTĐT. Nếu áp dụng tốt, sẽ giảm được giảm được nguy cơ và thiệt hại khi bị tấn công từ chối dịch vụ. Đồng thời, có những ứng phó kịp thời khi phát hiện dấu hiệu tấn công và chống lại các cuộc tấn công vào hệ thống.
Khuyến nghị: Khi lựa chọn các giải pháp để đảm bảo an ninh an toàn cho cổng/trang thông tin điện tử của đơn vị mình, các cơ quan, tổ chức tùy vào điều kiện của đơn vị mình mà lựa chọn cấu trúc triển khai cổng/trang TTĐT phù hợp. Với những đơn vị có cổng/trang TTĐT lớn, có điều kiện về nhân lực và hạ tầng nên triển khai cổng/trang TTĐT theo mô hình n lớp là tốt nhất để đảm bảo mật và cung cấp dịch vụ rộng lớn với nhiều người dùng. Nếu điều kiện không cho phép triển khai theo mô hình n lớp thì mô hình ba lớp cũng là lựa chọn tốt, có thể dễ dàng vận hành hệ thống và chủ động phòng chống các nguy cơ tấn công. Tối thiểu là xây dựng theo mô hình hai lớp để đảm bảo phần nào quá trình vận hành và bảo mật cho hệ thống. Không nên xây dựng theo mô hình một lớp, vì trong mô hình này các máy chủ phục vụ web, máy chủ ứng dụng web và máy chủ cơ sở dữ liệu được đặt trên cùng một máy chủ. Khi một máy chủ bị tấn công và chiếm quyền điều khiển có thể dẫn đến các máy chủ khác cũng bị ảnh hưởng. Hơn nữa, Sẽ gặp nhiều khó khăn trong quá trình vận hành và triển khai các biện pháp bảo vệ.
78
KẾT LUẬN
Trong luận văn này tôi đã trình bày, phân tích, đưa ra mô hình cũng như các giải pháp cơ bản để đảm bảo an ninh an toàn cho cổng/trang TTĐT. Làm rõ mô hình có thể lựa chọn để triển khai cổng/trang TTĐT. Cũng như những vấn đề cần thiết lập, cấu hình trên các máy chủ, hệ thống phòng thủ và cả việc vận hành hệ thống một cách an toàn. Ngoài ra trong luận văn này tôi cũng nghiên cứu phân tích những lỗ hổng phổ biến trên các cổng/trang TTĐT. Trong luận văn tôi cũng đi sâu vào phân tích các hình thức tấn công từ chối dịch vụ nhằm vào các cổng/trang TTĐT và cách phòng chống hình thức tấn công này. Không chỉ vậy, trong luận văn tôi còn nghiên cứu những ứng dụng phòng thủ miễn phí có thể giúp phát hiện và ngăn chặn những hình thức tấn công phổ biến trên cổng/trang TTĐT, đó là tường lửa ứng dụng web ModSecurity và hệ thống phát hiện và ngăn chặn xâm nhập snort. Đây là hai công cụ miễn phí giúp phát hiện và ngăn chặn tấn công khá hiệu quả, đồng thời cũng cho phép phát triển tập luật để phòng chống tấn công. Việc đảm bảo an ninh an toàn cho các cổng/trang TTĐT là việc làm hết sức quan trọng. Muốn làm được điều này cần thực hiện đồng bộ và đồng thời một loạt các biện pháp đảm bảo an ninh an toàn theo đúng quy trình đã đề ra. Một trong những biện pháp hữu hiệu là kiểm tra tính bảo mật thông qua việc dò quét lỗ hổng bảo mật và tấn công thử vào các cổng/trang TTĐT. Luận văn này có thể trợ giúp cho các cơ quan, doanh nghiệp sử dụng làm tài liệu tham khảo cho việc thiết lập hệ thống đảm bảo an ninh an toàn cho các cổng/trang TTĐT của đơn vị mình.
Kết quả luận văn có thể được sử dụng làm tài liệu tham khảo trong việc xây dựng hệ thống đảm bảo an ninh an toàn cho các cổng/trang TTĐT cho các cơ quan, doanh nghiệp. Có thể áp dụng ngay để kiểm tra xem trên cổng/trang TTĐT của đơn vị mình có mắc các lỗi phổ biến không, qua đó có thể tổ chức phòng chống tấn công cho hệ thống của mình. Ngoài ra luận văn này cũng giúp cho các quản trị viên có kiến thức hiểu biết thêm về loại tấn công rất nguy hiểm đó là tấn công từ chối dịch vụ và cách phòng chống loại tấn công này.
Các kết quả cụ thể đã đạt được của luận văn gồm:
1. Nghiên cứu tổng quan về cổng TTĐT, các dạng lỗi phổ biến trên cổng/trang TTĐT, một số hình thức tấn công vào tính năng xác thực một lần, mức độ nguy hiểm của các lỗ hổng và cách phòng chống.
2. Nghiên cứu cấu trúc triển khai ứng dụng web và đưa ra ưu, nhược điểm của từng mô hình. Giúp xác định và lựa chọn được mô hình triển khai cổng/trang TTĐT một cách phù hợp.
3. Nghiên cứu cách tổ chức mô hình mạng hợp lý, đưa ra các mô hình có thể áp dụng vào triển khai đảm bảo an ninh an toàn cho cổng/trang TTĐT.
4. Nghiên cứu và đưa ra được các khuyến nghị trong việc thiết lập, triển khai tường lửa một cách hợp lý và sử dụng được tường lửa ứng dụng web mod_security giúp ngăn chặn các loại tấn công phổ biến.
79
5. Đưa ra những kiến thức tổng quan về hệ thống phát hiện và ngăn chặn xâm nhập. Nghiên cứu, triển khai được hệ thống phát hiện và ngăn chặn xâm nhập snort giúp đảm bảo an toàn cho hệ thống.
6. Nghiên cứu và triển khai, thiết lập, cấu hình hệ thống điều hành, hệ thống máy chủ an toàn cũng như việc sao lưu và phục hồi dữ liệu.
7. Chính sách vận hành một cách an toàn, khuyến nghị xây dựng nguồn nhân lực để vận hành an toàn, sẵn sàng ứng phó với các cuộc tấn công.
8. Phân tích loại hình tấn công từ chối dịch vụ và các dạng của loại hình tấn công này. Đồng thời cũng có những biện pháp phòng chống dạng tấn công này.
9. Triển khai một số biện pháp cơ bản đã nghiên cứu trên hệ thống thực, đồng thời đưa ra những đánh giá và khuyến nghị trong việc thực hiện những giải pháp đảm bảo an ninh an toàn cho các cổng/trang TTĐT.
Luận văn đã hoàn thành cơ bản các nội dung yêu cầu và mục tiêu đặt ra. Do thời gian có hạn nên luận văn chắc chắn còn nhiều thiếu sót và các mặt hạn chế. Trong tương lai, nếu điều kiện cho phép tôi sẽ tiếp tục nghiên cứu, phát triển và thử nghiệm hoàn thiện các giải pháp, củng cố thêm cơ sở để có thể xây dựng được mô hình chuẩn hiệu quả cho việc đảm bảo an ninh an toàn cho các cổng/trang TTĐT. Phát triển tập luật của tường lửa ứng dùng web mod_security và tập luật của hệ thống phát hiện và ngăn chặn xâm nhập snort, để gia tăng khả năng phòng chống tấn công của hệ thống.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Bộ công an (2011), An toàn thông tin và công tác phòng chống tội phạm sử dụng công nghệ cao, Nhà xuất bản Công an nhân dân, Hà Nội. Tr. 258-266, 286-716. 2. Nguyễn Ngọc Cường (2012), Tin học ứng dụng trong điều tra tội phạm, Nhà xuất
bản Công an nhân dân, Hà Nội. Tr.181-186, 302-315.
3. Tô Nguyễn Nhật Quang, Các kỹ thuật tấn công DoS, DDoS, DRDoS & Botnet. 4. Nguyễn Đức Quỳnh, “Portal là gì? – Cổng thông tin điện tử”, ttvnol.com.
5. Hồ Văn Hương, Đào Thị Ngọc Thùy (2013), “ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần”, Tạp chí An toàn thông tin.
6. Chính Phủ (2013), Nghị định 72/2013/NĐ-CP của chính phủ về Quản lý, cung cấp, sử dụng dịch vụ internet và thông tin trên mạng, Hà Nội.
7. Bộ Thông tin và Truyền thông (2011), hướng dẫn đảm bảo an toàn thông tin cho các cổng/trang thôn tin điện tử, Hà Nội.
8. Chính Phủ (2007), Nghị định 64/2007/NĐ-CP của Chính phủ về Ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước, Hà Nội.
Tiếng Anh
1. William Stalling, Lawrie Brown (2012), Computer Security Principles and Practice Second Edition, University of New South Wales, Australian Defence Force Academy.
2. Stephen Northcutt, Judy Novak (2002), Network Intrusion Detection Third Edition, America.
3. NIST (2010), Guide to Intrusion Detection and Prevention Systems (IDPS). 4. Ph.D.Wm. Athur Conklin, Ph.D CompTIA ComTIA Security,Principles of
Computer Security CompTIA Security and Beyond Lab Manual Second Edition, Vincent Nestler CompTIA Security+ Gregory White, CISSP.
5. Issues Concerning The OWASP Top Ten 2013, www.owasp.org.
6. ModSecurity Open Source Web Application Firewall, www.modsecurity.org.
7. Snort, www.snort.org.
8. Andrew R. Baker Brian Caswell Mike Poor (2004), Snort 2.1 Intrusion Detection Second Edition.
9. Rafeeq Ur Rehman (2003), Intrusion Detection Systems with Snort Advanced IDS Techniques Using Snort, Apache, MySQL, PHP, and ACID,Prentice Hall PTR 10. Christian Wege (2004), “Portal Server Technology”, IEEE Internet Computing. 11. Stephen Specht and Ruby Lee, Distributed Denial of Service Networks, Attacks,
PHỤ LỤC 1: THÔNG TIN THAM KHẢO VỀ CÁC TƯỜNG LỬA 1. Tường lửa phần cứng - Checkpoint (http://www.checkpoint.com) - Juniper (http://www.juniper.net) - Cisco (http://www.cisco.net) - Endian (http://endian.com) - Astaro (http://www.astaro.com - Paloalto (http://www.paloaltonetworks.com) 2. Tường lửa phần mềm mềm - Bản thương mại:
o Microsoft Internet Security and Acceleration (ISA) Server (http://www.microsoft.com) - Bản miễn phí (mã nguồn mở): o Netfilter/iptables (http://www.netfilter.org) o psSense (http://www.pfsense.org) o IPCop (http://www.ipcop.org) o Shorewall (http://shorewall.net) o SmoothWall (http://www.smoothwall.org) o Vyatta (http://www.vyatta.org)
3. Tường lửa ứng dụng web (WAF)
- Các phiên bản mã nguồn mở WAF phổ biến:
o WebKnight (http://www.aqtronix.com/?PageID=99) o ModSecurity (http://modsecurity.org)
o URLScan (http://www.iis.net/download/urlscan) - Ngoài ra còn các bản WAF thương mại nổi tiếng sau:
o Hypergouard (http://www.artofdefence.com/en/products/hyperguard.html) o WebDefend (http://www.applicure.com)
o NetScaler application firewalls (http://www.citrix.com)
o Eeye’s SecureIIS (http://www.eeye.com/products/secureiis-web-server- security.aspx)
PHỤ LỤC 2: TƯỜNG LỬA ỨNG DỤNG WEB ModSecurity
ModSecurity là một tường lửa dành cho ứng dụng Web dạng nguồn mở. ModSecurity giúp chống lại các tấn công vào ứng dụng web, theo dõi các 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 của nó sử dụng các tập luật để kiểm tra các 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) sẽ thực hiện các tác vụ như sau:
Parsing: ModSecurity sẽ phân tách các dữ liệu luân chuyển qua hệ thống thành cấu trúc dữ liệu mà ModSecurity định nghĩa sẵn. Cấu trúc này sẽ được chuyển qua cơ chế so trùng mẫu trong tập rule để phân tích nguy cơ.
Buffering: Chức năng buffer (đệm) đóng vai trò khá quan trọng trong cơ chế hoạt động của ModSec. Việc này có ý nghĩa khi các request gởi đến ứng dụng web thì phải thông qua ModSecurity trước khi đến ứng dụng xử lý và những response cũng sẽ được phân tích trước khi trả về phía client. Cơ chế này là cách duy nhất để có thể ngăn chặn các cuộc tấn công thời gian thực, các dữ liệu mà ModSecurity nhận được và phân tích sẽ được lưu trữ trong RAM (bao gồm request body và response data)
Logging: ModSecurity hỗ trợ ghi nhật ký các 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 cơ mà hệ thống đang gặp phải để có thể ra quyết định kiểm soát.
Rule Engine: Các tập mẫu trong ModSecurity đóng vai trò quan trọng trong việc phát hiện các dạng tấn công và thực hiện phòng chống. ModSecurity cùng phát triển với dự án OWASP phát triển các mẫu để phân tích và phòng chống các tấn công hệ thống web đó là bộ luật OWASP_ModSecurity_Core_Rule_Set_Project. (Tham khảo tại 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 của ModSecurity
VARIABLES: xác định vị trí dữ liệu mà ModSecurity sẽ tìm kiếm mẫu. Trong ví dụ trên, tham số ARGS nhằm chỉ định tìm kiếm mẫu trong tất cả các tham số trong request. OPERATOR: chỉ định cách mà ModSecurity sẽ tìm kiếm mẫu. Các operator được dùng theo dạng Regular expression nhằm tạo nên cơ chế phân tích linh động cho các rule. ACTIONS: chỉ định hành động mà ModSecurity sẽ thực hiện khi có một mẫu được so trùng. Trong ví dụ trên, phần action được viết log, deny, status:404 có nghĩa là: khi trùng mẫu <script> trong gói tin thì thực hiện ghi log, deny gói tin bằng cách sử dụng mã trạng thái 404 (Not found).
2.2. Quy trình xử lý trong ModSecurity
Trong ModSecurity mỗi phiên phân tích sẽ thực hiện lần lượt qua 5 bước, tại mỗi bước ModSecurity sẽ thực thi các rule tương ứng nhằm phát hiện và phòng chống các khai thác.
Hình 2.1: Quy trình xử lý của ModSecurity
Bước 1 Request Header: Đây là bước đầu tiên trong quá trình thực hiện phân tích gói tin. Mục đích của bước này nhằm cho phép người viết rule tương tác với các yêu cầu trước khi thực hiện các yêu cầu trong phần HTTP body. Phần này khá quan trọng để phân tích các khai thác dựa vào HTTP method cũng như dựa vào URL như SQL Injection, Reflect XSS, Local file include …
Bước 2 Request body: Bước 2 là quá trình kiểm tra chính trong quá trình máy kháchgửi yêu cầu đến máy chủ, phần này sẽ có hiệu quả khi người dùng cố sử dụng phương thức POST hoặc PUT để tải tập tin lên phía máy chủ. Việc kiểm tra này bảo đảm dữ liệu đưa
lên máy chủ là an toàn, tránh tình trạng tải mã độc hoặc các dạng tấn công như: Stored XSS, Ajax Injection …
Bước 3 Response headers: Những yêu cầu đã được xử lý tại máy chủ sẽ được trả về cho ModSecurity kiểm tra trạng thái trong phần respone header. Trước khi phần respone body được đọc thì ModSecurity sẽ dựa vào tập luật để xác định có cần kiểm tra nội dung dữ liệu trong phần body hay không.
Ví dụ: mã trạng thái trả về là 404 (Not found) thì lúc này sẽ không cần kiểm tra nội dung gói tin trả về.
Bước 4 Response body: Sau khi ModSecurity đã hoàn thành việc kiểm tra tại respone header thì nội dung trong phần body sẽ được kiểm tra so trùng với mẫu trong tập lệnh. Việc này là khá hiệu quả để phát hiện và phòng chống xâm nhập trong trường hợp bước 1 và 2 không phát hiện được tấn công.
Ví dụ: trong khai thác SQL injection, nếu hacker cố gắng sử dụng một số công nghệ evasion thì việc phát hiện khi request là khó khăn. Khi khai thác thành công, ModSecurity sẽ phân tích kết quả trong gói tin trả về để phát hiện nếu như câu truy vấn thành công.
Bước 5 Logging: Việc ghi nhật ký log sẽ ghi nhận các cảnh báo cũng như quy trình làm việc của ModSecurity.
2.3. Kiểu biếncủa ModSecurity
ModSecurity sử dụng hai loại biến, loại thứ nhất là các biến chuẩn (standard variable) chỉ chứa một giá trị đơn ứng với mỗi biến, và loại thứ hai là các biến tập (collection variable) có thể chứa nhiều giá trị ứng với một biến. Ví dụ về biến tập như REQUEST_HEADER, nó chứa tất cả giá trị trường header của một thông điệp HTTP.
Để truy cập vào các trường trong 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 các biến tập có thể được sử dụng độc lập mà không cần chỉ đị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 mọi trường trong tập đó.
Một số biến tập có các trường cố định (vd: GEO có country_name, city,...) nhưng một số lại có các trường không cố định, tùy thuộc vào nội dung máy khách gửi đến. Trong các biến tập, có thể truy cập tới các trường không tồn tại hoặc trường đó không được gán giá trị mà không phát sinh lỗi. Điều này cần ghi nhớ trong trường hợp sửa lỗi, có thể bỏ qua khả năng trường giá trị trong biến tập không tồn tại hoặc không được gán giá trị.
Bảng 2.1: Biến chuẩn của ModSecurity
Biến chuẩn Ý nghĩa
REMOTE_ADDR Địa chỉ IP của máy khách
REMOTE_HOST hostname của 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, ít dùng) REQUEST_METHOD Request Method (GET, HEAD, POST.) SCRIPT_FILENAME Đường dẫn đầy đủ của script được thực thi
PATH_INFO Phần mở rộng của URI phía sau tên của một script, ví dụ: /archive.php/5 thì PATH_INFO là /5
QUERY_STRING URI phía sau dấu ?