BẢO MẬT CỔNG THÔNG TIN

Một phần của tài liệu Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT nội dung và đào tạo (Trang 77 - 83)

3.3.1. Các nguy cơ bảo mật

Với sự phát triển nhanh chóng của mạng internet và đặc biệt là các công nghệ, ngôn ngữ xây dựng website, kèm theo đó là vấn đề bảo vệ các tài nguyên thông tin trên website, tránh sự mất mát, xâm phạm là việc cần thiết và cấp bách đối với mất cứ một website nào khi đưa vào vận hành.

Được xây dựng trên nền tảng Joomla1.5, loại mã nguồn đã được cộng đồng mã nguồn mở đánh giá có tính bảo mật rất cao. Nhưng không vì thế mà các website Joomla 1.5 có thể an toàn tuyệt đối. Và cổng thông tin điện tử và hỗ trợ việc làm cũng không ngoại lệ. Nguy cơ bảo mật phần lớn xuất phát từ các thành phần mở rộng của các hãng thứ ba. XSS và SQL Injection là các lỗ hổng bảo mật tầng ứng dụng thường gặp nhất trên hệ thống website Joomla:

- XSS: Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kỹ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm được chèn vào hầu hết các form, đường link của website được viết bằng Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML.

XSS chỉ gây tổn hại đối với những người truy cập website, không nguy hại đến phía web server.

- SQL injection: là một kỹ thuật điền vào những đoạn mã SQL bất hợp pháp cho phép khai thác một lỗ hổng bảo mật tồn tại trong cơ sở dữ liệu của một ứng dụng. Lỗ hổng bảo mật này có thể xuất hiện khi ứng dụng không có đoạn mã kiểm tra chuỗi ký tự thoát nhúng trong câu truy vấn SQL hoặc do sự định kiểu đầu vào không rõ ràng hay do lỗi cú pháp SQL của lập trình viên khiến cho một đoạn mã ngoại lai có thể được xử lý ngoài ý muốn. Nó là một ví dụ của sự rủi ro khi một ngôn ngữ lập trình hay ngôn ngữ kịch bản được nhúng trong một ngôn ngữ khác. Tấn công SQL injection còn có thể hiểu là hình thức tấn công chèn bất hợp pháp các đoạn mã SQL.

3.3.2. Đề xuất giải pháp bảo mật

Quy trình bảo mật website phải được triển khai trên cả bảy lớp của mô hình tham chiếu OSI. Trong phạm vi đồ án này, Tôi chỉ nghiên cứu và áp dụng các biện pháp bảo mật cơ bản trên tầng ứng dụng web.

3.3.2.1. Bảo mật cho trang quản trị bằng cookie

Ý tưởng của giải pháp này là sử dụng chứng thực bằng cookie ngăn chặn mọi truy cập trực tiếp tới trang quản trị Joomla bằng đường dẫn thông thường http://tendomain/administrator. Thay vào đó, người quản trị phải truy cập gián tiếp thông qua một đường dẫn chỉ định khác (chẳng hạn http://tendomain.com/ptnd/viethanit.php ). Các bước thực hiện:

Tạo một thư mục bí mật trên website, chẳng hạn [Joomla]/ptnd. Tạo một file "viethanit.php" trong thư mục bí mật trên với nội dung:

< ?php

$admin_cookie_code="cdntskymakymebktttvi";

setcookie("ViethanitAdminSession",$admin_cookie_code,0,"/"); header("Location: /administrator/index.php");

?>

Thêm nội dung sau tới file ".htaccess" của thư mục /administrator

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/administrator

RewriteCond %{HTTP_COOKIE} ! ViethanitAdminSession = cdntskymakymebktttvi RewriteRule .* - [L,F]

3.3.2.2. Bảo mật trang quản trị bằng cách đặt mật khẩu thư mục

Lớp bảo mật thứ hai để trách truy cập trái phép vào trang quản trị là lớp mật khẩu thư mục bằng cách sử dụng file .htaccess (chỉ hỗ trợ ở máy chủ web Apache). Trước khi chứng thực bằng tài khoản và mật khẩu của cổng thông tin, người dùng khi truy cập vào trang quản trị phải khai báo tài khoản và mật khẩu bảo vệ thư mục. Các bước thực hiện đặt mật khẩu cho thư mục [Joomla]/administrator như sau như sau:

- Tạo file chứa tài khoản và mật khẩu. Mật khẩu sẽ được mã hoá băm MD5 hoặc SHA. Cụ thể, tạo file chứa thông tin chức thực bằng tiện ích htpasswd do Apache cung cấp:

+ Đối với mã hoá mật khẩu theo thuật toán mã hoá MD5, vào giao diện dòng lệnh và thực thi lệnh:

htpasswd –bc /home/btv/vhit.htpasswd quantrivien aA1234567

Máy chủ Apache sẽ tự động tạo file chứa thông tin chứng thực ở đường dẫn

/home/btv/vhit.htpasswd với tài khoản “quantrivien”, mật khẩu “aA1234567” . Có

định dạng:

quantrivien:$apr1$Ph0...$BEE9Nk0OnC5o.1Dbt0t23.

