logo
Hỗ trợ: 24/7
Điện thoại: 098 984 8886
Email: info@thuonghieuweb.com

10 điều nên làm để bảo mật cho website

4/5 1214 votes
updated on 2020-08-04

1. Phân quyền hợp lí


A. Tìm hiểu về chmod:

Là sự phân quyền truy cập vào một file hay một folder đối với các lớp người dùng giống như các thuộc tính dùng lệnh attrib trong DOS.
Các lớp người dùng gồm có: Owner – Group – World

* Owner : người "sở hữu" host.
* Group : là nhóm người dùng.
* World : bất kì ai.

Các quyền khi chmod:

* Read : đọc (r = 4)
* Write : ghi (w = 2)
* Execute : thực thi (x = 1)

VD: chmod 751 = rwxr-x--x

Cách chmod:
Ta có thể chmod file, folder bằng FTP hoặc cPanel. Sau đây là ví dụ dùng FTP (trong cPanel tương tự):

* Dùng FTP client (ở đây tôi dùng FlashFXP) để connect FTP vào host.
* Chuột phải lên các file, folder (giữ Ctrl và click để chọn nhiều file/folder rời rạc, hoặc Ctrl A để chọn hết), chọn CHMOD, ta sẽ có hộp thoại như hình:
* Nếu bạn muốn chmod thư mục và file khác nhau thì đánh dấu chọn Separately set File and Folder attributes.

B. CHMOD thế nào để an toàn:

Cách CHMOD tối ưu nhất :

* chmod 404 (chỉ cho phép đọc) tất cả các file.
* chmod 101 (chỉ cho thực thi) tất cả các folder.
* chmod 501 thư mục /public_html/

Các cách chmod trên đều không cho write, do đó bố cục được bảo toàn, đồng thời không thể xem cấu trúc site, thư mục, file. Có thể nói đó là các chmod an toàn nhất mà ứng dụng web như diễn đàn, site nhạc, tin tức có thể hoạt động ổn định.

Tuy nhiên không phải server nào cũng cho phép bạn chmod như vậy, nếu bạn dùng FTP không thể chmod được như vậy, thì hãy chmod như sau:

* chmod 704 (chỉ cho phép đọc) tất cả các file.
* chmod 701 (chỉ cho thực thi) tất cả các folder.

Lưu ý: Phiên bản cPanel 11 có File Manager V3, có thể dùng để chmod hàng loạt rất tốt và có thể chmod được file 404, folder 101.

2. "Ẩn mình" – Hide path


Khi đăng kí hosting, domain chính thường được trỏ vào ngay trong thư mục /public_html/, điều này giúp "kẻ tấn công" dễ dàng mò đến file quan trọng của website (vd như file config.php của các forum chẳng hạn), và khi đó thông tin đăng nhập quản lí cơ sở dữ liệu của website đã bị kẻ xấu lấy mất. Điều tệ hại gì sẽ xảy ra ?

Để khắc phục điểm này, ta nên yêu cầu bên cung cấp hosting tạo host không có domain (tên miền) chính và để ta tự gắn vào bằng chức năng add-on domain. Khi add domain sẽ có chỗ để bạn nhập đường dẫn đến thư mục mà domain sau khi gắn thành công sẽ trỏ vào như hình2.
VD: /public_html/foder1/folder2/folder3/forum/

Sau khi bạn bấm add các thư mục folder1, folder2, …, forum sẽ được tự động tạo ra. Và bây giờ bạn áp dụng cách chmod ở trên để chmod các thư mục folder1, folder2 … để giấu đường dẫn của site trên server.

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 …

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.

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 3.

6. Tránh chmod 777 cho folder/file


Đô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.

Bạn có thể tham khảo thêm tại đây: http://www.enhack.net/xforce/showthread.php?t=6

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 cần được bảo vệ nghiêm mật. Trên internet có nhiều website giúp bạn mã hóa các file này và decode lại bằng hàm decode base64 của PHP. Ví dụ một trang mã hóa này là  http://dnstools.it-4vn.com/phpencode.php ngoài ra có thể tham khảo thêm các trang khác bằng google search với từ khóa encode base64

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
/


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.

Ngoài ra bạn cũng nên lưu ý là một số hosting cho phép brow toàn bộ thư mục khi gõ đường dẫn dạng http://abc.com/images/  bạn có thể tắt chức năng này bằng cách thêm dòng sau đây vào file .htaccess:

Options All -Indexes

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

Sau đó chmod 444 cho file.

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 khó


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 và .htaccess nên chmod 444 để bảo vệ cấu hình.

   
 
Có thể bạn muốn xem thêm....

Những điều cần biết khi xây dựng website

Xây dựng một website không đơn giản chỉ là một gian hàng hay một tờ rơi. Bạn cần phải làm mọi cách để website của mình hướng tới khách hàng, và quan trọng hơn cả, là làm sao để nội dung của bạn có sức lan tỏa nhanh chóng trong môi trường mạng từ đó lôi kéo khách hàng đến với website của bạn

Xem chi tiết

Những điều cần biết về dịch vụ email với tên miền riêng

Email tên miền riêng là email gắn với tên miền của doanh nghiệp kiểu như tennhanvien@tencongty.com. Email tên miền riêng sẽ tạo sự chuyên nghiệp và tin cậy khi giao dịch, đồng thời có thể cấp phát cho nhân viên khi mới đi làm, thu hồi lại khi nhân viên đó thôi việc và lưu trữ được mọi giao dịch trên email mà không sợ nhân viên đổi mật khẩu, mang theo hòm thư khi rời công ty...

Xem chi tiết
Đội ngũ lập trình viên, kỹ thuật viên và seo-er của Thương Hiệu Web cam kết

Hỗ trợ 24/7

Hỗ trợ khách hàng 24 giờ 1 ngày, 7 ngày 1 tuần qua điện thoại, email và chat online

Hoàn tiền 100%

Trong thời gian 45 ngày sử dụng dịch vụ, nếu quý khách không hài lòng!

Cam kết uptime 99.99%

Nếu dịch vụ của quý khách bị gián đoạn, chúng tôi sẽ cộng thêm 1 tháng sử dụng

KHÁCH HÀNG NÓI VỀ CHÚNG TÔI

Một đơn vị xây dựng web tận tâm và chuyên nghiệp!

"Thương Hiệu Web là đơn vị thiết kế website có năng lực, tôn trọng và có trách nhiệm với khách hàng, đặt mình vào vị trí khách hàng để mang lại cho khách hàng nhiều giá trị từ chính dịch vụ của mình. Với tôi, Thương Hiệu Web là một lựa chọn hợp lý!" Chị Nguyễn Phượng, TP kinh doanh, Công Ty Cổ Phần Quản Lý Công Trình Đô Thị Hải Dương.

Xem bình luận trên FB
Sitemap Điều khoản sử dụng Chính sách riêng tư
Bản quyền thuộc về công ty cổ phần truyền thông số VDATA
Tầng 2, tòa nhà 71 Hoàng Cầu, Đống Đa, Hà Nội
Điện thoại: (04) 3990 9643 - Email: info@vdata.com.vn
Giấy chứng nhận ĐKKD số: 0102766780, do Sở KHĐT Tp Hà Nội cấp ngày 28/04/2009

Online