Hướng dẫn bảo mật (cấu hình website) khi làm web trên share hosting Linux (p3 - Tổng hợp)

Hướng dẫn bảo mật (cấu hình website) khi làm web trên share hosting Linux (p3 - Tổng hợp)

Những cách làm này, tuy đơn giản nhưng hạn chế rất nhiều trong việc hacker tấn công website của bạn. Làm website và bảo mật tuy 2 nhưng là 1. Phải làm điều này nhé.
19439/10

Bảo mật - Bảo mật ứng dụng web

Hướng dẫn bảo mật (cấu hình website) khi làm web trên share hosting Linux (p3 - Tổng hợp)

Những cách làm này, tuy đơn giản nhưng hạn chế rất nhiều trong việc hacker tấn công website của bạn. Làm website và bảo mật tuy 2 nhưng là 1. Phải làm điều này nhé.

3. Không hiển thị lỗi nếu phát sinh

Khi có lỗi phát sinh, PHP sẽ hiện thông báo ra trình duyệt và chỉ rõ lỗi ở file nào, dòng nào và đường dẫn của file, vì thế điều này rất nguy hiểm. Để che lỗi, bạn tạo một file php.ini với nội dung như sau:

display_errors = Off
log_errors = On

Sau đó upload lên thư mục chứa website.

Gợi ý: bạn nên up file php.ini trên vào các thư mục mà người dùng sẽ truy cập bằng trình duyệt, thường là thư mục chứa website, thư mục quản trị, thư mục của user …

Nhưng nếu server không hỗ trợ rewrite php.ini thì sao?

Thêm đoạn code này vào đầu file cần cho ẩn lổi

<?php error_reporting(0);?>

Hoặc:

<?php ini_set('display_errors','Off');?>

Thế là xong

4. Bật safe-mode (chế độ an toàn) và vô hiệu các hàm nguy hiểm

Thêm hoặc edit 2 dòng sau trong nội dung file php.ini

disable_functions = passthru, system, shell_exec, exec, dir, readfile, virtual, proc_terminate
safe-mode = on

Lưu ý:  bạn có thể bỏ bớt các hàm trong danh sách hàm bị vô hiệu nếu hàm đó cần cho website của bạn hoạt động. Và không cho rewrite php.ini nữa nhé, nếu không cũng như không

5. Phân quyền account truy cập cơ sở dữ liệu MySQL

Khi bạn tạo user truy cập vào database, bạn cần lưu ý:

- Không dùng user và pass của host làm user của database.
- Không cấp quyền DROP như hình.

Nếu vậy thì diễn đàn vbb cài mod và gỡ bỏ mod sẽ như thế nào ta?! .... Khổ sở rồi đây!

6. Tránh chmod 777 cho folder/file angry

Đôi khi bạn gặp một số yêu cầu chmod 777 cho file/folder để thực hiện công việc gì đó, bạn hãy chú ý chmod lại sau khi công việc đã được thực hiện xong.

Nhưng nếu server quyền apache hoặc nobody thì sao ta?! không chmod 777 thì làm sao up file được từ web? mà nếu chmod 777 thì hàng xóm người ta nhảy qua như chơi!...

Vất vả cho server có quyền apache hoặc nobody rồi!...

7. Mã hoá các file chứa thông tin nhạy cảm

Các file nhạy cảm chứa các thông tin kết nối cơ sở dữ liệu như config.php với các kiểu mã hoá như base64 của PHP hoặc mã hoá dùng phần mềm zendguard của www.zend.com.

Nếu mã hoá base64 PHP thì các bạn có thể dùng google để tìm với từ khoá "base64 encode". Mình xin giới thiệu một link để các bạn mã hoá base64 file php:

Mã hóa base64 và nén dữ liệu ---> rất good

Notes:
Dù base64 hay zend đi chăng nữa thì ... cũng có thể dịch ngược được đấy các bạn ah! tin hay không là tùy... hehe...
-------------------
Ai cần mã hóa zend (de-zend) thì liên hệ mình nhé: 10K / 1 file php hehe....

8. Ngăn download source code khi server gặp sự cố:

Tạo file .htaccess nội dung như sau:


Order Allow,Deny
Deny from All


Order Allow,Deny
Deny from All

Mục đích để ngăn cản việc download source code khi PHP bị overload hoặc terminated.

Nguyên nhân có thể đến từ bên trong hoặc bên ngoài.

Tôi không đề cập ở đây hoặc liên hệ bác Root để giải thích rõ hơn!

9. Vô hiệu hoá biên dịch mã PHP trong thư mục chỉ định

Nếu bạn có một thư mục dành cho việc upload, bạn nên vô hiệu hoá việc biên dịch và thực thi mã PHP trong thư mục ấy vì attacker có thể lợi dụng việc upload để đưa script độc (webshell) lên host của bạn.

Tạo file .htaccess đặt vào thư mục đó với nội dung như sau:

php_admin_flag engine off

Hoặc

Order deny,allow
Deny from all

10. Thường xuyên cập nhật vá lỗi cho website và đặt một mật khẩu quản trị tương đối kiên cố, liên hệ với nhà cung cấp dịch vụ để sửa lỗi. enlightened

Lưu ý cuối cùng:

- File php.ini mình đề cập ở trên chỉ có tác dụng tại thư mục chứa nó, các thư mục không chứa nó sẽ không bị nó chi phối mà sẽ bị cấu hình trong php.ini của server chi phối.

- Các file php.ini .htaccess nên chmod 444 để bảo vệ cấu hình.


Công ty thiết kế website, lập trình phần mềm NEVICOM

Công ty thiết kế website, lập trình phần mềm NEVICOM

Bình luận

Top