Biện pháp bảo mật cho VBB
Đăng lúc 12/18/2011 10:09:00 AM

Sau một thời gian sử dụng VBB và đã bị hack vài lần nên mình chia sẻ cùng các bạn 1 chút kinh nghiệm mà mình có được. Đây chỉ là một số những biện pháp rất nhỏ để hạn chế bị hack thôi chứ không thể nào nói là giải pháp toàn diện được, tuy nhiên chống được tý nào hay tý đó, có còn hơn không phải không các bạn?

1. Thay đổi tên thư mục admincp và modcp

Bạn mở thư mục includes mở tiếp file config.php
Tìm đoạn sau:
Code:
$config['Misc']['admincpdir'] = 'levanthuc';
$config['Misc']['modcpdir'] = 'dieuhanhvien';

Thay 
admincp và modcp bằng tên mà bạn sẽ đổi cho 2 thư mục này.

Chú ý: Nên chèn các ký tự dạng @,_,# vào tên các thư mục này khi đổi tên.



2. Di chuyển file config

Bạn mở thư mục admincp (hoặc thư mục tương đương mà bạn đã đổi tên) tìm file diagnostic.php

Bạn tìm đoạn
Code:
/includes/config.php

Thay bằng tên thư mục chứa file config mới và tên file config mới

VD: /images/abc.php


Tiếp đến bạn tìm file 
class_core.php trong thư mục includes
Tìm đoạn
Code:
includes/config.php

thay tương tự như bên trên (trong file 
class_core.php có 2 chỗ cần thay)

Bây giờ bạn upload 1 file copy của file config.php lên chỗ mà bạn muốn di chuyển, đổi tên nếu thích, rồi quay trở lại file 
config.php trong thư mục includesvà thay đổi thông số DB của bạn đi.
Khuyến cáo các bạn nên làm cả 2 phần 1 và 2.

3. Bảo vệ thư mục và file bằng CHMOD

Bạn CHMOD toàn bộ các thư mục trong thư mục gốc giá trị là 101 và toàn bộ các file ngoài thư mục gốc có giá trị là 400.
Nếu bạn đặt file bộ gõ ở thư mục gốc thì phải CHMOD cho file này là 444.

Khi CHMOD theo các giá trị như trên thì sẽ hạn chế được local, vì các lệnh show thư mục sẽ không hiển thị được, ngay cả khi bạn dùng chương trình FTP cũng không thể hiển thị được nội dung thư mục. Nếu muốn sửa, xoá, up thêm file vào trong thư mục hoặc sửa các file ở thư mục gốc, bạn phải CHMOD cho nó trở về giá trị ban đầu. Giá trị CHMOD mặc định của thư mục là 755 và của file là 644.



4. Thêm khoá bảo vệ thư mục admincp

Ví dụ nhé, mặc định bạn muốn vào admincp thì vào bằng cách
http://domain.com/forum/admincp


Bây giờ chúng ta sẽ chỉnh lại không vào bằng đường dẫn đó nữa.

Ví dụ như mình vào bằng đường
http://domain.com/forum/trumquanly


Làm cách nào đây?

làm theo 2 bước sau

1. mở file config.php, tìm
$config['Misc']['admincpdir'] = 'admincp';

thay thành
$config['Misc']['admincpdir'] = 'trumquanly';

2. Vào host, change cái thư mục admincp thành trumquanly
Vậy là xong.
Mục đích của việc làm này là gì?
Là làm cho hacker khó khăn hơn 1 chút trong việc đăng nhập vào AdminCP để phá hay úp shell.

Cái modcp thì tương tự.


Còn việc chuyển file config.php đi chỗ khác thì cung vậy thôi.

bình thường file này nằm ở forum/includes/
Bây giờ ta chuyển nhà cho nó, và đổi tên cho nó luôn.
CŨng giống như ... muốn trốn nợ thì phải chuyển đi nơi khác, làm cái CMND khác (tất nhiên là tên khác) để không ai biết tới mình.
Làm sao đây?!
Vì sẽ có 2 file cần liên kết tới config.php là diagnostic.php và class_core.php
Bây giờ bắt tay thực hiện nhé

B1. Tạo 1 thư mục nào đó, ví dụ: 
giauvoday trong forum.
B2. chuyển cái file config.php qua đó
B3. Đổi tên config.php thành 1 tên khác, ví dụ: emsoqua.php

Như vậy, lúc này muốn lấy được những nội dung trong file config, ta phài vào

giauvoday/emsoqua.php


Vấn đề là làm sao để VBB biết cái config.php nó nằmở đâu

Làm tiếp nhé

B4. Mở file 
diagnostic.php nằm trong thư mục AdminCp (nếu hồi nãy có đổi cái AdminCP này thì tìm trong thư mục đã đổi nhé, như ví dụ trên của mình là trumquanly )
Rồi tìm dòng
Quote
/includes/config.php
thay bằng cái đường dẫn đến file config mới chuyển đó
Quote
/giauvoday/emsoqua.php
Tương tự như thế, tìm trong file class_core.php ở thư mục include, cũng kiếm cái
Quote
/includes/config.php
và thay bằng
Quote
/giauvoday/emsoqua.php
Đến đây coi như xong, VBB đã vào OK.
Nhưng còn 1 việc phải làm là "dụ dỗ".
Mình sẽ bỏ 1 file config.php vào lại thư mục includes.
Tất nhiên là với nội dung khác.
Sửa cái thông số database lại, username, passs gì change hết.
Rồi quăng vào includes.
Thế là ta lại có 1 file includes/config.php

Giả sử hacker nó local được, nó sẽ vào ngày includes/config.php

Và lấy được nội dung.
Thế là hí hửng, tưởng đâu đã lấy được databasse của mình... nhưng mà... lấy nhằm đồ giả.
CÒn đồ thật của mình nằm ở kia cơ mà /giauvoday/emsoqua.php
Cách khác Nữa nè :
Cái này đơn giản các bạn vào host, kiếm cái Password protect Folder.
Rồi chọn thư mục adminCP --> check vào mục protect, save
Tạo user + pass --> xong
cái này như cái bảo vệ mysqldumper folder vậy đó!

theo: http://kenhdaihoc.com/forum/showthread.php?t=2249

LIÊN QUAN
BÌNH LUẬN