1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập chuyên đề_bảo mật website

37 452 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo cáo Thực tập Chuyên đề Bảo mật Website
Tác giả Từ Thị Ngọc Dung
Người hướng dẫn Th.S Nguyễn Đình Luyện
Trường học Trường đại học Quang Trung
Chuyên ngành Kỹ Thuật & Công Nghệ
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Cần Thơ
Định dạng
Số trang 37
Dung lượng 0,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

đồng thời không để đối thủ cạnh tranh cũng như các loại tội phạm tin học sử dụng chính những công nghệ này gây hại.Bảo mật cho website Joomla là một nhân tố quan trọng góp phần bảo vệ We

Trang 1

KHOA KỸ THUẬT & CÔNG NGHỆ

BÁO CÁO THỰC TẬP CHUYÊN

Trang 2

MỤC LỤC

CHMOD cùng lúc thay đổi quyền hạn trên các file/thư mục với các đối

tượng sau: 4

2 CHMOD = 755 4

3 CHMOD = 644 5

CHMOD = 644 cho các tệp (file) có nghĩa là: 5

1 Phân quyền Joomla! ở tiền sảnh (front-end) 10

Bước 1: Tạo một thư mục bí mật chẳng hạn [Joomla]/secret 14

Bước 2: Tạo một file "vinaora.php" trong thư mục bí mật trên với nội dung sau: .14

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

3 Sao lưu toàn bộ Website theo định kỳ 15

Bước 1: Download plugin LazyBackup 18

Bước 2: Cài đặt plugin LazyBackup 18

Bước 3: Mở menu ”Extensions” 18

Chọn mục “Install/Unistall” 18

Trong mục“Upload Package File”, chọn plugin LazyBackup đã download 18

Nhấn nút [Upload Files & Install] 18

Bước 4: Cấu hình plugin LazyBackup 18

Mở menu “Extensions” 18

Chọn mục “Plugin Manager” 18

Tìm đến plugin có tên “LazyBackup” 18

Một số tùy chọn cần lưu ý: 18

V.13.1.Tạo file htpasswd với nội dung sau: 19

V.13.2 Tạo file htaccess với nội dung sau: 19

Upload 2 file trên vào trong thư mục Administrator 19

Quy trình kiểm tra 21

Joomla! HISA sẽ thông báo kết quả 22

Host Environment: Thông số chung của Host 22

PHP Environment: Thông số về PHP 23

MySQL Environment: Thông số về MySQL 23

Joomla! Environment: Các thông số liên quan cho Joomla 23

Required and Recommended Settings: Các yêu cầu bắt buộc và khuyến cáo 23

Directory and File Permissions: Quyền hạn đối với các tệp và thư mục 24

Chú ý: 24

1.1.1 7 Bảo vệ file "configuration.php" khỏi các truy nhập trái phép 25

8 Bảo mật cho trang quản trị administrator bằng mật khẩu 26

Cách thực hiện: 26

9 Kiểm tra mức độ bảo mật của Joomla 27

Bước 2: Tạo một file "vinaora.php" trong thư mục bí mật trên với nội dung sau: .31

Trang 3

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

LỜI MỞ ĐẦU

Bảo mật luôn là vấn đề rất quan trọng trong mọi lĩnh vực kinh tế, chính trị, quân sự, ngoại giao Và đây cũng là một vấn đề đã được nghiên cứu trong hàng nghìn năm nay

Bảo mật cho Website Joomla là một nhân tố quan trọng góp phần bảo vệ Website trước các âm mưu tấn công có chủ đích cũng như vô tình, giúp cho

Website luôn hoạt động ổn định và bền vững

Đối với các doanh nghiệp việc bảo mật thông tin thương mại luôn là vấn đề được đặt ra, đặc biệt trong thời đại hiện nay Khi mà thông tin giữ vai trò quan trọnghàng đầu và các phương tiện truyền thông hiện đại cho phép chúng ta chuyển tin rất

dễ dàng và cũng dễ dàng để mất thông tin Vậy ta có thể làm những gì để sử dụng được các tiện ích của công nghệ thông tin và viễn thông đã mang lại cho thế giới và

Trang 4

đồng thời không để đối thủ cạnh tranh cũng như các loại tội phạm tin học sử dụng chính những công nghệ này gây hại.

Bảo mật cho website Joomla là một nhân tố quan trọng góp phần bảo vệ Website trước các âm mưu tấn công có chủ đích cũng như vô tình Giúp cho

