Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

bao mat

01. Luôn cập nhật phiên bản mới nhất (Joomla 1.0.x, Joomla 1.5)

02. Chỉ nên download Joomla! từ website chính thức Joomlacode.org và kiểm tra mã xác thực MD5 (nếu có)

03. Xóa thẳng tay những thư mục hoặc file không còn sử dụng. Sau khi cài đặt thành công Joomla, bạn phải xóa toàn bộ thư mục "installation". Nếu bạn upload lên Host bộ cài Joomla ở định dạng nén (*.zip), bạn cũng cần phải xóa bỏ file nén này. Tốt nhất là không nên để lại file hoặc thư mục gì ngoài gói Joomla.

04. Tăng cường bảo vệ cho file cấu hình "configuration.php" bằng cách chuyển nó ra khỏi thư mục public (thường có tên là public_html). [Xem thêm]

05. Đổi tên tài khoản truy nhập Joomla thay vì tài khoản mặc định "admin". Bước này tưởng chừng rất đơn giản nhưng lại ngăn chặn được khá nhiều cuộc tấn công. [Xem thêm]

06. Chặn các truy vấn nguy hiểm nhờ file ".htaccess" [Xem thêm]

07. Bảo vệ các thư mục nhậy cảm, chẳng hạn thư mục "administrator" thông qua file ".htaccess" [Xem thêm]

08. Giới hạn các IP truy cập tới các thư mục nhậy cảm thông qua file ".htaccess" [Xem thêm]

09. Chọn Host có hỗ trợ PHP5.

10. Sử dụng các công cụ nổi tiếng như PHPsuExec, php_suexecsuPHP.

11. Nếu có thể, hãy yêu cầu Server nạp các module mod_securitymod_rewrite để lọc và chặn các truy vấn nguy hiểm.

12. Sử dụng tài khoản MySQL đã được thiết lập quyền giới hạn (không sử dụng tài khoản root).

13. Cố gắng nâng cấp các đoạn mã sang PHP5. Riêng gói Joomla thì bạn không cần lo lắng vì ngay từ ban đầu nó đã được thiết kế tương thích với PHP5.

14. Cố gắng không sử dụng các thành phần mở rộng yêu cầu "safe_mode" của PHP.

15. Tắt Joomla! Register Globals Emulation trong file "globals.php". [Xem thêm]

define( 'RG_EMULATION', 0 );

16. Thiết lập quyền truy cập (CHMOD) các thư mục sang 755, các file sang 644. Bạn có thể vào Site --> Global Configuration --> Server để thiết lập các quyền này cho thư mục và file. Bạn cũng có thể sử dụng một công cụ FTP như FileZilla, SmartFTP, WS_FTP, Net2FTP... để CHMOD. Lưu ý: Một số thành phần mở rộng trong quá trình cài đặt có thể yêu cầu quyền truy cập 777.

17. Xóa bỏ toàn bộ các template không sử dụng khỏi thư mục "templates" và không đặt bất cứ đoạn mã nhạy cảm nào vào các file trong template.

18. Thuê một chuyên gia bảo mật Joomla! để kiểm tra toàn bộ Website của bạn.

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ức truy 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ỉnh sử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.

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ý

·         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

·               .

Thuật ngữ:

·         Front-end (Frontend): Phần tiền sảnh hay phần mặt trước, phần mặt tiền phía trang chủ mà ai cũng có thể trông thấy.

·         Back-end (Backend): Phần hậu sảnh hay phần quản trị là vùng chỉ dành cho các thành viên có quyền quản trị hệ thống Joomla!.

·         ACL (Access Control List): Danh sách điều khiển truy cập (trong bài viết này sử dụng khái niệm Phân quyền cho dễ hiểu).

Keyword:

·         phân quyền, quản trị, khách, người đăng ký, tác giả, người biên soạn, người xuất bản, quản lý, thành viên, đăng, kiểm duyệt, tiền sảnh, hậu sảnh, tài khoản, danh sách điều khiển truy cập

