Ứng dụng nội bộ

Một phần của tài liệu Nghiên cứu bảo mật thông tin cho hệ thống website (Trang 86)

Ứng dụng công nghệ thông tin trong các hoạt động chuyên môn:

Hiện tại nhà trường đã đầu tư các phần mềm Quản lý đào tạo, pần mềm Quản lý hành chính, phần mềm Quản lý tài chính.

Phần mềm Quản lý đào tạo được Nhà trường đầu tư từ năm 2009 hiện tại đã được năng cấp phiên bản năm 2015 và bổ sung Modul phần mềm quản lý hành chính phục vụ tốt các công việc quản lý đào tạo trong Nhà trường.

Thư viện điện tử công cụ:

Nhà trường đang sử dụng mạng nội bộ để tra cứu sách tài liệu tham khảo phục vụ học thuật, học liệu cho sinh viên. Có trang thông tin thư viện để học sinh sinh viên tra cứu http://lib-vuted.edu.vn

Hiện tại chưa có hệ thống thư điện tử công vụ, hầu hết các cán bộ, giảng viên của nhà trường đang sử dụng hệ thống email miễn phí như: gmail.com, yahoo.com ...

3.2. Hiện trạng Website trƣờng Đại học Sƣ Phạm Kỹ thuật vinh

Hình 3.2. Website trường Đại học ư phạm Kỹ thuật Vinh

Website lấy tên miền là vuted.edu.vn (địa chỉ IP là 123.30.185.161) được đặt tại máy chủ của nhà trường. Website được thiết kế theo hướng mở, cho phép nâng cấp và cập nhật thêm các tính năng mới.

3.3. Tấn công từ chối dịch vụ (DoS) 3.3.1. Giới thiệu về tấn công mô phỏng 3.3.1. Giới thiệu về tấn công mô phỏng

Cuộc tấn công DoS trong thực nghiệm dưới đây chỉ mang tính minh họa cho lý thuyết ở trên không mang tính phá hoại nên chỉ sử dụng công cụ có tính năng nhẹ nhằm giảm tính phá hoại hệ thống. Công cụ sử dụng ở đây là DoSHTTP 2.5.1, là công cụ có tính phá hoại nhẹ và cũng là công cụ giúp đỡ cho các quản trị viên kiểm tra và đánh giá hiệu năng của máy chủ web nhằm đảm bảo tính ổn định và đưa ra các giải pháp tốt nhất cho hệ thống.

3.3.2. Công cụ và các bƣớc chuẩn bị

- Phần mềm DoSHTTP 2.5.1

- Phần mềm phân tích gói tin WireShark

3.3.3. Tiến hành tấn công

Cuộc tấn công với công cụ DoSHTTP 2.5.1 sẽ liên tiếp tạo các resquest từ client với một IP nguồn đến server web làm cho ngập băng thông của server. Khi đó các client hợp lệ truy cập vào server web sẽ bị từ chối.

Các bước thực hiện cuộc tấn công : - Bước 1 : Cài đặt DoSHTTP 2.5.1

Hình 3.3. Cài đ t DoSHTTP 2.5.1

- Bước 2 : Bật WireShark

- Bước 3 : Vào Website mục tiêu để kiểm tra => www.vuted.edu.vn

Hình 3.5. website mục tiêu kiểm tra

- Bước 4 : Kiểm tra WireShark thấy các kết nối tới www.vuted.edu.vn tuy có nhiều gói tin bị mất khi truy cập nhưng nhìn chung việc truy cập trang web vẫn diễn ra bình thường.

- Bước 5 : Xác định mục tiêu và bắt đầu tấn công là www.vuted.edu.vn

Hình 3.7. X c định mục tiêu và bắt đầu tấn công

- Bước 6 : Kiểm tra các kết nối trong WireShark khi tấn công, các gói tin HTTP rớt hoàn toàn, chỉ có các gói tin TCP gửi đến để thực hiện kết nối theo 3 bước bắt tay là được nhận và có hồi đáp bằng gói tin ACK từ ww.vuted.edu.vn.

Hình 3.8. Kiểm tra các kết nối trong WireShark khi tấn công

- Bước 7 : Kiểm tra website bằng cách vào lại lần nữa và đồng thời mở một trang web bất kỳ ở cửa sổ khác (ở đây là trang www.vied.vn) ta thấy rằng

www.vuted.edu.vn không thể truy cập vào được trong khi đó trang www.vied.vn

Hình 3.9. Kiểm tra lại website

- Bước 8 : Tắt phần mềm

Hình 3.10. Tắt phần mềm DoSHTTP

- Bước 9 : File báo cáo sau khi sử dụng phần mềm DoSHTTP 2.5.1

