Bảo mật và .htaccess


8

Khoảng một tháng trước, tôi đã bắt đầu một blog WordPress trên một máy chủ được lưu trữ liên quan đến sở thích. Vì vậy, tôi mới biết điều này hiện nay.

Vì tôi lo ngại về bảo mật, một điều tôi đã làm là cài đặt plugin WP Security Scan. Theo kết quả của plugin, trang web của tôi sẽ kiểm tra ngoại trừ việc tôi nhận được kết quả này dưới dạng cờ đỏ:

Tệp .htaccess không tồn tại trong wp-admin / (Tôi ssh'd ở đó và nó không tồn tại)

Ok, vì vậy tôi đã thực hiện một tìm kiếm đáng kể về vấn đề này và tìm thấy quá nhiều thông tin về .htaccess. Tôi đã xem qua Hardening WordPress trên trang web WordPress.org, v.v. Và cũng đã xem bài viết này: http://digwp.com/2010/07/wordpress-security-lockdown/

Dù sao, về cơ bản, tôi đã bị lẫn lộn với vô số thông tin có sẵn.

Tệp .htaccess nên chứa gì trong wp-admin? Tôi đã đọc rằng tệp .htaccess này nên mật khẩu bảo vệ thư mục wp-admin và tôi cũng đọc rằng điều này có thể gây ra vấn đề về chức năng.

Giúp với điều này được đánh giá rất cao.

Cảm ơn. -wdypdx22

Cập nhật Ok, vì vậy tôi không đăng nhập vào blog của mình và sử dụng máy tính khác với bình thường. Tôi nhập url www.mysite.com/wordpress/wp-admin/ và có một chuyển hướng để đăng nhập. Nếu đó là những gì xảy ra, thì một tập tin htaccess thậm chí còn cần thiết trong thư mục wp-admin?


Bạn đã thử hỏi nhà phát triển WP Security Scan chưa?
Doug

@Doug - Có, nhà phát triển có một diễn đàn với ít nhất 2 người khác hỏi cùng một câu hỏi và không có câu trả lời. Ngoài ra, tôi đã đăng trên wordpress.org và cũng không có phản hồi nào. Vì vậy, có lẽ điều này thậm chí không quan trọng?
wdypdx22

Câu trả lời:


8

CẬP NHẬT : Khi tôi lần đầu tiên đăng câu trả lời của mình, tôi đã bỏ lỡ mấu chốt của câu hỏi; Câu trả lời của tôi là về.htaccessbảo mật nói chung và hiện được liệt kê bên dưới dòng kép (nhìn xuống nếu nó làm bạn quan tâm.) Thật không may, tôi không có kinh nghiệm cụ thể về việc bảo mật/wp-admin/bằng cách sử dụng.htaccessvì vậy tôi sẽ chỉ liệt kê hai tài nguyên tôi sẽ theo đuổi khi và nếu Tôi cần nó:

Người đầu tiên đề xuất những điều sau đây (và đây là một số thảo luận về nó .)

<Files ~ "\.(php)$">
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>

Sau này có rất nhiều thông tin, đặc biệt là trong các bình luận, nhưng thừa nhận cung cấp cho bạn một danh sách để đọc không phải là câu trả lời bạn đang tìm kiếm.

Xin lỗi tôi không thể hữu ích hơn về điều này.

========================================

Thông thường, WordPress chỉ có các xử lý permalink sau đây và không liên quan đến bảo mật:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Gần đây tôi đã tìm thấy plugin WP htacess Control quản lý rất nhiều .htaccesscho bạn và tôi thích nó hơn rất nhiều. Sau khi điều chỉnh cài đặt, nó đã thêm các tùy chọn sau:

# WPhtC: Disable ServerSignature on generated error pages
ServerSignature Off

# WPhtC: Disable directory browsing
Options All -Indexes

# WPhtC: Protect WP-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>

Nó cũng thêm các tùy chọn về hiệu suất thay vì bảo mật:

# WPhtC: Setting mod_gzip
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

# WPhtC: Setting mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

Ngoài ra, có một số plugin tôi chưa thử nhưng tập trung vào bảo mật và tương tác với .htaccess- bạn có thể thử từng plugin để xem những gì họ làm với .htaccesstệp:

Ngoài ra, nếu bạn muốn biết tài nguyên chuyên gia số 1 (IMO) về bảo mật Apache liên quan đến WordPress, bạn có thể tìm thấy nó trên AskApache.com ; anh chàng là Hardcore! Blog của anh ấy sẽ không giải quyết vấn đề " quá nhiều thông tin " của bạn nhưng ít nhất bạn có thể xem nó như một tài nguyên có thẩm quyền!

Dưới đây là một số ví dụ (mặc dù không phải tất cả đều liên quan trực tiếp đến WordPress mà tất cả đều có thể áp dụng):

Dù sao, hy vọng điều này sẽ giúp.


Thông tin tuyệt vời cho bảo mật tổng thể, nhưng không trả lời về / wp-admin / thư mục
Ryan Gibbons

Mặc dù đây có thể là tất cả thông tin hữu ích, nhưng không ai trong số đó có liên quan đến câu hỏi. Tất cả điều này liên quan đến .htaccess trong thư mục gốc. Câu hỏi ban đầu là về .htaccess trong thư mục con wp-admin.
Doug

@ Insanity5902 @Doug: Xấu của tôi. Tôi chỉ không thấy điều đó khi tôi đọc nó.
MikeSchinkel

2
Tôi chấp nhận câu trả lời của bạn về cơ bản bởi vì, điểm mấu chốt, bảo mật tổng thể là mục tiêu của tôi. Blog của tôi rất mới, nhưng lưu lượng truy cập của tôi đang tăng lên. Về cơ bản, tôi chỉ muốn các biện pháp bảo mật tại chỗ nếu và khi tôi thực sự bắt đầu nhận được nhiều lưu lượng truy cập. -Cảm ơn
wdypdx22

1
@wdypdx - Cảm ơn rất nhiều. Tôi thực sự xấu hổ khi tôi nhận ra rằng tôi đã bỏ lỡ câu hỏi cốt lõi của bạn in đậm. Vui vì nó bật ra tích cực.
MikeSchinkel

4

Ý tưởng đằng sau nó, nếu bạn có các tập tin siết cổ treo sau các bản nâng cấp trong quá khứ hoặc cho các cuộc tấn công zero-day, hệ thống của bạn có thể bị hack. Ngoài ra, việc bảo vệ wp-admin bằng một phương pháp khác sẽ giúp chống lại các cuộc tấn công vũ phu.

Một ý tưởng) Nếu chỉ là bạn chỉnh sửa trang web, bạn có thể giới hạn quyền truy cập vào thư mục bằng cách ip thực hiện một số thứ như

