o mod_access está ativado? link
No topo da minha cabeça, eu estou supondo que não é. Isso é estranho. A maioria das versões do apache que vi vieram com o mod_access compilado em ...
Eu tenho tentado impedir o acesso aos diretórios wp-admin e wp-includes do WordPress no Ubuntu 13.04 com o Apache2 2.2.22. Primeiro, tentei fazer isso usando o .htaccess, que, por algum motivo, não funcionava, mas ao ler Apache Docs eles aconselham contra. Então mudei para a sugestão de colocá-lo na seção <directory>
do arquivo conf. Você pode ver o que estou fazendo errado aqui?
O seguinte é o meu arquivo vserver.conf.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/domain/
ServerName domain.com
ServerAlias www.domain.com
<Directory "/var/www/domain/">
# WordPress Permalink Configuration
# 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]
# wp-include rules remove if multisite
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# END WordPress
Options FollowSymLinks
Order allow,deny
allow from all
</Directory>
<Directory "/var/www/domain/wp-admin">
Order Deny,Allow
Deny from all
# whitelist server IP for use with SSH tunel
Allow from 192.168.0.1
# whitelist home IP address
Allow from 192.168.1.1
</Directory>
<Directory "/var/www/domain/wp-content/plugins/akismet">
Order Deny,Allow
Deny from all
<FilesMatch "^akismet\.(css|js)$">
Allow from all
</FilesMatch>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error-domain.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-domain.log combined
</VirtualHost>
Também no apache2.conf há essa regra para impedir o acesso ao .htaccess, mas ainda posso acessar o arquivo a partir de um navegador.
AccessFileName .htaccess
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy all
</Files>
E em conf.d / security há uma regra para impedir o acesso ao controle de versão que gera um erro 500 em vez de 404 ou 403
# Forbid access to version control directories
#
# If you use version control systems in your document root, you should
# probably deny access to their directories. For example, for git:
#
<DirectoryMatch "/\.git">
Require all denied
</DirectoryMatch>
Aqui estão os mods disponíveis:
actions authn_alias authn_file authz_host cern_meta dav_fs disk_cache fcgid imagemap mem_cache php5_cgi proxy_ftp setenvif suexec
alias authn_anon authnz_ldap authz_owner cgi dav_lock dump_io file_cache include mime proxy proxy_http speling unique_id
asis authn_dbd authz_dbm authz_user cgid dbd env filter info mime_magic proxy_ajp proxy_scgi ssl userdir
auth_basic authn_dbm authz_default autoindex charset_lite deflate expires headers ldap negotiation proxy_balancer reqtimeout status usertrack
auth_digest authn_default authz_groupfile cache dav dir ext_filter ident log_forensic php5 proxy_connect rewrite substitute vhost_alias
E os mods ativados:
actions.conf alias.conf authz_host.load deflate.conf dir.conf env.load headers.load mime.load php5.load reqtimeout.load setenvif.conf status.conf
actions.load alias.load cgi.load deflate.load dir.load expires.load mime.conf php5.conf reqtimeout.conf rewrite.load setenvif.load status.load
Como você pode ver, não há mod_access disponível.
o mod_access está ativado? link
No topo da minha cabeça, eu estou supondo que não é. Isso é estranho. A maioria das versões do apache que vi vieram com o mod_access compilado em ...
Você pode proteger seu diretório especificando DirectoryIndex
<Directory somepath/wp-admin>
DirectoryIndex /pathtosomefilesay/404.html
</Directory>
então, no caso acima, sempre retornará o 404.html
sempre que você tentar o diretório wp-admin em excesso. Você também pode especificar quem permitir.
Espero que isso ajude