3.4. Đánh giá

Dựa vào kết quả mô phỏng ta đã phần nào hiểu hơn về việc thế nào là tấn công từ chối dịch vụ (DoS). Qua đó chứng minh cho ta thấy tính phá hoại của cuộc tấn công DoS gây hậu quả thế nào với hệ thống, nó làm cho hệ thống bị nghẽn và nếu là một cuộc tấn công quy mô lớn thì có thể làm cho hệ thống bị reboot và nếu hệ thống đó liên quan đến tài chính thì có thể ảnh hưởng không nhỏ đến tài chính của công ty, ngân hàng…

Chương 3 đã mô phỏng về cách thức của một cuộc tấn công từ chối dịch vụ như thế nào. Đồng thời cũng cho thấy hậu quả của nó gây ra, đưa ra được một số biện pháp ngăn chặn thiết thực.

3.5. Giải pháp chống DoS đƣợc đƣa ra cho website trƣờng Đại học Sƣ phạm Kỹ thuật vinh

- Tăng băng thông kết nối tạm thời để giải quyết lượng truy cập vào website. - Phân tán lượng truy cập đến một máy chủ khác với băng thông lớn.

- Thiết lập và cân bằng tải hệ thống máy chủ để tăng thời gian chống DoS.

- Cấu hình lại máy chủ, thiết lập thông số tường lửa để sàng lọc các địa chỉ IP có dấu hiệu truy cập ảo.

Hiện nay trên thế giới có rất nhiều cách phòng chống DoS nói chung và phòng chống DoS cho máy chủ Web nói riêng như sử dụng Firewall, triển khai IPS (Intrusion Prevention System – Hệ thống chống xâm nhập), load balancing (cân bằng tải)… Có thể đơn cử ra một vài công cụ cụ thể như:

- Firewall mềm:

+ Skyeagle anti – DDoS firewall

+ FortGuard Anti – DdoS Firewall Standard - IPS:

+ Lokkit + Snort + Untangle

Trong luận văn này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline và Iptables để đề xuất giải pháp phòng chống DoS cho máy chủ web cũng như cho website của nhà trường [8], [10], [11].

(i). Đối với Iptables

Để xây dựng Firewall cho một hệ thống mạng chi phí thường rất cao nếu chúng ta mua những sản phẩm thương mại. Iptables là phần mềm mã nguồn mở miễn phí, tích hợp sẵn trên hệ điều hành linux, có thể triển khai trên hệ thống mạng vừa và nhỏ.

Ban đầu Firewall/NAT chạy trên Linux là Ipchains nhưng do thiếu sót lỗi về mặt kỹ thuật chạy không ổn định. Tổ chức Netfilter quyết định viết ra phần mềm khắc phục những lỗi đó và sản phẩm Iptables được ra đời nhằm tăng tính năng lọc gói tin, bảo mật trên hệ thống Linux. Tích hợp tốt trên nhân Linux (Kernel Linux), thiết kế modul cụ thể nâng cao tốc độ và độ tin cậy, có khả năng phân tích gói tin hiệu quả.

Iptables lọc gói tin dựa trên địa chỉ MAC và các giá trị của những cờ hiệu trong phần đầu TCP header của gói tin. Điều này là hữu ích trong việc phòng chống các cuộc tấn công bằng cách sử dụng các gói dữ liệu bị thay đổi và hạn chế truy cập đến máy chủ local từ những máy chủ khác có cùng địa chỉ IP.

Iptables cung cấp chi tiết các tùy chọn để ghi nhận các sự kiện xảy ra trong hệ thống, cung cấp kỹ thuật NAT. NAT từ trong nội bộ ra ngoài và ngược lại. Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu từ chối dịch vụ (DoS).

C c tính năng của Iptables:

Tích hợp tốt trên Linux Kernel, để cải thiện sự tin cậy và tốc độ chạy Iptables. Quan sát kỹ tất cả các gói dữ liệu, điều này cho phép firewall theo dõi mỗi một kết nối thông qua nó và xem xét nội dung của từng luồng dữ liệu để từ đó xử lý bước tiếp theo sử dụng các giao thức. Điều này rất quan trọng trong việc hỗ trợ các giao thức FTP, DNS …

Lọc gói dựa trên địa chỉ MAC và các cờ trong TCP header. Điều này giúp ngăn chặn việc tấn công bằng cách sử dụng các gói dị dạng (malformed packets) và ngăn chặn việc truy cập từ nội bộ đến một mạng khác bất chấp IP của nó.

Ghi chép hệ thống (System logging) cho phép việc điều chỉnh mức độ báo cáo. Hỗ trợ việc tích hợp các chương trình Web proxy như Squid. Ngăn chặn các kiểu tấn công từ chối dịch vụ.

