it-swarm.xyz

Безопасность и .htaccess

Около месяца назад я начал вести блог на WordPress на хостинг-сервере, связанном с хобби. Итак, я новичок в этом в настоящее время.

Поскольку я беспокоюсь о безопасности, я решил установить плагин WP Security Scan. Согласно результатам плагина, мой сайт проверяется, за исключением того, что я получаю это в результатах в виде красного флага:

Файл .htaccess не существует в wp-admin/(я ssh'd там, и он не существует)

Итак, я провел значительный поиск по этой проблеме и нашел слишком много информации о .htaccess. Я прошел через усиление WordPress на сайте WordPress.org и т.д. А также натолкнулся на эту статью: http://digwp.com/2010/07/wordpress-security-lockdown/

Во всяком случае, я в основном запутался со множеством доступной информации.

Что должен содержать файл .htaccess в wp-admin? Я прочитал, что этот файл .htaccess должен защищать паролем каталог wp-admin, и я также прочитал, что это может вызвать проблемы с функциональностью.

Помощь с этим очень ценится.

Благодарю. -wdypdx22

Обновить ОК, поэтому я не вошел в свой блог и использую компьютер, отличный от обычного. Я ввожу URL-адрес www.mysite.com/wordpress/wp-admin/ и происходит перенаправление для входа в систему. Если это так, то нужен ли файл htaccess в каталоге wp-admin?

8
wdypdx22

UPDATE: Когда я впервые опубликовал свой ответ, я пропустил суть вопроса; мой ответ был о безопасности .htaccess в целом и теперь указан под двойной линией (посмотрите вниз, если это вас интересует). К сожалению, у меня нет конкретного опыта по защите /wp-admin/ с использованием .htaccess, поэтому я просто перечислю два ресурса, которые буду использовать когда и если мне это нужно:

Первый рекомендует следующее (а здесь некоторые обсуждения об этом .)

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

Последний имеет много информации, особенно в комментариях, но, по общему признанию, предоставление вам списка для чтения не является ответом, который вы искали.

Извините, я не мог быть более полезным в этом.

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

Обычно WordPress имеет только следующее, которое обрабатывает обработку постоянных ссылок и не связано с безопасностью:

# 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

Недавно я обнаружил плагин WP htacess Control , который управляет большим количеством .htaccess для вас, и мне он очень нравится. После настройки его настроек были добавлены следующие опции:

# 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>

Он также добавил эти параметры, которые касаются производительности вместо безопасности:

# 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>

Помимо этого, есть некоторые плагины, которые я не пробовал, но они ориентированы на безопасность и взаимодействуют с .htaccess - вы можете попробовать их каждый, просто чтобы посмотреть, что они делают с файлом .htaccess:

Кроме того, если вы хотите узнать (IMO) экспертный ресурс № 1 о безопасности Apache, связанной с WordPress вы можете найти его на AskApache.com ; чувак хардкор! Его блог не решит вашу проблему "слишком много информации", но по крайней мере вы можете рассматривать ее как авторитетный ресурс!

Вот несколько примеров (хотя не все они напрямую связаны с WordPress, все они применимы):

В любом случае, надеюсь, это поможет.

8
MikeSchinkel

Идея, лежащая в основе этого, если у вас есть файлы с удушающим эффектом из-за прошлых обновлений или атак нулевого дня, ваша система может быть взломана. Кроме того, защита wp-admin другим методом поможет против атак методом перебора.

Одна идея) Если вы редактируете сайт, вы можете ограничить доступ к папке, выполнив ip

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

Чтобы сделать его немного более терпимым для динамических систем IP; вы должны иметь возможность разрешить доступ из субблока, поэтому, если ваш IP-пул всегда находится в пределах 1.2.3.128 - 1.2.3.255, то вы можете сделать что-то вроде 1.2.3.128/25.

Еще одна идея) требовать HTTPS, дать разрешение отказано, если они попробуют его через http. Но не перенаправляйте их на https. Вы можете использовать самоподписанный сертификат или сертификат CA Cert, чтобы обойтись без его покупки.

4
Ryan Gibbons

Я всегда включаю файл .htaccess в wp-admin, даже если я никогда ничего не помещаю в него, так как он отрицает файл корневого каталога. Некоторые люди используют файл wp-admin .htaccess, чтобы скрыть весь каталог от всех, кроме одного IP-адреса, другие используют его для защиты каталога паролем.

Однако защита паролем раздела администратора с помощью .htaccess отключит связь ajax, поскольку они взаимодействуют с wp-admin/admin-ajax.php.

Как правило, я не вижу особых причин добавлять что-либо в админ .htaccess файл, если вы не параноик. В любом случае атаки обычно нацелены на wp-контент.

0
John P Bloch