Otimização, segurança e anti-leeching de páginas web Apache

Índice

1. Compressão de páginas da web do Apache

1) Verifique o módulo de compressão

2) Instale o módulo mod_deflate

3) Configure o módulo mod_deflate para habilitar

4) Verifique a instalação e inicie o serviço

5) Teste se a compactação mod_deflate é eficaz

Editar página de teste:

teste

método um:

Método dois:

Dois, o processamento de cache da página da Web do Apache

1) Verifique se o módulo de cache está instalado

2) Nova compilação e instalação, adicionar módulo de cache

3) Configure o módulo de cache 

4) Verifique a instalação do módulo e reinicie o serviço

5) Modifique a página da web de teste e realize o teste de acesso

teste de acesso:

3. Oculte as informações da versão do Apache

1) Modifique a configuração principal do httpd

--linha 491--descomentar

--linha 55--Modificar

Reinicie o serviço e teste o acesso:

4. Apache anti-sanguessuga 

Exibição do experimento de hotlink

1) O host com hotlink acessa o host com hotlink e rouba o caminho de rede da imagem 

2) Os hosts do Hotlink definem seus próprios recursos de imagem do site

3) Teste de acesso após roubo 

Demonstração de medidas anti-sanguessuga

1) Modificação da configuração principal

Baixe o método de configuração:

Modifique a configuração principal:

2) Prepare uma imagem que solicite hotlinkers e coloque-a no diretório raiz da página da web

3) Visite a vitrine

Acesse a página da web do host com hotlink:

Visite a página da web do host de hotlink:


1. Compressão de páginas da web do Apache

Em uma empresa, apenas os parâmetros de configuração padrão são usados ​​após a implantação do Apache, o que causará muitos problemas no site. Em outras palavras, a configuração padrão é para a configuração anterior do servidor inferior, e a configuração anterior não é mais aplicável
. melhorar o desempenho e a estabilidade do Apache, este é o conteúdo da otimização do Apache

1) Verifique o módulo de compressão

apachectl -t -D DUMP_MODULES | grep "deflate"

2) Instale o módulo mod_deflate

Se o módulo mod_deflate não estiver instalado, recompile e instale o Apache para adicionar o módulo mod_deflate

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak
 
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate			
make && make install

3) Configure o módulo mod_deflate para habilitar

vim /usr/local/httpd/conf/httpd.conf
--52行--修改

--105行--取消注释

--197行--取消注释,修改

--末行添加--

4) Verifique a instalação e inicie o serviço

[root@www htdocs]#apachectl -t
Syntax OK
[root@www htdocs]#apachectl -t -D DUMP_MODULES | grep "deflate"
 deflate_module (shared)
[root@www htdocs]#systemctl start httpd

5) Teste se a compactação mod_deflate é eficaz

Editar página de teste:

cd /usr/local/httpd/htdocs
vim index.html
<html><body><h1>It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!It works!</h1>
<img src="game.jpg"/>
</body></html>

teste

método um:

No sistema Linux, abra o navegador Firefox, clique com o botão direito do mouse e clique em Visualizar Elementos
Selecione Rede ---> Selecione HTML, WS, Outros 
para acessar http://192.168.80.10, clique duas vezes na mensagem de resposta 200 para visualizar a resposta cabeçalho contém codificação de conteúdo: gzip

Método dois:

Instale o Microsoft.NET4 e o software fiddler sucessivamente no sistema Windows, abra o software fiddler,
selecione inspetores ---> selecione
Navegador de cabeçalhos para visitar http://192.168.80.10, clique duas vezes na mensagem de resposta 200 para verificar se há Codificação de conteúdo: gzip 

Dois, o processamento de cache da página da Web do Apache

  • Reduza o atraso da rede e acelere a velocidade de abertura da página - o cache está mais próximo do cliente do que do servidor de origem, portanto, leva menos tempo para solicitar conteúdo do cache do que do servidor de origem, e o uso do cache pode acelerar significativamente o velocidade de abertura da página para obter uma melhor experiência
  • Reduzir a pressão no servidor - Depois de definir o período de validade dos recursos de rede, os usuários podem reutilizar o cache local, reduzir as solicitações ao servidor de origem e reduzir indiretamente a pressão no servidor. Ao mesmo tempo, o robô rastreador do mecanismo de pesquisa também pode reduzir a frequência do rastreamento de acordo com o mecanismo de expiração e reduzir efetivamente a pressão no servidor
  • Reduza o consumo de largura de banda da rede - seja para operadores de sites ou usuários, a largura de banda representa dinheiro. Quando a cópia do cache da Web é usada, apenas o tráfego de rede mínimo será gerado, o que pode reduzir efetivamente os custos operacionais
     

1) Verifique se o módulo de cache está instalado

apachectl -t -D DUMP_MODULES | grep "expires"

2) Nova compilação e instalação, adicionar módulo de cache

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak1
 
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires			
make && make install

3) Configure o módulo de cache 

vim /usr/local/httpd/conf/httpd.conf

