-- Bắt đầu nào--
I. Kĩ thuật căn bản
1. Check Shell
Tất nhiên nếu bạn đang sử dụng 1 host 'ngon' thì công việc này sẽ được QTV host làm hàng ngày . Tuy nhiên, vẫn nên có 1 chút kĩ thuật chứ nhỉ ? Mình chỉ có 3 phương pháp thôi:
- Ngồi mò từng file một (làm theo pp này có mà điên nhở)
- Check shell trực tiếp trên host. Download code [này] và làm theo HD.
- Download hết code về máy tính và check bằng KIS, NIS,... cách này lâu nhưng an toàn nhất. Khi backup code, bạn có thể thực hiện luôn thao tác này. Rất tiện lợi phải không ? Hì.
2. Giấu thư mục root
Nếu để code ở public_html , www, htdocs chẳng phải các bạn đang để hết của cải của mình ở ngoài sân sao ? À tạo thêm vài folder nữa.
home/hocit/public_html/jin/da/tai/@4rum/ giấu thế đc chưa ? Thế mỗi lần mem vào forum lại phải nhập link rắc rối thê à ? Nếu nó vào được public thì lần theo dấu vết nó sẽ thấy @4rum ? Đó là cái hại của park domain mặc định. Sao bạn ko dùng chức năng add-on domain .khi add domain sẽ có chỗ để bạn nhập đường dẫn làm folder gốc của domain. Hacker sẽ lầm tưởng bạn đặt code ở public, hay nếu biết ý đồ của bạn cũng rất khó khăn cho hắn khi tìm cái đường dẫn phức tạp kia. Hehe.
3. Giấu file cấu hình
Khi hacker xâm nhập đc thì ta phải cho hắn 1 thử thách chứ nhỉ ? Giấu file cấu hình đi thì sao ? Tạo 1 thư mục có dấu # ở trước. Vd #jin (dấu # có thể ngăn cản con shell thực thi lệnh)
Bỏ file cấu hình vào đó. Edit lại link trong hàm include ở các file liên quan. Thường thì sẽ có 1 file include file cấu hình, còn các file khác sẽ include file đó. Bạn chỉ cần tìm ra nó và edit là ok. (tự tìm hiểu)
vd: đoạn mã sau
thì ta sửa config.php thành #jin/config.php
I. Kĩ thuật căn bản
1. Check Shell
Tất nhiên nếu bạn đang sử dụng 1 host 'ngon' thì công việc này sẽ được QTV host làm hàng ngày . Tuy nhiên, vẫn nên có 1 chút kĩ thuật chứ nhỉ ? Mình chỉ có 3 phương pháp thôi:
- Ngồi mò từng file một (làm theo pp này có mà điên nhở)
- Check shell trực tiếp trên host. Download code [này] và làm theo HD.
- Download hết code về máy tính và check bằng KIS, NIS,... cách này lâu nhưng an toàn nhất. Khi backup code, bạn có thể thực hiện luôn thao tác này. Rất tiện lợi phải không ? Hì.
2. Giấu thư mục root
Nếu để code ở public_html , www, htdocs chẳng phải các bạn đang để hết của cải của mình ở ngoài sân sao ? À tạo thêm vài folder nữa.
home/hocit/public_html/jin/da/tai/@4rum/ giấu thế đc chưa ? Thế mỗi lần mem vào forum lại phải nhập link rắc rối thê à ? Nếu nó vào được public thì lần theo dấu vết nó sẽ thấy @4rum ? Đó là cái hại của park domain mặc định. Sao bạn ko dùng chức năng add-on domain .khi add domain sẽ có chỗ để bạn nhập đường dẫn làm folder gốc của domain. Hacker sẽ lầm tưởng bạn đặt code ở public, hay nếu biết ý đồ của bạn cũng rất khó khăn cho hắn khi tìm cái đường dẫn phức tạp kia. Hehe.
3. Giấu file cấu hình
Khi hacker xâm nhập đc thì ta phải cho hắn 1 thử thách chứ nhỉ ? Giấu file cấu hình đi thì sao ? Tạo 1 thư mục có dấu # ở trước. Vd #jin (dấu # có thể ngăn cản con shell thực thi lệnh)
Bỏ file cấu hình vào đó. Edit lại link trong hàm include ở các file liên quan. Thường thì sẽ có 1 file include file cấu hình, còn các file khác sẽ include file đó. Bạn chỉ cần tìm ra nó và edit là ok. (tự tìm hiểu)
vd: đoạn mã sau
Code:
include 'config.php';
Ai thấy hay thanks nhéII. Nâng cao 1 chút
1. Chmod (phân quyền)
Làm theo đừng hỏi tại sao nhé.
a. ChMod public_html 501, lỗi thì nâng lên 701 or 710
b. Chmod tất cả folder 101 (trừ các folder code yêu cầu chmod 755,777) nếu ko đc thì nâng lên 701 . Chmod tất cả các file 404, nếu ko đc thì nâng lên 704.
c. Chmod file quan trọng: config.php , db.php , index.php thành 100, lỗi thì nâng lên 400.
Có thể dùng wapFTP chmod hàng loạt cho nhanh.
2. Bảo mật với php.ini và .htaccess
a. Tạo file php.ini với nội dung sau:
(dis một số hàm, nâng safe-mode, ko cho phép thông báo lỗi khi code gặp sự cố, bật chức năng ghi lại lỗi - ở file error_log hay sao ý )Code:disable_functions = passthru, system, shell_exec, exec, dir, readfile, virtual, proc_terminate safe-mode = on display_errors = off log_errors = on
Chmod cho file này 444 và copy sang các thư mục như là admin, users,.. Tất nhiên, nó phải có ở thư mục root
b. - Nếu code hỗ trợ upload, hãy vào thư mục lưu trữ file, tạo .htaccess với nội dung:
php_admin_flag engine off , chmod 444.
- Một số thư mục code yêu cầu chmod 777 (rất nguy hiểm). Ko làm theo thì code lỗi. Ta cứ chmod như thế và tạo file .htaccess với nội dung:
AddHandler default-handler php
Options -ExecCGI -IncludesFile
thế là ổn.
III. Lưu ý
- Không dùng user/pass host làm u/p data viết vào config.
- Không cấp phép drop cho user data. Tránh TH nó ức nó drop hết data
- Check file lạ trước khi upload to host, tránh run file đc gửi từ email lạ.
- Cập nhật lỗi và update phiên bản thường xuyên
- Nhớ backup đều đặn nhé (biết rồi, khổ nắm, nói mãi)