Bloquear Bots é Spam Globalmente no Servidor Apache.

Quando se trata de segurança no servidor web, temos sempre de nos preocupar com a existência de bons bots e bots ruins. Um exemplo de um bom bot seria o Googlebot. O Googlebot é o bot de rastreamento da web do Google que rastreia o novo conteúdo dos sites e o adiciona ao mecanismo de pesquisa para indexação. Um exemplo de um bot ruim seria Yandex é Baiduspider. Os bots nem sempre são mal-intencionados, no entanto, na maioria das vezes, também não é necessário que eles rastreiem seu site. Eles consomem sua largura de banda, ocupam recursos do servidor e roubam seu conteúdo.

Você pode facilmente bloquear os bots através do seu arquivo .htaccess com uma regra como esta aqui:

BrowserMatchNoCase "Baiduspider" bots

Order Allow,Deny
Allow from ALL
Deny from env=bots

Para efetuar um teste se a regra acima está funcionando, você pode executar o seguinte:

curl -A "Baiduspider" http://yourdomain.com

No entanto, o uso do .htaccess em um servidor que hospeda muitos site não é indicado, pelo fato do tempo que séria necessário para adicionar o código em cada conta. Também temos o fato que o servidor apache téria que ler o arquivo .htaccess de cada site hospedado no servidor para aplicar as devidas regras de bloqueio, o que ocasionaria em sobrecarga de CPU e um aumento significativo no consumo de memória.

Uma maneira mais simples de proteger nosso servidor dos bots ruins e também os sites que neles estão hospedados, e criar um arquivo com as regras e depois referenciar esse arquivo nas configurações do nosso servidor Apache.
Se você usa o CPANEL/WHM para gerenciar seu servidor e sites, você pode colocar as regras no arquivo, pre_main_global.conf.
O caminho exato do arquivo:
/usr/local/apache/conf/includes/pre_main_global.conf
Para os que não usam o cPanel, vou deixar um arquivo pessoal com as regras que utilizo na segurança dos meus sites.
Clique Aqui para visualizar o arquivo.
Para utilizar meu arquivo de configuração contra bots, basta colocá-lo na pasta CONF.D do seu servidor apache.
Depois abrir o arquivo httpd.conf ou apache2.conf, e incluir a linha referenciando o arquivo exemplo:
Include /usr/local/apache/conf.d/bots.conf
Mas se o seu arquivo de configuração do seu servidor Apache, existir uma linha com conf.d/*.conf você não precisa referenciar a linha informada acima. Por que o asterisco seguido de .conf informa para o arquivo de configuração do Apache que todos os arquivos localizados na pasta conf.d com final .conf devem ser carregados junto com o arquivo de configuração do servidor.
exemplo da linha completa no arquivo de configuração do Apache no Centos 6.8:
</div>
<div>Include /usr/local/apache/conf.d/*.conf</div>
<div>
Adicionando suas regras no arquivo informado, suas alterações estão salvas de uma possível reconstrução do cPanel.
Dependendo dos bots que você deseja bloquear, você pode simplesmente mudar o nome ou adicionar mais regras.
No exemplo abaixo deixo um código de como bloquear o Yandex e o MJ12bot, então vou usar as regras abaixo:
<LocationMatch ".*">
SetEnvIfNoCase User-Agent "MJ12bot" bad_user
SetEnvIfNoCase User-Agent "YandexBot" bad_user
Deny from env=bad_user
</LocationMatch>

<If "%{HTTP_USER_AGENT} == 'MJ12bot'">
Deny from all
</If>

<If "%{HTTP_USER_AGENT} == 'YandexBot'">
Deny from all
</If>

<Directory />
SetEnvIfNoCase User-Agent "MJ12bot" bad_user
SetEnvIfNoCase User-Agent "YandexBot" bad_user
Deny from env=bad_user
</Directory>

Você pode alterar as partes do MJ12bot e do YandexBot com quaisquer bots que você gostaria de bloquear ou simplesmente adicionar mais regras para os outros bots que você deseja bloquear.
Isso é muito eficaz contras os bots ruins, então se um dos bots tentar acessar seus sites, eles receberão uma mensagem 403 Forbirdden.

Até a próxima.

Thiago Souza

Sou bacharel em Sistemas de Informação pela Faculdade Cenecista de Sete Lagoas, atualmente estudando para certificações Linux LPI Nível 1, CompTIA Linux+ e Novell Linux Administrator, Tenho interesse por todas as áreas da informática, mas em especial em Gestão, Segurança da Informação, Ethical Hacking e Perícia Forense. Sempre disposto a receber sugestões de assuntos para criar uma postagem.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.