·         joomla, administrator, manager, publisher, editor, author, registered, guest, front-end, back-end, acl, access control list

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

Top of Form

Ý 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 vùng quản trị Joomla! bằng đường dẫn /administrator (VD: http://vinaora.com/joomla/administrator). Thay vào đó phải truy cập gián tiếp thông qua một đường dẫn chỉ mình bạn biết (chẳng hạn http://vinaora.com/joomla/secret/vinaora.php).

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:

< ?php
    $admin_cookie_code="abcdef123456";
    setcookie("VinaoraAdminSession",$admin_cookie_code,0,"/");
    header("Location: /administrator/index.php");
?>

Bạn nên đổi cặp giá trị cookie "VinaoraAdminSession" & "abcdef123456" bằng những chuỗi ký tự bất kỳ (gồm ký tự chữ cái và ký tự số) để tránh hacker sử dụng công cụ chèn trực tiếp cookie trên vào trình duyệt.
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]

Trong trường hợp HOSTING của bạn không hỗ trợ file .htaccess hãy liên hệ với bộ phận kỹ thuật để được giúp đỡ.

Khi cần truy cập vào trang quản trị hãy gõ đường dẫn: http://yoursite/secret/vinaora.php

·         VD: http://vinaora.com/secret/vinaora.php

Các cách CHMOD cho tệp (file) và thư mục (directory)

Để đả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.

CHMOD là gì? CHMOD= 755 là gì? CHMOD = 644 là gì?

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

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:

·         "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

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)

·         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

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)


CHMOD 644  (rw- r-- r--) cho file

CMOD 755 cho các thư mục, CHMOD 644 cho các file bằng một file PHP

Tạo một file "chmod.php" nằm trong thư mục mà bạn cần CHMOD cho toàn bộ các file, thư mục bên trong nó với nội dung như sau:

<?php

system('find . -type d -exec chmod 755 {} \; 2>&1');

system('find . -type f -exec chmod 644 {} \; 2>&1');