website luôn hoạt động bền vững

Nhiều quản trị website chỉ đặt trọng tâm và việc thiết kế, cập nhật nội dung

và dành thứ hạng cao trong các kết quả tìm kiếm mà quên đi việc đảm bảo an toàn cho website đến khi sự việc xảy ra thì đã quá muộn

Khi thông tin được đảm bảo là an toàn thì sẽ giúp chúng ta tiết kiệm được nhiều chi phí, thời gian…

Nếu thông tin bị tiết lộ hay bị đánh cắp thì thiệt hại sẽ rất nghiêm trọng, có thể dẫn đến phá sản hoặc phải chịu truy cứu trước pháp luật

Xuất phát từ những suy nghĩ như vậy nên em đã quyết định chọn đề tài: “Bảo mậttrong Joomla” Đồ án thực hiện giới thiệu, phân tích, kỹ thuật bảo mật Joomla nhằmtối ưu trang web

Đồ án chia làm 4 chương:

o CHƯƠNG I: MỘT SỐ KHÁI NIỆM LIÊN QUAN

o CHƯƠNG II: CÁC LỖ HỔNG BẢO MẬT CỦA CÁC ỨNG DỤNG WEB

o CHƯƠNG III: BẢO MẬT TRONG JOOMLA

Vì thời gian có hạn cũng như còn hạn chế về kiến thức nên báo cáo của em khó tránh khỏi thiếu sót Em rất mong nhận được sự đóng góp ý kiến của thầy cô giáo và bạn bè

Với lòng biết ơn sâu sắc, em xin chân thành cảm ơn thầy giáo NGUYỄNĐÌNH LUYỆN cùng các thầy cô giáo trong khoa Kỹ Thuật và Công Nghệ và cán bộ

cơ quan Báo Bình Định đã nhiệt tình hướng dẫn giúp em hoàn thành báo cáo này

Trang 5

Em xin chân thành cảm ơn !

Quy Nhơn, tháng 8 năm 2010

Trang 6

NỘI DUNG

CHƯƠNG I: MỘT SỐ KHÁI NIỆM LIÊN QUAN

1 Khái niệm CHMOD

CHMOD định nghĩa đơn giản chính là cụm từ viết tắt của Change Mode - Một lệnh đặc biệt chỉ dùng trên các máy chủ hệ Unix (Linux, Solaris, True64 ) dùng để thay đổi quyền lực của một người bất kỳ đối với một tập tin, thư mục bất kỳ trên một website cụ thể Bằng cách thay đổi chmod, bạn đồng thời gán một quyền lực cho một người nào đó đối với các tập tin, thư mục trong cấu trúc website của bạn

Giá trị chmod luôn được biểu thị bằng một cụm gồm 3 chữ số (***) đại diện cho 3 người gồm: User (Owner - Chủ sở hửu) - Group (Nhóm cộng tác) - Other (Guest - Tất cả mọi người còn lại) và gồm các giá trị gồm 1 (Execute - Thực thi), 2 (Write - Ghi), 4 (Read - Đọc)

Ví dụ 1: chmod: 124 >>> Chủ sở hửu : 1 - Nhóm cộng tác : 2 - Mọi người : 4Chủ sở hửu có quyền gọi thực thi tập tin, thư mục

Nhóm cộng tác có quyền ghi nội dung vào tập tin, thư mục

Mọi người có quyền xem nội dung tập tin, thư mục

Ví dụ 2: chmod: 412 >>> Chủ sở hửu : 4 - Nhóm cộng tác : 1 - Mọi người : 2Chủ sở hửu có quyền xem nội dung tập tin, thư mục

Nhóm cộng tác có quyền gọi thực thi tập tin, thư mục

Mọi người có quyền ghi nội dung vào tập tin, thư mục

CHMOD chính là thao tác thay đổi các quyền sau:

• "Read" (Đọc): viết tắt là "r", và được biểu diễn bằng số 4

• "Write" (Ghi / Chỉnh sửa): viết tắt là "w", và được biểu diễn bằng số 2

• "Execute" (Thực thi): viết tắt là "x", và được biểu diễn bằng số 1

Trang 7

CHMOD cùng lúc thay đổi quyền hạn trên các file/thư mục với các đốitượng sau:

• "Owner" - chủ sở hữu của file/thư mục,

