Tổng hợp các biện pháp
bảo vệ cho website
joomla(I)
Thật là tai hại khi website bị tấn công. Rất khó để biết được họ sẽ tấn công
vào lúc nào, ra sao... Những câu hỏi hóc búa ấy thật khó, và đơn giản hơn,
mình tng hợp những gì lượm nhặt được từ internet, và từ kinh nghiệm bản
thân, hi vọng sẽ giúp đỡ các bạn phn nào...
1. Chuyn hóa thư mc administrator.
Đây là phương pháp ca website buaxua.vn dành cho joomla 1.5.x. Đối với
website 2.5.x bn cũng có thể sử dụng, nhưng lưu ý là trước khi tiến hành
hãy sao lưu website của bạn, và tốt nhất là test ngay trên local. Lưu ý: Tạo
ngay một bảng thống kê các bin pháp thực hiện để biết khi chẳng may có
li thì cn phải tiến hành ra sao nhé!
Trong Joomla! phần quản trị (Admin, Back-end) được đặt trong thư mục
administrator, do đó mỗi khi muốn đăng nhấp vào Admin để quản phải
truy cập vào địa chỉ "http://domainname/administrator/". Dĩ nhiên là cần
phải có mật khu thì mi đăng nhập được, nhưng trong một số trường hợp
người quản trị li muốn tránh sự tò nên mun ngăn không cho người
khác truy cp vào địa chỉ này.
Có nhiu cách để ngăn chặn việc truy cập này, say đây sẽ là một trong
những cách ngăn chặn truy cập vào thư mục administrator của Joomla!
Tại thư mục gốc của Joomla! hãy tạo thêm một t mục khác và đặt tên nào
đó để không ai biết được, thí dụ "quantri"
Trong thư mục "quantri", tạo một tập tin đặt tên là index.phpni dung
như sau:
?php
$admin_cookie_code="1234567890";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location:../administrator/index.php");
?>
Kim tra xem tại tmục gốc của Joomla! đã có tập tin .htaccess hay chưa,
nếu chưa có thì hãy tìm đổi tên tập tin htaccsess.txt thành .htaccess.
Sao chép (Copy) và dán (Paste) dòng mã dưới đây vào cuối tập tin .htaccess.
1.RewriteCond %{REQUEST_URI} ^/administrator
2.RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=1234567890
3.RewriteRule .* - [L,F]
Từ bây giờ, mỗi khi cập vào đa chỉ "http://domainname/administrator/"
sẽ gặp thông báo lỗi. Muốn vào phn quản tr của Joomla! thì phải truy cập
vào địa chỉ mi là "http://domainname/quantri/".
2. Bảo mật cho Thư mục Administrator
Đặt mật khẩu cho thư mục, thực ra làm trong cPanel cũng được (hthống
quản trị hosting nào cũng có chức năng này). Tuy nhiên để hiểu được bản
chất của việc này cũng coi như là biết thêm một cách t vị. Chính vì vậy ta
có thể tự đặt mật khẩu bảo vệ thư mục quản trị Joomla bằng tay, mà tác dụng
vẫn như giống với cách làm trong quản tr hosting. Ok,3 bước:
Tạo file .htpasswd với nội dung sau:
tendangnhap:$apr1$t2YOL...$Xo98BGSbFrbqqnry5IFPG1
Tạo file .htaccess với nội dung sau:
AuthType Basic
AuthName "Password Required Page"
AuthUserFile "/đường-dn-gốc/public_html/administrator/.htpasswd"
Require valid-user
Upload 2 file trên vào trong thư mục Administrator
Done!
Giải thích một chút:
Tạo 2 file .htpasswd và .htaccess bằng trình soạn thảo text bất kỳ,
Save as type: All Files (*.*)
Trong file .htpasswd:
tendangnhap: Tên đăng nhập vào thư mục đặt password
$apr1$t2YOL...$Xo98BGSbFrbqqnry5IFPG1: mật khẩu đăng nhập
đã được mã hoá, nội dung mật khẩu trường hợp này là:
matkhaudangnhap
Mật khẩu trong file .htpasswd được mã hoá theo thuật toán DES (Data
Encryption Standard), không dễ bị phá. Tạo một file.htpasswd vi
username và password theo ý muốn tại đây.
Trong file .htaccess:
Đường-dẫn-gốc đây là đường dẫn gốc của host dẫn tới thư mục đặt
file .htpassword
Muốn biết đường dẫn gốc của host là gì t xem: http://site-của-
bạn/info.php, mục DOCUMENT_ROOT
Nếu không xem info.php được (host cấm hàm phpinfo) t phải hỏi
bọn cung cấp hosting thôi, nhưng thường đường dẫn của host Linux
cũng dễ đoán ấy mà.
Tạo mật khẩu cho tmục bằng trang qun trị hosting (thường là cPanel)
cũng tạo nên 2 file .htpasswd và .htaccess như thế (.htpasswd s đặt ở 1 thư
mục mặc định ngi thư mục gốc), nhưng khi không dùng nữa nó không xoá
hẳn 2 file đó đi mà chỉ thay đổi nội dung để bỏ mật khu thư mục. Như vậy
tự dưng có 2 file rác không cần thiết. Tự làm theo cách này đơn giản chỉ cần
dùng FTP, khi không dùng nữa có thể xoá thng tay 2 file đó hoặc đổi tên để
dùng lại khi cần.