it-swarm-vi.tech

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ì?

Tôi biết các yêu cầu WP có cho 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, những gì người dùng nên trang web chạy, v.v.

8
Grant Palin

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 để biết chi tiết về 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.

10
Viper007Bond

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ì chúng 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 SSH2 PHP phần mở rộng . 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 suexec trong 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 thư mục wp-content/uploads của mình có quyền 0713, (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 tin.

Một số plugin lưu trữ cũng mong muốn có sẵn thư mục wp-content/cache (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 tệp .htaccess, 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 0646 cho chế độ tệp. Tuy nhiên, khi bạn đã giải quyết 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 phải có quyền 0644. Các thư mục phải là 0711 nế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 chia sẻ lưu trữ. 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à quyền 0755 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à sau khi bạn đã kiểm tra rằng bạn có thể truy cập trang web của mình qua https, bạn có thể buộc SSL cho đă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 tệp wp-config.php của bạn, ngay trước đó bình luận 'Dừng chỉnh sửa':

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
8
Dougal Campbell