O Apache servirá o vhost padrão para ServerNames desconhecidos.
Cole isso no topo da configuração do vhost, verifique com apachectl -S
<VirtualHost _default_:*> RedirectMatch permanent ^/?(.*) http://website2.com/$1 </VirtualHost>
Eu tenho o Apache configurado em uma caixa do CentOS 5 com alguns hosts virtuais.
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/default
ServerName fail
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/website1.net
ServerName website1.net
ServerAlias *.website1.net
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/website2.com
ServerName website2.com
ServerAlias *.website2.com
</VirtualHost>
Alguém configurou um CNAME para o website2.com, efetivamente fingindo que ele administra o site.
Consegui redirecioná-lo com mais mágica de configuração do Apache.
<VirtualHost *:80>
ServerName evil.villain.com
RedirectMatch permanent ^/?(.*) http://website2.com/$1
</VirtualHost>
Mas essa técnica exige que eu especifique o domínio que desejo redirecionar.
Existe uma maneira de redirecionar todos os registros "malignos" CNAME para o meu próprio nome de domínio?
O Apache servirá o vhost padrão para ServerNames desconhecidos.
Cole isso no topo da configuração do vhost, verifique com apachectl -S
<VirtualHost _default_:*> RedirectMatch permanent ^/?(.*) http://website2.com/$1 </VirtualHost>