Apache: diferença de segurança entre pasta na raiz da web e alias?

Apache: diferença de segurança entre pasta na raiz da web e alias?

Ao servir um site com Apache, conheço duas maneiras de colocar algum conteúdo em "servername/foo":

  1. Coloque-o na raiz da web em uma pasta chamada 'foo'
  2. Crie um alias

Como exemplo do nº 2, o XAMPP possui estas instruções em um arquivo de configuração:

Alias /phpmyadmin "C:/xampp/phpMyAdmin/"

<Directory "C:/xampp/phpMyAdmin">
   AllowOverride AuthConfig
   Order allow,deny
   Allow from all
</Directory>

...O que significa "se o servidor for localhost e alguém visitar localhost/phpmyadmin, mostre o conteúdo de C:/xampp/phpMyAdmin, dado oseguintes permissões."

Neste exemplo, dado que o phpMyAdmin pode ser acessado a partir da mesma URL,do ponto de vista da segurança, importa se está na pasta raiz da web ou apenas com um alias para parecer que estava?

Responder1

Para apache "normal" (estático) e se você restringir o exemplo a um cenário 1:1 restrito: Não, não importa. Hipoteticamente, se você misturar e misturar e perder o controle de quais permissões são herdadas e onde, talvez você possa expor algo que não pretendia.

Acho que o mais importante é que torna mais fácil para uma ramificação de código distinta pertencer (e possivelmente, portanto, ser gravada) por um usuário separado do que aquele que você usa para seu servidor da web e raiz do documento. Isto é necessário para uma embalagem confiável, e uma embalagem confiável é uma parte essencial da segurança a longo prazo.

Lembre-se também de que os módulos do Apache podem ser bastante flexíveis. Portanto, embora o núcleo do Apache não se comporte de maneira diferente, módulos de autenticação de terceiros ou até mesmo configurações de php como open_basedir e include_path podem variar o comportamento.

Responder2

Não.

A instrução Directory se aplica a um DIRETÓRIO. Não importa onde esse diretório existe no sistema.

Observe que o recuo da sua pergunta implica algum tipo de relacionamento entre as linhas Alias ​​​​e Directory, o que realmente não existe.

informação relacionada