<Files *>
Order deny,allow
Deny from All
Allow from 1.2.3.4
</Files>

Để làm cho nó dễ chịu hơn một chút đối với các hệ thống IP động; bạn sẽ có thể cho phép từ một nhóm con, vì vậy nếu nhóm IP của bạn luôn ở mức 1.2.3.128 - 1.2.3.255, thì bạn có thể làm một cái gì đó như 1.2.3.128/25

Một ý tưởng khác) yêu cầu HTTPS, hãy từ chối cho phép nếu họ thử qua http. Nhưng đừng chuyển hướng chúng đến https. Bạn có thể sử dụng chứng chỉ tự ký hoặc chứng nhận từ CA Chứng nhận để nhận mà không cần mua.


0

Tôi luôn bao gồm tệp .htaccess trong wp-admin, ngay cả khi tôi không bao giờ đặt bất cứ thứ gì vào đó, vì nó phủ nhận tệp của thư mục gốc. Một số người sử dụng tệp wht-admin .htaccess để ẩn toàn bộ thư mục khỏi tất cả trừ một địa chỉ IP, những người khác sử dụng nó để mật khẩu bảo vệ thư mục.

Tuy nhiên, mật khẩu bảo vệ phần quản trị bằng .htaccess sẽ vô hiệu hóa giao tiếp ajax, vì chúng tương tác với wp-admin / admin-ajax.php.

Nói chung, tôi không thấy nhiều lý do để thêm bất cứ điều gì vào tệp .htaccess của quản trị viên trừ khi bạn cực kỳ hoang tưởng. Tấn công thường nhắm mục tiêu nội dung wp nào.


1
Tệp .htaccess trong thư mục con có thể ghi đè các lệnh trong thư mục gốc, nhưng một tệp .htaccess trống không phủ nhận bất cứ điều gì.
Doug

Sau đó tôi đã bị thông tin sai. Hmmmm ...
John P Bloch

Những gì bạn cần làm là đảo ngược những gì trong thư mục gốc, nếu có. Tuy nhiên, câu trả lời của Insanity tốt hơn câu trả lời là tốt nhất, mặc dù vậy sẽ là tốt nhất nếu có thông tin của Insanity trong đó.
Arlen Beiler

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.