web-development-kb-pt.site

Segurança e .htaccess

Cerca de um mês atrás eu comecei um blog WordPress em um servidor hospedado relacionado a um hobby. Então, eu sou novo nisso agora.

Como estou preocupado com a segurança, uma coisa que fiz foi instalar o plugin WP Security Scan. De acordo com os resultados do plug-in, o meu site faz check-out, exceto que recebo isso nos resultados como um sinalizador vermelho:

O arquivo .htaccess não existe em wp-admin/(eu ssh'd lá e ele não existe)

Ok, então eu fiz uma pesquisa considerável sobre o assunto e encontrei muita informação sobre o .htaccess. Já passei por Endurecer o WordPress no site WordPress.org, etc. E também encontrei este artigo: http://digwp.com/2010/07/wordpress-security-lockdown/

De qualquer forma, eu basicamente me confundi com a infinidade de informações disponíveis.

O que deve conter o arquivo .htaccess no wp-admin?Li que este arquivo .htaccess deve proteger com senha o diretório wp-admin e também li que isso pode causar problemas de funcionalidade .

Ajuda com isso é muito apreciada.

Obrigado. -wdypdx22

UpdateOk, então eu não estou logado no meu blog e usando um computador diferente do habitual. Eu entro na URL www.mysite.com/wordpress/wp-admin/ e há um redirecionamento para o login. Se é isso que acontece, então é necessário um arquivo htaccess no diretório wp-admin?

8
wdypdx22

UPDATE: Quando publiquei a minha resposta pela primeira vez, perdi o cerne da questão; minha resposta foi sobre .htaccess segurança em geral e agora está listada abaixo da linha dupla (olhe para baixo se interessar a você.) Infelizmente eu não tenho experiência específica em proteger /wp-admin/ usando .htaccess então vou simplesmente listar os dois recursos que eu vou seguir quando e se eu precisar:

O primeiro recomenda o seguinte (e aqui está alguma discussão sobre isso .)

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

Este último tem muita informação, especialmente nos comentários, mas admitir que você tenha uma lista para ler não é a resposta que você estava procurando.

Desculpe, eu não poderia ter sido mais útil nessa questão.

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

Tipicamente, o WordPress tem apenas o seguinte, que processou o processamento permalink e não está relacionado à segurança:

# 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

Recentemente eu encontrei o WP htacess Control plugin que gerencia muito .htaccess para você e eu gosto bastante dele. Depois de ajustar as configurações, adicionou as seguintes opções:

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

Ele também adicionou essas opções que são sobre desempenho em vez de segurança:

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

Além deste, existem alguns plugins que eu não tentei, mas que estão focados na segurança e que interagem com .htaccess - você pode tentar cada um deles apenas para ver o que eles fazem com o arquivo .htaccess:

Além disso, se você quiser conhecer o recurso especializado (IMO) # 1 em Segurança do Apache relacionada ao WordPress , você pode encontrá-lo em AskApache.com ; cara é hardcore! Seu blog não vai resolver o seu problema " muita informação " mas pelo menos você pode vê-lo como um recurso autoritário!

Aqui estão alguns exemplos (embora nem todos sejam diretamente relacionados ao WordPress, todos são aplicáveis):

De qualquer forma, espero que isso ajude.

8
MikeSchinkel

A ideia por trás disso, se você tem arquivos estrangulados pendurados em atualizações passadas ou ataques de dia zero, seu sistema pode ser invadido. Também proteger o wp-admin por outro método ajudará contra ataques de força bruta.

Uma idéia) Se é só você editando o site, você pode limitar o acesso à pasta por ip fazendo algo como

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

Para torná-lo um pouco mais tolerável para sistemas IP dinâmicos; você deve ser capaz de permitir a partir de um sub-bloco, então se você pool IP é sempre de 1.2.3.128 - 1.2.3.255, então você poderia fazer algo como 1.2.3.128/25

Outra Idéia) requer HTTPS, dê uma permissão negada se eles tentarem por http. Mas não os redirecione para os https. Você pode usar um certificado autoassinado ou um do CA Cert para obter sem comprar um.

4
Ryan Gibbons

Eu sempre incluo um arquivo .htaccess no wp-admin, mesmo que eu nunca coloque nada nele, já que ele nega o arquivo do diretório raiz. Algumas pessoas usam o arquivo .htaccess wp-admin para esconder o diretório inteiro de todos, mas um endereço IP, outros usam para proteger o diretório com senha.

No entanto, a senha que protege a seção administrativa com o .htaccess desabilitará as comunicações do ajax, já que elas interagem com o wp-admin/admin-ajax.php.

Geralmente, não vejo muita razão para adicionar nada ao arquivo .htaccess do administrador, a menos que você seja extremamente paranóico. Os ataques geralmente visam o conteúdo wp de qualquer maneira.

0
John P Bloch