it-swarm-vi.tech

Bảo mật và .htaccess

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 trong wp-admin nên chứa gì? 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?

8
wdypdx22

UPDATE: 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ề bảo mật .htaccess 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 .htaccess khi nào 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ó 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 WP htacess Control plugin quản lý rất nhiều .htaccess cho bạn và tôi khá thích nó. 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 họ làm gì với tệp .htaccess:

Ngoài ra, nếu bạn muốn biết tài nguyên chuyên gia số 1 (IMO) trên 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.

8
MikeSchinkel

Ý 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, cung cấp cho phép bị từ chối 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 một chứng chỉ từ CA Chứng nhận để nhận mà không cần mua.

4
Ryan Gibbons

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ị với .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.

0
John P Bloch