7 cách tối ưu hóa bảo mật cho Joomla

03/07/2012

Dù bạn có làm với bất kỳ hệ quản trị CMS nào thì việc bảo mật cho trang web của bạn luôn luôn được đặt lên hàng đầu, Joomla cũng vậy, do đặc thù là mã nguồn mở nên cũng rất dễ bị hack, tuy nhiên nếu bạn biết cách , bạn có thể tối ưu được khả năng bảo mật của joomla và mang lại an toàn cho web của bạn. Bạn phải luôn luôn nhớ backup (sao lưu) lại web của bạn và cơ sở dữ liệu để nhỡ khi trang của bạn bị hack thì bạn vẫn có thể phục hồi lại trang web. Hôm nay mình sẽ chia sẻ với các bạn 7 cách mà mình vẫn hay thường dùng với trang web của mình.

7 cách tối ưu hóa bảo mật cho Joomla

1. Thay đổi tiền tố (prefix) jos_ mặc định trong cơ sở dữ liệu

Hầu hết các haker đều tập trung  lấy dữ liệu từ bảng jos_users trong cở sở dữ liệu của bạn. Bằng cách này họ có thể lấy được usernamepassword đăng nhập hệ thống, bạn hãy thay đổi tiền tố mặc định mà khi cài đặt joomla bạn đã vô tình không thay đổi, bằng cách thay đổi điều này web của bạn sẽ được tăng mức độ bảo mật lên 1 bậc.
Nếu như bạn đã cài đặt mà muốn thay đổi tiền tố này thì bạn có thể làm như sau:
– Đăng nhập vào hệ quản trị nội dung (Back-end)
– Bạn vào Global Configuration và tìm kiếm mục database
– Thay đổi tiền tố jos_ thành tiền tố khác mà bạn muốn ( ví dụ là fdsqw_) và nhấn Save, nhớ là tiền tố càng khó đoán thì mức bảo mật của bạn càng cao.
– Xong bước trên các bạn vào phpMyAdmin và truy xuất vào cơ sở dữ liệu.
– Chọn export, sau đó nhấn Start, việc này có thể mất một chút thời gian
– Sau khi bạn đã export xong, bạn mở file có đuôi .sql mà bạn mới làm  và mở nó bằng trình soạn thảo nào đó ( ví dụ như notepad chẳng hạn)
– Sau đó nhấn nút Search & replace (Ctrl + H), tìm dòng chữ jos_ và thay thế nó bằng tiền tố mà bạn muốn ( ví dụ fdasqw_), sau đó nhấn Replace All
–  Bây giờ bạn vào lại cơ sở dữ liệu trong phpMyAdmin , xóa hết dữ liệu trong đó, rồi sau đó import lại cơ sở dữ liệu mà bạn đã sửa tiền tố trước đó.

2 Xóa bỏ thông tin phiên bản của các thành phần mở rộng ( version number Extensions)

Nếu bạn để hiện thị phiên bản của các thành phần mở rộng (như module, plugin, component) thì hacker sẽ biết được bạn đang sử dụng ở phiên bản nào và chúng sẽ dùng những đoạn code nhất định để hack cho phiên bản đó vì thế hiển thị phiên bản cho các thành phần mở rộng là một điều không tốt chút nào. Bạn có thể xóa bỏ những dòng thông tin này bằng cách vào các file .xml trong folder của plugin hay module , component của bạn, và xóa các dòng chữ hiển thị phiên bản của Extension đó.

3 Sử dụng SEF component

Hầu hết các hacker đều sử dụng lệnh Google inurl: để khai thác các lỗ hổng trên các trang web, vì thế mình khuyên các bạn nên sử dụng Artio, SH404SEF, hoặc  các SEF component khác để re-write đường dẫn của bạn , điều này sẽ ngăn ngừa hacker tìm được các lỗ hổng qua các đường dẫn.

4 Luôn luôn kiểm tra và cập nhật phiên bản mới nhất cho joomla và các thành phần mở rộng.

Bạn nên nhớ rằng các lỗ hổng luôn luôn được cập nhật cho các phiên bản mới nhất. vì thế bạn nên siêng năng update , để trang web của bạn an toàn hơn.

5 Sử dụng đúng quyền CHMOD cho mỗi file và folder

Mình xin gợi ý các quyền cho các folder và file như sau :
–   PHP files: 644
–   Config files: 666
–  folder khác : 755

6 Xóa hết những file không dùng tới

Khi bạn cài đặt module hay plugin , nhưng bạn lại không muốn dùng nữa thì nên xóa bỏ nó tận gốc bằng cách dùng chức năng install/unistall trong joomla, không nên để nó ở dạng unpulished.

7. Thay đổi file .htaccess

Bạn hãy chèn thêm đoạn code sau vào file .htaccess của bạn, để khóa lại một số lỗ hổng chung

########## Begin - Rewrite rules to block out some common exploits
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Block out any script that includes a < script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script that tries to set CONFIG_EXT (com_extcal2 issue)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Block out any script that tries to set sbp or sb_authorname via URL (simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

Hy vòng 7 cách trên sẽ giúp bạn bảo mật tốt hơn cho trang joomla của mình, chúc các bạn thành công !

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !