Joyfulld’s Weblog

………………….

[Bảo mật vBulletin] Cách thêm một bảng đăng nhập cho Admin CP

Bảo mật thêm cho diễn đàn vBulletin? Chuyện dở hơi!

Đó là những ý kiến Shacker nhận được sau cuộc thăm dò có quy mô từ Nam ra Bắc với tầm nhìn xa 3cm từ các bạn đang sử dụng hệ thống forum này. Nhưng thật sự phải công nhận vBulletin là một diễn đàn php rất an toàn và ít lỗi hơn so với các diễn đàn khác. Về tính năng thì không phải bàn vì như thế sẽ không công bằng với các hệ thống forum bạn, nhưng về bảo mật thì Shacker đánh giá khá cao sự kỹ lưỡng trong lập trình của các lập trình viên vBulletin. Tuy nhiên, quả quýt dày cũng có móng tay mà lột, không mã script cho web nào được coi là bất khả xâm phạm (ok hix..trừ HTML) , bằng cách này hay cách khác mọi lúc mọi nơi ta điều có thể bị mất quyền sở hữu trang nhà của mình nếu không cẩn thận. vBulletin bảo mật cao, nhưng những MODifications bạn cài thêm vào, các plugin có thể là lổ hổng cho tin tặc lấy cookie hay passharsh để chiếm quyền điều khiển. Lúc đó thì chỉ có nước y như phim bạn mới tìm được cơ hội không bị mất mát dữ liệu. Đó là lý do (hahah cụm từ này dùng wài) mà Shacker viết ra loạt bài viết về hướng dẫn bảo mật cho diễn đàn để cho hệ thống web của bạn an toàn hơn, từ Cài đặt DnP Firewall cho diễn đàn bạn đến Tối ưu tốc độ cho server và tăng tốc diễn đàn …, Shacker mong rằng chúng sẽ có ích cho bạn theo một hướng nào đó.

I – Giả thiết và Kết luận.
Trong tài liệu này, Shacker đưa ra một giả thiết rằng tài khoản Admin trên forum bạn bị ai đó chiếm lấy bất hợp pháp (giả bộ bị chôm passharsh thông qua lỗi SQL Injection từ mod nào đó – gần đây nhất là RPG Inferno 2.4). Tuy hacker không biết rõ password của bạn là gì, nhưng chỉ với thủ thuật giả cookie và vượt qua bảng đăng nhập của Admin CP là coi như forum của bạn mệnh danh đời cô Lựu. Vì thế, vấn đề được đặt ra là làm sao để ngăn cản điều đó, hoặc chí ít giảm bớt rủi ro tin tặc có thể vào ACP một cách dễ dàng? Shacker biết chắc bạn đã có câu trả lời (nhờ đọc cái tiêu đề của bài viết này mà..).

Cách thức hoạt động của bảng yêu cầu mật khẩu này là nó sẽ hiện ra thông báo yêu cầu tên đăng nhập và mật khẩu (khác với tài khoản Admin và chỉ được khai báo từ phía server). Username và Password bạn sẽ thiết lập trong cùng đoạn mã và không ai khác thấy được khi trang web chạy – đây là kiểu khai báo giống như bạn điền thông tin cho tên đăng nhập và mật khẩu để truy xuất và database trong file config.php

Trong trường hợp bảng thông báo này nhận được thông tin không đúng như đã khai báo, nó sẽ trả về 1 trang khác thay vì trang ACP. Và như vậy bạn sẽ có 2 lớp bảo vệ cho trang điều khiển của nhà quản trị -một là khung đăng nhập có sẵn của vBulletin và 2 là bảng popup yêu cầu thông tin đăng nhập phụ này. Kết luận rằng nhờ nó, cho dù có cookie và passharsh cũng sẽ bị cản lại từ trước và bạn không lo về vấn đề bị XSS hay SQL Injection để lấy cookie nữa. (Nhưng nó xóa dữ liệu bằng câu query là một vấn đề khác, nhưng Shacker sẽ bàn về cách giải quyết vấn đề này trong những bài kế tiếp)

II – Cách thiết lập

Bạn tải tập tin global.php từ thư mục admincp của diễn đàn (không phải global.php nằm bên ngoài index)
Mở file đó ra và tìm

Trích:

<?php

Thêm vào sau đó

Trích:

/*DnP Backend Security Engine – Part 2 : The second logon request for ACP
Distributed for Vn Community by delynie.silveryhat.com © 2007
Update can be found at our forum when it’s available*/

//Khai báo tên đăng nhập và mật khẩu ở đây nè
$config['dn2_dnp'] = ‘kiepvesau’;
$config['mk2_dnp'] = ‘tienghatchimdada’;

if ($_SERVER['PHP_AUTH_USER'] != $config['dn2_dnp'] || $_SERVER['PHP_AUTH_PW'] != $config['mk2_dnp']){
header(‘WWW-Authenticate: Basic realm=”Xin vui long khai bao thong tin yeu cau truoc khi duoc chuyen den bang dang nhap”‘);
header(‘HTTP/1.0 401 Unauthorized’);

//Trang sẽ hiển thị khi thông tin khai báo sai bét. Hỗ trợ HTML nên bạn có thể thiết kế một trang đẹp hơn, như của Shacker chẳng hạn.
echo ‘<center>Thong tin dang nhap chu 2 danh sai rui. Nhan nut bien!</center>’;
exit;
}

Save và tải lại file global.php lên host. Bây giờ bạn đã có thể thử tính năng này khi truy cập và Admin CP. Bài viết tới đây là hết phần đầu của tài liệu bảo mật cho vBulletin. Phần tiếp theo Shacker sẽ hướng dẫn bạn làm quen nhiều hơn với htaccess và sử dụng nó để bảo mật cho trang nhà.

DnP Example:

Chúc bạn thành công.

Tháng Tám 5, 2007 Posted by | Uncategorized | Để lại phản hồi

   

Follow

Get every new post delivered to your Inbox.