• "Group" - Nhóm mà Owner là thành viên,

• "Public / Others/ Everybody": những người còn lại

CHMOD 755 (rwx r-x r-x) cho thư mục

Lưu ý: Khái niệm CHMOD không tồn tại trên hệ thống Windows, mà chỉ có trên các hệ thống Unix/Linux

2 CHMOD = 755

CHMOD = 755 cho các thư mục có nghĩa là:

• 7 = 4 + 2 + 1 : Người sở hữu thư mục có quyền đọc thư mục (read); chỉnh sửa thư mục (write); liệt kê các thư mục và file bên trong (execute);

• 5 = 4 + 0 + 1 : Những người cùng nhóm chỉ có quyền đọc thư mục (read); liệt kê các thư mục và file bên trong (execute)

Trang 8

• 5 = 4 + 0 + 1 : Những người còn lại chỉ có quyền đọc thư mục (read); liệt kê các thư mục và file bên trong (execute)

CHMOD 755 (rwx r-x r-x) cho thư mục

3 CHMOD = 644

CHMOD = 644 cho các tệp (file) có nghĩa là:

• 6 = 4 + 2 + 0 : Người sở hữu thư mục có quyền đọc tệp (read); chỉnh sửa tệp (write)

• 4 = 4 + 0 + 0 : Những người cùng nhóm chỉ có quyền đọc tệp (read)

• 4 = 4 + 0 + 0 : Những người còn lại chỉ có quyền đọc tệp (read)

Trang 9

CHMOD 644 (rw- r r ) cho file

Trang 10

CHƯƠNG II: CÁC LỖ HỔNG BẢO MẬT CỦA CÁC ỨNG

DỤNG WEB

Sau đây là một vài lỗ hổng bảo mật thường gặp nhất:

• Cross Site Scripting

Các lỗ hổng bảo mật ở trên có thể xuất hiện trong tất cả các ứng dụng web bất

kể nó được phát triển bởi các chuyên gia độc lập hay các công ty phần mềm nổi tiếng nhất Mặc dù vậy, nhờ kiến trúc hệ thống, thông qua việc kiểm tra sản phẩm cuối cùng và tỉ mỉ các lỗ hổng bảo mật trong tất cả các bước phát triển phần mềm lànhân tố cho phép loại trừ được các lỗ hổng bảo mật này

1 Cross Site Scripting (XSS):

Cross Site Scripting hay XSS là khả năng thêm một đoạn mã HTML bất kì vào trang có lỗi bảo mật Đoạn mã code thêm vào sẽ tác động đến tất cả các phươngthức nhập thông tin đầu vào Một ứng dụng web bất kì sẽ hiển thị bất cứ thông tin nào nhận được từ người sử dụng sẽ có nguy cơ lớn bị tấn công Những cuộc tấn công như vậy có thể thực hiện dựa vào các giá trị không được lọc của các biến nhậnđược từ người sử dụng, trong đó có thể chứa các đoạn mã scripts (javaScript,

VBScript) hoặc các thẻ HTML nguy hiểm Kiểu tấn công này có thể được sử dụng

để chặn và bắt các giá trị của cookie của người sử dụng (bao gồm cả người quản trị

Trang 11

hệ thống) và các phiên làm việc (session) Trong một vài trường hợp, nó cho phép đăng nhập vào hệ thống, hoặc nếu hỗ trợ SSI (Server Side Includes) thì còn có thể thực hiện một lệnh bất kì trên server.

Có thể xem thêm thông tin về XSS:

web cache poisioning, deface, “cross-user defacement”, chặn và ăn cắp thông tin

người dùng và Cross site Scritpting

Bạn có thể xem thêm thông tin tại:

http://www.packetstormsecurity.org/papers/general/whitepaper_httpresponse.pdf

3 SQL injection:

SQL injection là phương pháp tấn công cơ sở dữ liệu bằng cách vượt qua tường lửa

Ở phương pháp này các tham số truyền tới CSDL qua ứng dụng web sẽ được kiểm tra khiến cho câu lệnh truy vấn SQL bị sửa chữa Ví dụ bằng cách thêm vào các kí

tự đặc biệt vào tham số, một câu truy vấn bổ sung sẽ được thực hiện

4 Việc tấn công nhằm vào các mục đích sau:

Trang 12

Chiếm được quyền truy cập vào CSDL hoặc lấy được cấu hình hệ thống của CSDL để nhằm mục đích tấn công tiếp sau này Ví dụ một câu truy vấn bị sửa đổi