O monitoramento das linhas 52 e 199 continua sem comentários e modificações relevantes são feitas

--111行--取消注释

--末行添加-- 
<IfModule mod_expires.c>
   ExpiresActive On                            #打开网页缓存功能                                  
   ExpiresDefault "access plus 60 seconds"     #设置缓存时间为60s          
</IfModule>

4) Verifique a instalação do módulo e reinicie o serviço

[root@www httpd-2.4.29]#apachectl -t
 
[root@www httpd-2.4.29]#apachectl -t -D DUMP_MODULES | grep "expires"
 
[root@www httpd-2.4.29]#systemctl restart httpd

5) Modifique a página da web de teste e realize o teste de acesso

[root@www httpd-2.4.29]#cd /usr/local/httpd/htdocs

vim index.html 
<html>
    <body>
        <h1>
            this is a game
        </h1>
        <img src="games.jpg"/>
    </body>
</html>

teste de acesso:

3. Oculte as informações da versão do Apache

Se ativarmos o serviço Apache, outras pessoas poderão encontrar o número da sua versão do Apache por meio de F12, para explorar algumas vulnerabilidades conhecidas ou vulnerabilidades de dia zero para atacar, o que é muito perigoso. Portanto, para reduzir um pouco - até mesmo um pouco de risco, é melhor optar por ocultar as informações da versão do Apache

1) Modifique a configuração principal do httpd

vim /usr/local/httpd/conf/httpd.conf

--linha 491--descomentar

vim /usr/local/httpd/conf/extra/httpd-default.conf

--linha 55--Modificar

Reinicie o serviço e teste o acesso:

Se as informações da página não forem atualizadas com sucesso. Você pode tentar limpar todas as informações do histórico primeiro e depois visitar

4. Apache anti-sanguessuga 

Na era da Internet, a questão mais preocupante do site é o número de visitas do usuário. O que atrai os usuários geralmente são novos títulos, imagens e seu conteúdo, e carregar esses recursos ocupa os recursos do servidor. E algumas empresas sem escrúpulos irão redirecionar as fotos em seu site para o seu site, ler suas fotos, ocupar sua largura de banda e recursos do servidor, mas o tráfego é ocupado por ele

Então é necessário configurar o apache anti-leech

Exibição do experimento de hotlink

Neste experimento, preparei duas máquinas virtuais, uma é o host que compila e instala o serviço apche a partir do código-fonte, como o host com hotlink, e o nome de domínio é definido como www.test.com, e o outro é o host que instala o serviço apache para yum, como o host roubado O host da cadeia, o nome de domínio é definido como www.test1.com

1) O host com hotlink acessa o host com hotlink e rouba o caminho de rede da imagem 

2) Os hosts do Hotlink definem seus próprios recursos de imagem do site

3) Teste de acesso após roubo 

Observação: este teste visita o host do hotlink para explorar a origem da imagem

Demonstração de medidas anti-sanguessuga

1) Modificação da configuração principal

Como os módulos relevantes foram baixados quando o código-fonte desta máquina é compilado, a configuração é modificada diretamente. Se você não baixou os módulos relevantes, você precisa baixar a configuração

Baixe o método de configuração:

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak2
 
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \					#加入mod_rewrite 模块
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires
 
make && make install

Modifique a configuração principal:

vim /usr/local/httpd/conf/httpd.conf
--157行--取消注释 

--224行--进行配置添加

Significado do campo RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$ [NC]:

  • "%{HTTP_REFERER}": armazena uma URL de um link, indicando qual link é usado para acessar os recursos estáticos no diretório
  • "!^": Indica que não começa com a seguinte string
  • "http://www.test.com": é o caminho deste site, correspondente à string inteira
  • ".*$": significa terminar com qualquer caractere
  • "[NC]": indica que não diferencia maiúsculas de minúsculas

Significado do campo RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.png:

  • ".": significa corresponder a um caractere
  • "*": significa corresponder 0 a vários caracteres, combinado com "." significa corresponder a qualquer caractere na frente de 0 a várias vezes; se for 1 a várias correspondências, você pode usar "+" para indicar
  • "\.": "\" aqui é um caractere de escape e "\." significa o símbolo ".". Porque "." é um caractere de regra no comando e tem um significado correspondente. Se você precisar corresponder, precisará adicionar um caractere de escape "\" na frente dele. Se precisar corresponder a outros caracteres de regra, faça o mesmo
  • "(gif|jpg|swf)": significa corresponder a qualquer um dos "gif", "jpg" e "swf" e "$" significa final. A regra final termina com ".gif", ".jpg" e ".swf", precedido por uma string de 1 a mais caracteres, ou seja, um arquivo que corresponda ao tipo de imagem
  • "http://www.test.com/error.png": indica encaminhamento para este caminho 

2) Prepare uma imagem que solicite hotlinkers e coloque-a no diretório raiz da página da web

3) Visite a vitrine

Acesse a página da web do host com hotlink:

Acho que você gosta

Origin blog.csdn.net/qq_21003381/article/details/130934124
Recomendado
Clasificación