Cơ chế hoạt động Iptables:

Tất cả mọi gói dữ liệu đều được kiểm tra bởi Iptables, quá trình kiểm tra được thực hiện một cách tuần tự dùng các bảng xây dựng sẵn (queues).

Loại Queue Chức năng Queue Quy tắc xử lý gói (Chain)

Chức năng của Chain

Filter Lọc gói

Input Lọc gói đi đến

firewall

Forward

Lọc gói dữ liệu đi đến các server khác kết nối trên các NIC khác của firewall

Output Lọc gói đi ra khỏi firewall NAT Network Address Translation (Biên dịch địa chỉ mạng) Prerouting

Việc thay đổi địa chỉ diễn ra trước khi định tuyến. Thay đổi địa chỉ đích sẽ giúp gói dữ liệu phù hợp với bảng định tuyến của firewall. Sử dụng destination NAT hay DNAT Postrouting

Việc thay đổi địa chỉ diễn ra sau khi định tuyến. Sử dụng source NAT hay SNAT

Output

NAT sử dụng cho các gói dữ liệu xuất phát từ firewall Mangle Chỉnh sửa TCP header Prerouting Postrouting Output Input Forward Điều chỉnh các bit quy dịch chất lượng dịch vụ trước khi dẫn đường

Mangle table: Chịu trách nhiệm thay đổi các bits chất lượng dịch vụ trong

TCP header như: TOS (type of service), TTL (time to live) và MARK.

Filter queue: Chịu trách nhiệm thiết lập bộ lọc (packet filtering). Nó gồm

có ba quy tắc nhỏ (chain) để thiết lập các nguyên tắc lọc gói, bao gồm:

Forward chain: Lọc gói khi đi đến các server khác.

Input chain: Lọc gói khi đi vào trong server.

NAT queue: Thực hiện chức năng NAT (Network Address Translation) gồm có hai loại:

Pre-routing chain: NAT từ ngoài vào trong nội bộ. Quá trình NAT sẽ thực hiện trước khi thực thi cơ chế định tuyến (routing). Điều này thuận lợi cho việc đổi địa chỉ đích để địa chỉ tương thích với bảng định tuyến của firewall, được gọi là NAT đích destination NAT hay DNAT.

Post-routing chain: NAT từ trong ra ngoài. Quá trình NAT sẽ thực hiện sau khi thực hiện cơ chế định tuyến, quá trình này nhằm thay đổi địa chỉ nguồn của gói tin. Kỹ thuật này được gọi là NAT one-to-one hoặc many-to-one, được gọi là Source NAT hay SNAT.

(ii). Đối với Snort inline:

Là một phiên bản sửa đổi của snort (IDS-Instruction Detection System). Nó chấp nhận các gói tin từ Iptables và IPFW qua libipq (Linux) hoặc làm chệch hướng các socket (FreeBSD). Nó nhận được các gói tin được gửi từ Netfilter firewall với sự trợ giúp của thư viện linipq, so sánh chúng với các dấu hiệu xâm nhập của snort và sẽ drop chúng nếu giống với các bộ luật được thiết lập sẵn. Sau cùng gửi chúng lại Netfilter nơi mà snort inline drop các gói tin.

Snort inline là một phần mềm phát hiện xâm nhập mã nguồn mở hoạt động dựa trên các dấu hiệu cho phép giám sát, phát hiện những dấu hiệu tấn công mạng. Snort được nhiều tổ chức, doanh nghiệp phát triển và biến thành sản phẩm thương mại như Sourcefire, Astaro…

Snort inline chủ yếu là một IPS dựa trên luật, tuy nhiên các input plug-in cũng tồn tại để phát hiện sự bất thường trong các header của giao thức. Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửa bởi người quản trị. Các luật được nhóm thành các kiểu. Các luật thuộc về mỗi loại được lưu trong các file khác nhau. File cấu hình chính của Snort inline là snort.conf. Snort inline đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ liệu. Tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự tinh tế, vì chúng ta càng sử dụng nhiều luật thì năng lực xử lý càng được đòi hỏi để thu thập dữ liệu trong thực tế. Snort inline có một tập hợp các luật được định nghĩa trước để phát hiện các hành động xâm nhập. Các luật trên snort inline có tính mở, cho phép người quản trị mạng tạo ra các luật mới và chúng ta có thể thêm vào các luật của chính mình. Chúng ta có thể xóa một vài luật đã được tạo trước để tránh việc báo động sai.

C c đ c điểm chính của Snort inline:

