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 các bước cơ bản để bảo mật cho Website Joomla và giảm thiểu các nguy cơ tấn công từ Internet.

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

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.

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

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

Điềuquan 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ộ.

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

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

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

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

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

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

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

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

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

13. Đổ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.

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

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

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. Ngăn liệt kê File trong Folder:

Đặt một file index.html trong tất cả các Folder của Website để ngăn chặn việc liệt kê các File có trong các Folder đó, có thể tạo một file html rổng hoặc copy file index.html có sẵn trong các Folder của Joomla!

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