Các thiết lập lý tưởng để giải quyết các mối quan tâm bảo mật là gì?


8

Tôi biết các yêu cầu mà WP có đối với các thư mục và tệp nhất định có thể ghi được. Tôi cũng nhận thức được rằng việc cho phép quá lỏng lẻo có thể mở các lỗ hổng bảo mật. Cuối cùng, tôi biết rằng người dùng (chèn máy chủ của bạn ở đây) chạy như trên các hệ thống Linux có thể là một yếu tố.

Bảo mật sang một bên, tôi thích có thể tải các chủ đề và plugin vào blog của mình và cập nhật chúng khi cần thiết. Quyền thích hợp có vẻ là một chút mâu thuẫn với ưu tiên này.

Tôi đã thu thập một chút chi tiết ở đây và đó, nhưng tôi muốn thấy một câu trả lời dứt khoát hơn, nếu có một: thiết lập ưa thích với một cái gật đầu để bảo mật là gì? Những quyền nào nên được đặt ra, trang web nên chạy như thế nào, v.v.


Câu trả lời:


10

Nếu bạn có quyền truy cập FTP vào máy chủ của mình, thiết lập an toàn nhất sẽ không có thư mục chủ đề hoặc plugin của bạn có thể ghi được bởi máy chủ web của bạn và thay vào đó có các tệp cập nhật WordPress bằng FTP. Khi bạn đi cập nhật một plugin, WordPress sẽ nhắc bạn về chi tiết FTP của bạn.

Phương pháp FTP chậm hơn rất nhiều so với ghi tệp trực tiếp, nhưng nó an toàn hơn rất nhiều vì tập lệnh lừa đảo sẽ không thể sửa đổi tệp của bạn.


5
SFTP thậm chí còn tốt hơn
Ashley G

3
FTP được chấp nhận trong nội bộ, nhưng khiến tôi lo lắng qua internet; vì nó sẽ gửi mật khẩu qua văn bản đơn giản. Tôi chuyển qua SFTP / SSH, tôi cảm thấy thoải mái hơn khi di chuyển tệp qua kênh an toàn. Tôi cũng không cho phép ghi quyền cho người dùng máy chủ web.
JM Becker

8

Như @ Viper007Bond đã lưu ý, việc cập nhật lõi, plugin và chủ đề của bạn thông qua các cơ chế cập nhật tích hợp khá an toàn, theo như quyền truy cập tệp, bởi vì họ có thể sử dụng thông tin đăng nhập người dùng thực tế của bạn. Để đảm bảo an toàn tối đa, bạn muốn đảm bảo rằng bạn đã cài đặt tiện ích mở rộng SSH2 PHP . Phương thức cài đặt (nếu có thể) có thể khác nhau từ máy chủ đến máy chủ, vì vậy nếu nó chưa có ở đó, bạn có thể cần phải hỏi dịch vụ lưu trữ hoặc thực hiện một số Google.

Nhiều dịch vụ lưu trữ được chia sẻ sẽ sử dụng suexectrong thiết lập Apache của họ, để dịch vụ web chạy như người dùng thực tế. Điều này giúp loại bỏ hầu hết các vấn đề về quyền và giúp bảo vệ các tệp của bạn khỏi những người dùng khác trên máy chủ. Tuy nhiên, trong trường hợp Apache chạy như một người dùng riêng biệt, nếu bạn muốn tải tệp lên WordPress, bạn phải mở quyền trên thư mục tải lên.

Trong trường hợp này, bạn có thể muốn wp-content/uploadsthư mục của mình có 0713quyền, (AKA rwx--x-wx). Điều này cung cấp cho chủ sở hữu thư mục toàn quyền, nhóm của họ có thể đọc tệp nếu họ biết đường dẫn đầy đủ và những người khác (bao gồm cả máy chủ web) có thể đọc tệp mà họ biết đường dẫn và có thể tạo / ghi tệp.

Một số plugin lưu trữ cũng mong muốn có sẵn một wp-content/cachethư mục (hoặc tương tự) mà chúng có thể ghi vào. Lời khuyên quyền tương tự sẽ áp dụng cho điều đó.

Cuối cùng, đối với các permalinks đẹp, WordPress cần có khả năng sửa đổi .htaccesstệp, trừ khi bạn có kế hoạch cập nhật thủ công. Trong trường hợp này, bạn muốn 0646cho chế độ tập tin. Tuy nhiên, khi bạn đã giải quyết được cấu trúc permalink của mình, thông thường bạn sẽ không cần phải thay đổi điều này một lần nữa, vì vậy bạn có thể tắt các quyền ghi thêm và đặt thành 0644. Đôi khi, một plugin hoặc nâng cấp lõi có thể yêu cầu quyền truy cập vào nó và bạn có thể tạm thời bật lại quyền ghi cho điều đó, sau đó tắt lại.

Tất cả các tệp khác nên có 0644quyền. Các thư mục nên là 0711nếu bạn quá hoang tưởng, nhưng điều đó có thể can thiệp vào bất kỳ plugin nào cần lấy danh sách các tệp từ một thư mục. Trong trường hợp đó, hoặc nếu bạn không hoàn toàn hoang tưởng, hãy sử dụng 0755, điều này sẽ cho phép người khác đọc, nhưng không viết.

Hầu hết điều này chủ yếu là một mối quan tâm nếu bạn đang lưu trữ chia sẻ. Nếu bạn có một máy chủ chuyên dụng (bao gồm cả VPS), không có người dùng nào khác có quyền truy cập ssh / ftp, thì bạn có thể thư giãn thêm một chút. Tôi không có nghĩa là bạn chỉ nên làm cho mọi thứ có thể ghi được một cách công khai, nhưng bạn có thể chỉ cần tin vào các mặc định của hệ thống, có thể sẽ là 0755quyền trên các thư mục thay vì 0711.

Nếu đó là một tùy chọn, hãy cài đặt chứng chỉ SSL cho trang web và khi bạn đã kiểm tra rằng bạn có thể truy cập trang web của mình thông qua https, bạn có thể buộc SSL đăng nhập quản trị viên và truy cập bằng cách thêm các dòng này vào wp-config.phptệp của bạn , ngay trước ' Dừng chỉnh sửa 'bình luận:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.