Thursday, December 20, 2012

Chống tấn công cơ sở dữ liệu trong Joomla


Joomla! là một nền tảng mã nguồn mở được viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ liệu MySQL, cho phép người dùng có thể dễ dàng soạn thảo và xuất bản các nội dung (bài viết, tài liệu...) của họ lên Internet hoặc Intranet.
Joomla! giúp xây dựng và thiết kế website bán hàng website blog, website tin tức, website thương mại điện tử... cho tới mạng cộng đồng, mạng xã hội trong một thời gian ngắn và tiết kiệm nhiều công sức.

Hiện nay, Joomla! được sử dụng phổ biến để xây dựng các website, từ những website cá nhân đến những hệ thống website doanh nghiệp, đặc biệt là các website báo, tạp chí điện tử.
Do lập trình bất cẩn mà các website bằng Joomla thường xuyên bị các hacker tấn công mà đã phần chủ yếu là thông qua các truy vấn SQL để tấn công vào cơ sở dữ liệu. Vậy khi xây dựng website bằng Joomla chúng ta cần lưu ý khi thiết kế.

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.
thay đổi tiền tố 

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')

Không dùng mã bí mật mặc định '$secret'

Joomla cung cấp một mã bí mật '$secret' đặt trong file "configuration.php". Mã này được kết hợp với mật khẩu và hàm MD5 để tạo ra một mật khẩu được mã hóa rất mạnh (không thể dò ngược) - tất nhiên với điều kiện mã $secret là ngẫu nhiên và chỉ mình bạn biết.
Mở file "configuration.php" tìm biến '$secret' và thay bằng một chuỗi ký tự ngẫu nhiên (không dùng chuỗi mặc định của Joomla). VD:
<?php
class JConfig {
    //...
    var $secret = '2rsf820gaygwer33ty';
    //...
}
?>

0 comments:

Post a Comment