+ Đối với mã hoá mật khẩu theo thuật toán mã hoá SHA, thực hiện tương tự với lệnh

htpasswd –b -sc /home/btv/vhit.htpasswd quantrivien aA1234567

Định dạng file chứng thực sẽ là

quantrivien:{SHA}ip0ylwc4yKMMLb++pg9rEJRyJYc=

Tạo file .htaccess ở thư mục [Joomla]/administrator có nội dung yêu cầu chứng thực và khai báo đường dẫn với file chứa thông tin chứng thực.

AuthGroupFile /dev/null AuthName "Authentication" AuthType Basic

AuthUserFile /home/ptnd/public_html/administrator/vhit.htpasswd require valid-user

3.3.2.3. Bảo mật bằng các component của Joomla

Joomla có nhiều thành phần mở rộng trợ giúp cho việc bảo mật website, trong đó có component Sh404SEF. Component này có khả năng:

- Cản lọc các yêu cầu (request) URL không hợp lệ, vì vậy hạn chế các kiểu tấn công thông thường như SQL injection, Blind SQL injection…

- Anti-flood: Component sẽ tự động cấm những IP có số lượng request quá lớn, đồng thời có ghi log lại quá trình tấn công.

Tuỳ chọn cấu hình danh sách IP được truy cập, danh sách các IP bị cấm...

Ngoài ra, Sh404SEF còn có chức năng khác là tạo đường link thân thiện cho Joomla, tối ưu hoá website với bộ máy tìm kiếm.

Hình 3.58 Cấu hình bảo mật website Joomla với Sh404SEF

Hình 3.59 Cấu hình chống Anti-floood với Sh404SEF

KẾT LUẬN

Kết quả đạt được

o Về lý thuyết:

Nắm được cách thiết kế và quản trị website với hệ quản trị nội dung mã nguồn mở Joomla, hệ quản lý học tập Moodle.

Phân tích, thiết kế hệ thống cổng thông tin điện tử và hỗ trợ việc làm cho TT PTND và Đào tạo

o Về thực hành

- Xây dựng được cổng thông tin điện tử và hỗ trợ việc làm cho TT PTND và Đào tạo với các tính năng chính đề ra: Cổng tin tức, tính năng đăng ký khoá học trực tuyến, tính năng hỗ trợ việc làm.

- Tìm hiểu và vận dụng các biện pháp bảo mật cơ bản cho website Joomla mà cụ thể là cổng thông tin điện tử và hỗ trợ việc làm.

Hạn chế

Do thời gian hạn hẹp, một số tính năng và mục tiêu đề ra chưa hoàn thành:

- Component ký thực tập trực tuyến chỉ mới dừng lại ở mức độ phân tích và thiết kế hệ thống, chưa triển khai viết component

- Chưa xây dựng xong website E-Learning với Moodle

- Các tính năng đã xây dựng mới trong thời gian thử nghiệm, chưa đi vào vận hành nên có thể xuất hiện một số lỗi không đoán trước được.

Hướng mở

Trong thời gian tới, sẽ cố gắng hoàn thành component đăng ký thực tập trực tuyến, E-Learning với moodle

Nghiên cứu triển khai hệ thống web server và bảo mật web Server để đảm bảo vận hành cổng thông tin.

TÀI LIỆU THAM KHẢO

Tài liệu tiếng Việt

[1]. Ks. Hồ Văn Phi, Giáo trình phân tích và thiết kế hệ thống thông tin, Cao Đẳng CNTT Hữu Nghị Việt Hàn.

[2]. Ks. Hồ Văn Phi, Giáo trình Cơ sở dữ liệu và SQL, Cao Đẳng CNTT Hữu Nghị Việt Hàn.

[3]. TS. Dương Kiều Hoa -Tôn Thất Hoà An, Phân tích và thiết kế HTTT theo

UML.

[4]. Tài liệu giới thiệu giải pháp xây dựng giải pháp dạy học trực tuyến E- learning, Asianux Viet Nam.

[5]. TS.Nguyễn Quang Trung, Sử dụng phần mềm nguồn mở trong E-learning [6]. Đại học Hoa Sen , Học liệu chuẩn Scorm.

Tài liệu tiếng Anh

[1].Joomla! 1.5 Installation Manual, Andy Wallace, (03-09-2007).

[2].Barrie M. North, Joomla! A User's Guide: Building a Successful Joomla!

Powered Website, Prentice Hall, December (11 – 2007).

[3]. Jennifer Marriott, The Official Joomla! Book, Addison-Wesley Professional, Elin Waring (Dec -17 - 2010).

[4].Jason Cole, Helen Foster (2008), Using Moodle, O’Reilly.  Internet [1]. http://truongcongnghe.vn [2]. http://moodle.org [3]. http://extensions.joomla.org/ [4]. http://qhdn.nttc.edu.vn/ [5]. http://vi.wikipedia.org/

Ý KIẾN CỦA GIẢNG VIÊN HƯỚNG DẪN ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

Một phần của tài liệu Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT nội dung và đào tạo (Trang 77 - 83)

w