có thể trả về danh sách người dùng và mật khẩu (bị mã hóa), mật khẩu này có thể được giải mã tiếp sau đó

Chiếm được quyền truy cập vào máy trạm thông qua máy chủ CSDL Điều này có thể thực hiện bằng các hàm, thủ tục của hệ quản trị CSDL và các phần mở rộng 3GL cho phép chạy các ứng dụng khác nhau

5 Code injection:

Nếu một ứng dụng web xử lý động các file đính kèm (included file) hoặc đường dẫn đến file không đúng, thì việc thực thi một đoạn mã bất kì (PHP, ASP…) trên máy chủ, hoặc nhận được nội dung của các file là hoàn toàn có thể Thực thi một cuộc tấn công thành công có thể giúp vượt qua được bước xác thực, và thực thi các lệnh tùy ý trên máy chủ, xem nội dung các file, ghi dữ liệu bất kì vào file…

Trang 13

CHƯƠNG III: BẢO MẬT TRONG JOOMLA

1 Phân quyền Joomla! ở tiền sảnh (front-end)

Ở phần tiền sảnh, Joomla! chia làm 5 nhóm người dùng tương ứng với 5 mứctruy cập khác nhau:

• Guest (Khách): Là những người truy cập, sử dụng website nói chung, họ không sở hữu tài khoản nào trên hệ thống Joomla!

• Registered (Thành viên): Là khách sau khi đăng ký vào của hệ thống

Joomla! và trở thành thành viên chính thức của hệ thống

• Author (Tác giả): Là thành viên có quyền đăng bài hoặc đăng một vài thứ khác mà hệ thống cho phép (chẳng hạn như weblink)

• Editor (Người biên soạn): Là thành viên có quyền đăng, kiểm duyệt và chỉnhsửa tất cả các bài viết (thậm chí cả những bài viết không phải của họ)

• Publisher (Người xuất bản): Là người biên soạn, ngoài ra có thêm quyền quyết định việc phát hành các bài viết (chính thức xuất bản lên Website hay không)

Lưu ý 1: Có thể thiết lập để mặc định tài khoản Khách (Guest) cũng là tài khoản Thành viên (Registered)

Lưu ý 2: Bất cứ thành viên nào thuộc phần hậu sảnh (Back-End) cũng có thể thực hiện các thao tác mà người xuất bản (Publisher) có thể làm

Trang 14

Phân quyền Joomla! ở hậu sảnh (back-end)

Ở phần hậu sảnh, Joomla! chia làm 3 nhóm tài khoản với 3 mức độ quyền hạn khác nhau:

• Manager (Người quản lý): Là tài khoản có quyền thực hiện các thao tác quản

lý cơ bản (quản lý menu, quản lý bài viết )

• Administrator (Quản trị viên): Là tài khoản có quyền thực hiện mọi thao tác, trừ việc quản lý thông tin cấu hình hệ thống, quản lý giao diện, quản lý ngôn ngữ, quản lý các tài khoản siêu quản trị

• Super Administrator (Siêu quản trị): Là tài khoản có đặc quyền cao nhất, có thể thực hiện mọi hành động

Trang 15

Trang 17

Bước 1: Tạo một thư mục bí mật chẳng hạn [Joomla]/secret

Thư mục này nằm cùng mức với thư mục /administrator

Lưu ý: Bạn hoàn toàn có thể sử dụng một thư mục có sẵn (chẳng hạn thư mục /language)

Bước 2: Tạo một file "vinaora.php" trong thư mục bí mật trên với nội dung sau:

Trang 18

Bạn cũng có thể sử dụng một cái tên khác chứ không nhất thiết phải là

"vinaora.php" :)

Bước 3: 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} !VinaoraAdminSession=abcdef123456

RewriteRule * - [L,F]

Để đảm bảo an toàn cho các file và thư mục trong Joomla!, tránh sự nhóm ngó của các hacker thì một trong các yêu cầu quan trọng và phải luôn lưu ý đó là CHMOD cho đúng

Thông thường chúng ta cần thiết lập CHMOD 755 cho các thư mục và CHMOD

644 cho các file

3 Sao lưu toàn bộ Website theo định kỳ