echo("

Complete!");

?>

Sau đó thực thi các dòng lệnh trên bằng cách mở link tới file này. VD:

http://vinaora.com/joomla/chmod.php

CHMOD 755 cho các thư mục, CHMOD 644 cho các file bằng dòng lệnh

Nếu bạn là người quản trị server hoặc có thể thực thi dòng lệnh thông qua SSH thì trước tiên bạn cần chuyển đến thư mục Joomla bằng lệnh "cd" (change directory), sau đó bạn có thể dùng các lệnh sau:

find . -type d -exec chmod 755 {} \;            // dùng để CHMOD cho các thư mục

find . -type f -exec chmod 644 {} \;            // dùng để CHMOD cho các file

 hoặc

find . -type d -print0 | xargs -0 chmod 0775    // dùng để CHMOD cho các thư mục

find . -type f -print0 | xargs -0 chmod 0664    // dùng để CHMOD cho các file

hoặc

chmod -R 755 ./*                                // dùng để CHMOD tất cả các thư mục và file

find . -type f -exec chmod 644 {} \;            // dùng để CHMOD cho các file

 CHMOD bằng các trình quản lý file như "File Manager", "FileZilla"...

 Đối với FileZilla:

·         Chọn"Recurse into subdirectories" để áp dụng thao tác CHMOD cho cả các thư mục con

·         Chọn "Apply to all files and directories" để áp dụng thao tác CHMOD cho tất cả các file và thư mục

·         Chọn "Apply to files only" để chỉ áp dụng thao tác CHMOD cho các file

·         Chọn "Apply to directories only" để chỉ áp dụng thao tác CHMOD cho các thư mục


CHMOD 755  (rwx r-x r-x) cho thư mục  bằng FileZilla

CHMOD 755  (rwx r-x r-x) cho thư mục bằng "File Manager"

Chống tấn công SQL Injection trong Joomla


Hiện Joomla! ngày càng phát triển mạnh mẽ và ngày càng được ứng dụng rộng rãi ở Việt Nam với số lượng các thành phần mở rộng (extensions) từ các hãng thứ ba cũng tăng không ngừng cả về số lượng và chất lượng. Rất nhiều thành phần mở rộng (gồm component, module, plugin, template...) thực sự tuyệt vời và đáng được cài đặt trên mọi Website.

Tuy nhiên, có một thực tế song hành với mặt ưu điểm trên là số lượng các Website bị tấn công thông qua các lỗi lập trình bất cẩn trong các thành phần mở rộng được cài đặt thêm cũng ngày càng tăng cao. Thậm chí số lượng lỗi bị khai thác còn cao hơn cả Microsoft (theo báo cáo 6 tháng đầu năm 2008 của IBM).

Do vậy, ngay từ lúc này, bạn hãy kiểm tra lại toàn bộ hệ thống của mình để đảm bảo: Chỉ cài đặt các thành phần mở rộng thực sự cần thiết, thực sự uy tín và hãy nhờ một người có kinh nghiệm để kiểm tra các đoạn mã, mà một trong số chúng thường bị hacker khai thác - các lỗi phổ biến về truy vấn SQL (thường gọi là SQL Injection).

Đối với người sử dụng cuối (end-user):

Không dùng tiền tố mặc định 'jos_'

Khi cài đặt website, Joomla sử dụng tiền tố mặc định cho các bảng của cơ sở dữ liệu: 'jos_'. Tuy nhiên để tránh sự nhòm ngó của các haker bạn nên đổi tiền tố này.

Không dùng tài khoản mặc định 'admin'

·         Tạo một tài khoản quản trị (Super Administrator) mới thay vì dùng tài khoản mặc định có tên 'admin'

·         Đổi tên và vô hiệu hóa tài khoản mặc định 'admin' mà Joomla đã tạo ra khi cài đặt bằng cách: Mở bảng _users, tìm bản ghi có id=62, đổi username khác 'admin' và thay block bằng '1')

Đối với những người lập trình (developer) thì chú ý những vấn đề sau:

Ép kiểu dữ liệu

Luôn ép kiểu dữ liệu cho các chuỗi đưa vào câu lệnh truy vấn SQL. Thí dụ:

Nếu muốn kiểu dữ liệu là kiểu nguyên (integer) thì sử dụng câu lệnh SQL:

$sql = 'UPDATE #__mytable SET 'id' = ' . (int) $int;

Nếu muốn kiểu dữ liệu là kiểu ngày/tháng (date) thì sử dụng câu lệnh SQL:

$date = & JFactory::getDate($mydate);$sql = 'UPDATE #__mytable SET 'date' = ' . $db->quote( $date->toMySQL(), false);

Luôn gỡ bỏ ý nghĩa của những ký tự đặc biệt

Bạn cần gỡ bỏ ý nghĩa của những ký tự đặc biệt (những ký tự có khả năng gây nguy hiểm cho câu lệnh SQL) nằm trong các chuỗi dữ liệu được đưa vào câu lệnh SQL bằng câu lệnh:

$sql = 'UPDATE #__mytable SET 'string' = ' . $db->quote( $db->getEscaped( $string ), false );

Chống tấn công DOS

Trong các mệnh đề WHERE, nếu bạn có sử dụng lệnh LIKE, hãy đảm bảo rằng bạn đã lọc các ký tự đặc biệt như "%" và "_"  thì sử dụng câu lệnh SQL:

$sql = 'UPDATE #__mytable SET .... WHERE 'string' LIKE '.          $db->quote( $db->getEscaped( $string, true ), false )

Chống tấn công XSS

Rất nhiều người có thói quen lấy dữ liệu nhập vào từ người dùng bằng câu lệnh JRequest::getVar(). Tuy nhiên đây là một thói quen không tốt. Thay vào đó bạn nên sử dụng các phương thức ép kiểu. Thí dụ:

Nếu muốn kiểu số nguyên, dùng câu lệnh:

$int = JRequest::getInt( $name, $default );

Nếu muốn kiểu số thực, dùng câu lệnh:

$float = JRequest::getFloat( $name, $default );

Nếu muốn kiểu logic (đúng/sai), dùng câu lệnh:

$bool = JRequest::getBool( $name, $default );

Nếu muốn kiểu từ (word): chỉ có các ký tự chữ cái và ký tự gạch dưới "_", dùng câu lệnh:

$word = JRequest::getWord( $name, $default );

Nếu muốn kiểu câu lệnh (command): chỉ có các ký tự chữ cái, ký tự số, ký tự "."  và "_", dùng câu lệnh:

$cmd = JRequest::getCMD( $name, $default );

Nếu muốn kiểu văn bản không phải HTML (văn bản đã được lọc bỏ các thẻ HTML), dùng câu lệnh:

$string = JRequest::getString( $name, $default );

Tham khảo thêm:

·         Preventing SQL Injections (tác giả: Anthony Ferrara - Joomla Core Team, bài gốc tiếng Anh)

·         SQL Injection

·         API getEscaped

·         database->getEscaped

Kiểm tra Website Joomla bằng Joomla! HISA

Joomla HISA là một công cụ kiểm tra - bảo mật cho phép:

·         Kiểm tra một HOSTING có đáp ứng các yêu cầu cần thiết để cài đặt Joomla hay không

·         Thông báo các thông số của HOST (tên host, địa chỉ IP...); thông số về PHP, MYSQL...

·         Cảnh báo về các thiết lập không an toàn

·         Cảnh báo về các thư mục chưa được thiết lập đúng quyền hạn

Cũng giống như "Joomla Diagnostics", rất đơn giản bạn chỉ cần tải về công cụ có tên là Joomla! HISA (Joomla! Health, Installation and Security Audit). Sau đó upload 1 file duy nhất (joomla_hisa_en.php) lên Hosting định cài đặt Joomla và xem kết quả.

Phiên bản Joomla HISA hiện tại chỉ cho phép kiểm tra dòng Joomla! 1.0.x (từ Joomla 1.0.10 trở đi)

Quy trình kiểm tra

·         Download Joomla HISA: >> Joomla HISA <<<

·         Giải nén và upload Joomla! HISA: Giải nén, sau đó upload 1 file duy nhất (joomla_hisa_en.php) lên thư mục chứa Joomla

·         Chạy Joomla! HISA: Mở trình duyệt và gõ vào URL tới file "joomla_hisa_en.php".

VD: http://vinaora.com/joomla/joomla_hisa_en.php

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

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

PHP Environment: Thông số về PHP

MySQL Environment: Thông số về MySQL

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

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

Nếu một trong các thiết lập bị cảnh báo bằng màu đỏ thì bạn nên xem bài viết "Xử lý cảnh báo trong quá trình cài đặt và cấu hình Joomla!" để biết cách khắc phục.

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

Để tránh các HACKER nhòm ngó bạn nên thiết lập các thư mục với CHMOD = 755, các tệp với CHMOD = 644

Chú ý:

Thứ nhất, nên đổi tên file joomla_hisa_en.php trước khi upload lên host (Chẳng hạn đổi tên thành vinaora_hisa.php)

Thứ hai, sau khi sử dụng hãy xóa ngay file Joomla Hisa nói trên

Kiểm tra hệ thống file Joomla bằng Joomla Diagnostics

Thông thường sau khi upload Joomla lên Hosting, hoặc sau một quá trình dài sử dụng bạn rất muốn biết liệu thư mục Joomla của mình có bị thiếu file, hư hỏng hoặc bị Hacker chỉnh sửa gì không? Joomla của mình có an toàn không? Thật đơn giản, bạn hãy tìm và download Joomla Diagnostics. Đây là một công cụ miễn phí cho phép xác định rõ:

·         Những file bị thiếu

·         Những file bị hỏng hoặc đã bị chỉnh sửa

·         Những file không an toàn (có thể truy cập trực tiếp từ đường dẫn, do thiếu kiểm tra _VALID_MOS hoặc _JEXEC)

·         Các thiết lập không an toàn (VD: register_globals = off)

Quy trình kiểm tra như sau:

Download Joomla Diagnostics:

·         Xác định rõ phiên bản Joomla mà bạn đang sử dụng: Joomla 1.0.13 hay Joomla 1.5

·         Tìm đúng Joomla Diagnostics cho phiên bản mà bạn đang sử dụng

·         Link download: Joomla Diagnostics

Giải nén Joomla Diagnostics

Giải nén Joomla Diagnostics mà bạn vừa download ở trên (gồm 2 file: diagnostics.phpJoomla...txt) vào thư mục Joomla (nơi có file configuration.php)

·         diagnostics.php: file dùng để kiểm tra

·         joomla...txt: chứa danh sách các file của Joomla và mã kiểm tra tính toàn vẹn (CHECKSUM)

Chạy Joomla Diagnostics

Mở đường dẫn http://website_cua_ban/diagnostics.php

·         VD: http://vinaora.com/diagnostics.php

·         VD: http://vinaora.com/joomla/diagnostics.php

Hình minh họa

9 bước bảo mật Website Joomla!

Top of Form

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. Nhiều quản trị Website chỉ đặt trọng tâm vào việc thiết kế, cập nhật nội dung và già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, tới khi sự việc xảy ra thì đã quá muộn. Bài viết dưới đây sẽ giới thiệu tới các bạn 9 bước để bảo mật cho Website Joomla và giảm thiểu các nguy cơ tấn công từ Internet.

1. 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 Joomlacơ 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ộ.

2. Nâng cấp khi Joomla có phiên bản phát hành ổn định mới nhất.

Nhóm phát triển nòng cốt của Joomla luôn phát hành đều đặn vài tháng một lần phiên bản Joomla mới bao gồm cả các bản vá lỗi bảo mật và và các bản vá tăng cường hiệu suất làm việc, do vậy bạn cần kiểm tra thường xuyên trên website của Joomla (http://www.joomla.org) để kịp thời cập nhật phiên bản mới nhất.

3. Kiểm tra các thành phần mở rộng (module, component, mambot/plugin) của các hãng thứ ba

Một số Website có thể bị tấn công thông qua các lỗi bảo mật nằm trong các thành phần mở rộng được cài đặt thêm từ hãng thứ ba. Do vậy bạn cũng luôn phải chắc chắn rằng nếu mình có cài đặt các thành phần mở rộng từ hãng thứ ba thì đó phải là các phiên bản mới nhất.

Khuyến cáo: Hãy hạn chế tới mức tối đa việc cài đặt các thành phần mở rộng từ hãng thứ ba. Ngoài ra khi bạn quyết định gỡ một thành phần mở rộng nào đó khỏi hệ thống thì bạn cũng xóa cả các bảng cơ sở dữ liệu liên quan.

4. Quyền hạn đối với các thư mục

Sau khi cài đặt các thành phần mở rộng, bạn cần thiết lập quyền hạn đối với các thư mục sang chế độ CHMOD 755.

Lưu ý: Nếu quá trình cài đặt các thành phần mở rộng (component/module/language...) gặp trục trặc bạn cần chuyển các thư mục sau sang CHMOD 777. Khi cài đặt xong lại thiết lập như trên (755 đối với thư mục và 644 đối với file)

components
language
modules
mambots
templates
administrator
administrator/backups
administrator/components
administrator/modules

5. Quyền hạn đối với các tệp

Thiết lập quyền hạn đối với tất cả các tệp của bạn sang chế độ CHMOD 644.

6. Quyền hạn đối với tệp configuration.php

Đây là một điều rất quan trọng. Bạn phải chắc chắn rằng mình đã thiết lập quyền hạn cho tệp "configuration.php" sang CHMOD 644.

7. Bảo mật với .htaccess

Bản phát hành mới nhất của Joomla bao gồm cả phiên bản cập nhật cho tệp ".htaccess" để làm giảm thiểu nguy cơ tấn công từ các hacker. Do vậy bạn cần phải truyền tệp .htaccess này tới server của bạn và đổi quyền hạn sang CHMOD 644.

8. Joomla! Register Globals Emulation.

Bạn cần phải chắc chắn rằng biến "register global emulation" được thiết lập thành OFF. Hãy mở tệp "global.php", tìm dòng define('RG_EMULATION', 1) và đổi nó thành

define('RG_EMULATION', 0)

9. Register Globals

Đảm bảo rằng Register Globals được thiết lập thành OFF. Nếu không hãy liên hệ với Server của bạn để đổi nó thành OFF hoặc mở tệp .htaccess và thêm vào đoạn mã sau

php_flag register_globals off.

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

Top of Form

Việc bảo vệ các file có nội dung quan trọng, các file cấu hình chứa các thông số của hệ thống như: tên database, tên truy nhập, mật khẩu... là rất cần thiết và phải đặc biệt lưu tâm. Trong Joomla có một file như thế - file "configuration.php". Để tăng cường bảo mật cho file "configuration.php" này có nhiều cách, tuy nhiên có một cách hay được sử dụng và đề cập trên các diễn đàn, đó là chuyển file "configuration.php" tới một nơi an toàn, tránh sự nhòm ngó của hacker. Các bước thực hiện như sau:

Giả sử Website Joomla của bạn được đặt trong thư mục "/www/public_html"

www
---|public_html
--------------|configuration.php

·         Chuyển file "configuration.php" ra khỏi "public_html", đặt nó vào một khu vực khác do bạn tự tạo chẳng hạn "/www/private". Đặt cho nó một cái tên mới, chẳng hạn "vinaora_joomla.conf".

www
---|private
-----------|vinaora_joomla.conf

·         Tạo một file "configuration.php" thay thế file cũ nhưng chứa nội dụng sau:

<?php
require( '/www/private/vinaora_joomla.conf' );
?>

·         Đừng để bất cứ khoảng trắng hoặc dòng trắng nào phía trước thẻ "<?php" và phía sau thẻ "?>" và không được lưu nó với UTF-8 nếu không bạn sẽ nhận được thông báo lỗi, đại loại như:

Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/public_html/configuration.php:2) in /home/xxxxx/public_html/index.php on line 250

·         Thiết lập (CHMOD) quyền chỉ đọc cho file "configuration.php" mới này để đảm bảo nó không bị thay đổi nội dung.

·         Khi bạn cần thay đổi các thiết lập cho Joomla hãy thực hiện bằng tay đối với file "vinaora_joomla.conf"

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

Top of Form

Bạn muốn ngăn chặn việc truy cập trái phép vào vùng quản trị, trang administrator (phần backend trong Joomla). Có nhiều giải pháp để thực hiện việc này. Bài viết này xin giới thiệu một cách khá đơn giản nhưng lại hiệu quả với mục đích "Tăng cường thêm một rào cản trước khi truy nhập được file index.php". Áp dụng trên Hosting chạy Apache Server.

Cách thực hiện:

Copy đoạn mã sau và đặt vào đầu của file "index.php" trong thư mục "Joomla\administrator\"

<?php
   
$name='439581667ef694b60d58f213cccf9503';
$pass='439581667ef694b60d58f213cccf9503';

if (!isset($_SERVER['PHP_AUTH_USER'])
                 || md5($_SERVER['PHP_AUTH_USER'])!==$name
                 || md5($_SERVER['PHP_AUTH_PW'])!==$pass)
{
   header('WWW-Authenticate');
   header('HTTP/1.0 401 Unauthorized');
   exit('<a href="http://vinaora.com/">VINAORA</a> : Access Denied');
}
?>

Trong đó

username = vinaora
password = vinaora

Bạn đang đọc truyện trên: Truyen2U.Com

Tags: