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 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...