Điều đầu tiên và cũng là quan trọng nhất là bạn phải thường xuyên sao lưu toàn bộ Website bao gồm cả thư mục chứa Joomla và cơ sở dữ liệu MySQL Hãy lập lịch ít nhất một lần trong tuần (khuyến cáo là mỗi ngày một lần) để thực hiện sao lưu Bạn sẽ tiết kiệm được rất nhiều công sức và tiền của khi Website bị tấn công và chỉ mất vài phút hoặc vài chục phút để khôi phục lại gần như toàn bộ

Sao lưu và phục hồi dữ liệu

Điều đầu tiên quan trọng nhất là phải thường xuyên sao lưu toàn bộ Website bao gồm cả thư mục chứa Joomla và cơ sở dữ liệu MySQL Nên sao lưu ít nhất mộttuần một lần Chúng sẽ tiết kiệm rất nhiều công sức và tiền của khi Website bị tấn công và chỉ mất vài phút hoặc vài chục phút để khôi phục lại toàn bộ

Việc sao lưu dữ liệu ngoài việc chép toàn bộ các thư mục (có dung lượng lớn)

Trang 19

3.1 Công cụ sử dụng Sypex SQL dumper.

Sypex SQL dumper thực sự là không thể thiếu cho việc backup và restore dữ liệu

Nó chỉ có một file duy nhất nhưng hiệu quả làm việc rất tốt Giao diện thân thiện và

có thể backup và restore được dữ liệu có dung lượng lớn

Cài đặt Sypex SQL Dumper

define('DBNAMES', 'cho tên Database vào ở đây');

* Tạo thêm 1 folder backup trên host, ngang với file dump.php Nhớ CHMOD thư mục này thành 775, nếu ko sẽ bị lỗi, ko thực hiện được

Backup database (sao lưu dữ liệu)

* Mở công cụ Sypex Dumper bằng cách chạy link: OpenDNS

* Nhập username và password của cái Database đã cho vào file dum.php

Chọn "Backup / Make a database backup" > chọn database > chọn

"Compression = GZIP" (nếu muốn nén)> chọn mức nén "Compression Level" (9 mức cao nhất)

-* Nhấn "Go" để xuất dữ liệu

Restore database (Khôi phục dữ liệu)

* Mở công cụ Sypex Dumper bằng cách chạy link:

OpenDNS

Trang 20

* Nhập username và password của cái Database đã nhập vào file dum.php

* Chọn "Restore existing backup" > chọn database trong "Restore in Database" > chọn file dữ liệu đã sao lưu trong "Dump File"

* Nhấn "Go" để khôi phục dữ liệu

Dùng Sypex SQL Dumper 1.0.8b để chuyển HOST

Trước hết cũng cài đặt Sypex SQL Dumper 1.0.8b ở Host mới như đã làm ở trên, tức là upload file dum.php lên host mới, tạo folder backup trên host mới CHMOD

775 và nhớ là mở dum.php để thay cái dòng DB Name bằng cái tên Database muốn dùng

Ở trên đã hướng dẫn backup, vậy là ở Host cũ bạn đã có file backup, nếu chưa có thì bạn backup ở host cũ Sau đó upload cái file backup này vào cái thư mục backupmới tạo ở trên cái host mới

Sau đó tiến hành Restore giống như đã hướng dẫn ở trên

Chú ý: nếu bị lỗi font tiếng V khi restore bạn mở file dum.php tìm dòng

3.2 Backup database với LazyBackup

Trong các cách để backup database thì plugin LazyBackup (hay Lazy Backup 2) là

một giải pháp sao lưu dữ liệu khá hay và được nhiều người sử dụng Với nhiều tùy chọn như: Tự động backup và gửi vào một hoặc nhiều email cùng lúc, hẹn giờ backup, không cần những thao tác phức tạp hoặc đòi hỏi kỹ năng hiểu biết cao về

"cron" của Unix hay "scheduled tasks" của Windows, hỗ trợ chuẩn nén gzip và bảo

vệ bằng mật khẩu, dễ dàng cài đặt và quan trọng là miễn phí; Plugin LazyBackup xứng đáng là một món đồ không thể thiếu trong kho extensions của các fan Joomla

Ngày đăng: 27/06/2014, 04:22

HÌNH ẢNH LIÊN QUAN

Hình chụp Scan phần Backend - báo cáo thực tập chuyên đề_bảo mật website
Hình ch ụp Scan phần Backend (Trang 33)

TỪ KHÓA LIÊN QUAN

w