Segurança e .htaccess


8

Há cerca de um mês, iniciei um blog WordPress em um servidor hospedado relacionado a um hobby. Então, eu sou novo nisso no momento.

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

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

Ok, fiz uma pesquisa considerável sobre o assunto e encontrei muitas informações em .htaccess. Passei pelo Hardening WordPress no site WordPress.org, etc. E também deparei com este artigo: http://digwp.com/2010/07/wordpress-security-lockdown/

Enfim, basicamente fiquei confuso com a infinidade de informações disponíveis.

O que deve conter o arquivo .htaccess no wp-admin? Eu li que esse 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

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


Você já tentou perguntar ao desenvolvedor do WP Security Scan?
— Doug

@ Doug - Sim, o desenvolvedor tem um fórum com pelo menos 2 outras pessoas fazendo a mesma pergunta e sem resposta. Além disso, eu postei no wordpress.org e nenhuma resposta lá também. Então, talvez isso nem importe?
— Wdypdx22

Respostas:


8

ATUALIZAÇÃO : Quando publiquei minha resposta, perdi o cerne da questão; minha resposta foi sobre.htaccesssegurança em geral e agora está listada abaixo da linha dupla (veja se isso lhe interessa.) Infelizmente, não tenho experiência específica com a segurança do/wp-admin/uso,.htaccessentão listarei os dois recursos que procurarei quando e se Eu preciso disso:

O primeiro recomenda o seguinte (e aqui estão algumas discussões sobre o assunto ).

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

Este último possui muitas informações, principalmente nos comentários, mas admitir que fornecer uma lista para ler não é a resposta que você estava procurando.

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

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

Normalmente, o WordPress tem apenas o seguinte, que processou o processamento de links permanentes 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, encontrei o plug-in WP htacess Control, que gerencia muito de .htaccessvocê e eu gosto bastante. Após ajustar as configurações, foram adicionadas 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 tratam do desempenho, e não da 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 focados na segurança e com os quais interagem .htaccess- você pode experimentá-los apenas para ver o que eles fazem no .htaccessarquivo:

Além disso, se você quiser conhecer o recurso especialista (IMO) nº 1 em segurança do Apache relacionado ao WordPress, você pode encontrá-lo no AskApache.com ; cara é hardcore! O blog dele não resolverá o problema de " muita informação ", mas pelo menos você poderá vê-lo como um recurso autoritário!

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

Enfim, espero que isso ajude.


Grande Informação para a segurança global, mas não responde sobre / wp-admin / pasta
— Ryan Gibbons

Embora todas essas informações sejam úteis, nada disso tem a ver com a questão. Isso tudo está relacionado ao .htaccess no diretório raiz. A pergunta original era sobre .htaccess no subdiretório wp-admin.
— Doug

@ Insanity5902 @Doug: Meu mal. Só não vi isso quando estava lendo.
— MikeSchinkel

2
Aceitei sua resposta basicamente porque, basicamente, a segurança geral é meu objetivo. Meu blog é muito novo, mas meu tráfego está crescendo. Basicamente, eu só quero medidas de segurança para se e quando eu realmente começar a receber muito tráfego. -Obrigado
— wdypdx22

11
@wdypdx - Muito obrigado. Fiquei realmente envergonhado quando percebi que havia perdido sua pergunta principal em negrito. Ainda bem que acabou positivo.
— MikeSchinkel

4

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

Uma idéia) Se for apenas você editando o site, poderá limitar o acesso à pasta pelo 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 poder permitir a partir de um sub-bloco; portanto, se o pool de IPs for sempre de 1.2.3.128 a 1.2.3.255, você poderá fazer algo como 1.2.3.128/25

Outra idéia) exigem HTTPS, dê uma permissão negada se tentarem por http. Mas não os redirecione para o https. Você pode usar um certificado autoassinado ou um da CA Cert para sobreviver sem comprar um.


0

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

No entanto, a proteção por senha da seção admin com .htaccess desabilitará as comunicações do ajax, pois elas interagem com o wp-admin / admin-ajax.php.

Geralmente, não vejo muitos motivos para adicionar nada ao arquivo .htaccess do administrador, a menos que você seja extremamente paranóico. Os ataques geralmente têm como alvo o conteúdo wp.


11
Um arquivo .htaccess em um subdiretório pode substituir diretivas no diretório raiz, mas um .htaccess em branco não nega nada.
— Doug

Então eu fui mal informado. Hmmmm ...
— John P Bloch

O que você precisa fazer é reverter o que está na raiz, se houver. No entanto, a resposta do Insanity é melhor do que a marcada como a melhor, embora seja melhor que contenha as informações do Insanity.
— Arlen Beiler

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.