- Có khả năng phát hiện một số lượng lớn các kiểu thăm dò, xâm nhập khác nhau như: Buffer overflow, CGI-attack, dò tìm hệ điều hành, ICMP, virus…

- Phát hiện nhanh các xâm nhập theo thời gian thực.

- Cung cấp cho nhà quản trị các thông tin cần thiết để xử lý các sự cố khi bị xâm nhập.

- Giúp người quản trị tự đặt ra các dấu hiệu xâm nhập mới một cách dễ dàng.

- Là phần mềm mã nguồn mở và không tốn kém chi phí đầu tư.

Hình. 3.12. Mô hình IP Snort Các thành phần của Snort inline:

Snort inline được xây dựng với mục đích thỏa mãn các tính năng cơ bản sau: Có hiệu năng cao, đơn giản và có tính uyển chuyển cao.

Các Thành phần chính của Snort gồm có (Các thành phần này dựa trên cơ sở của thư viện Libpcap, là thư viện cung cấp khả năng lắng nghe và lọc packet trên mạng):

Hình. 3.13. Quá trình xử lý gói

Bộ packet sniffer (Bộ bắt gói): Bộ bắt gói là một thiết bị (phần cứng hay phần mềm) được đặt vào trong hệ thống, làm nhiệm vụ bắt lưu lượng ra vào trong mạng. Bộ bắt gói cho phép một ứng dụng hay một thiết bị có khả năng nghe lén toàn bộ dữ liệu đi trong hệ thống mạng.

Bộ Preprocessor (Bộ tiền xử lý): Sau khi bắt được toàn bộ các gói tin, lúc này các gói tin sẽ được chuyển đến bộ tiền xử lý để kiểm tra các gói tin có hợp lệ hay không. Bộ tiền xử lý sẽ so sánh các gói tin này với các plug-in (ví dụ như RPC Plug-in, HTTP Plug-in, port scanning Plug-in,…). Các gói tin sẽ được kiểm tra hành vi xem có khớp với các hành vi được nêu trong plug-in hay chưa, nếu đã khớp rồi, các gói tin này sẽ được chuyển đến bộ phận phát hiện xâm nhập.

Bộ phát hiện (Detection engine): Sau khi các gói tin đi qua bộ tiền xử lý, chúng được chuyển đến bộ phận phát hiện xâm nhập. Nếu một gói tin giống với bất kỳ luật nào, chúng sẽ được gửi đến bộ xử lý cảnh báo. Mỗi dấu hiệu xâm nhập sẽ được thể hiện bằng một luật (rule). Vậy Snort quản lý tập các luật như thế nào? Snort dùng cấu trúc dữ liệu để quản lý các luật gọi là Chain Headers và Chain OptionS. Cấu trúc dữ liệu này bao gồm một dãy các header và mỗi Header sẽ liên kết đến dãy các Option. Sở dĩ dựa trên các Header là vì đây là thành phần ít thay đổi của những luật được viết cho cùng một kiểu phát hiện xâm nhập và Option là thành phần dễ được sửa đổi nhất.

Hệ thống ghi và cảnh báo (Logging và Alerting): Dùng để thông báo cho quản trị mạng và ghi nhận lại các hành động xâm nhập hệ thống.

(iii). So sánh giữa Iptables và Snort inline:

- Iptables: Là hệ thống ngăn chặn xâm nhập. Có khả năng phát hiện các cuộc tấn công và tự động ngăn chặn các cuộc tấn công đó. Iptables được đặt ở vành đai mạng, đủ khả năng bảo vệ tất cả các thiết bị trong mạng.

- Snort inline: Là hệ thống phát hiện xâ nhập. Dùng để thực hiện việc giám sát, theo dõi và thu thập thông tin từ nhiều nguồn khác nhau. Snort inline nằm phía sai firewall.

Với nội dung của đề tài là chống tấn công từ chối dịch vụ nên qua thực nghiệm kiểm tra chúng ta thấy Iptables làm việc rất hiệu quả, đã giới hạn được số lượng các package gửi đến, làm cho hệ thống của chúng ta chống lại được tấn công theo kiểu “ngập lụt” hệ thống. Các tùy chọn rất linh hoạt, chúng ta có thể thiết lập luật tùy theo mức độ cho phép số lượng gói tin vào hệ thống.

Việc sử dụng kết hợp Iptables với Snort inline sẽ tạo được một hệ thống IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh khi cần thiết.

Ngoài ra ta có thể sử dụng tường lửa FortGuard Firewall để thực hiện chống DoS cài đặt trên máy chủ Website. FortGuard Firewall là một giải pháp

Một phần của tài liệu Nghiên cứu bảo mật thông tin cho hệ thống website (Trang 86)

Tải bản đầy đủ (PDF)

(100 trang)