Instale um antivírus em um servidor web, é uma boa ideia?

14

Acabei de adquirir um servidor dedicado com o Windows 2008 Standard Edition e estou tentando fazer a configuração necessária para executar meu aplicativo Web nele.

Estava pensando, é uma boa idéia instalar um antivírus no servidor da web? No aplicativo, os usuários não podem fazer upload de arquivos, exceto imagens (e verificaram se eram imagens no código do aplicativo antes de serem salvos no servidor). Sou encorajado a não instalar um antivírus para não afetar o desempenho ou causar problemas com o aplicativo. Perderei algo ao fazer isso?

obrigado

Mee
fonte
Você diz que os arquivos são verificados por serem imagens no código do aplicativo antes de serem salvos - isso implica que o arquivo carregado está em algum diretório temporário antes que o aplicativo o veja? Nesse caso, ele já está no servidor antes de você verificá-lo! Qual servidor da web você está usando?
Steve Folly
Na verdade, as imagens são verificadas na memória, não são salvas em nenhuma pasta temporária. Eles são salvos no disco apenas se passarem na verificação no aplicativo. Estou usando o IIS, é um aplicativo ASP.NET
Mee
Além disso, mesmo se você salvar um arquivo em uma pasta temporária, mas não executá-lo, isso não causará problemas. Mas, novamente, este não é o caso.
Mee

Respostas:

18

Um servidor web bem executado, se o IMHO não tiver um pacote antivírus comercial (AV) instalado. O tipo de vírus de macro do Office e cavalos de Troia para o mercado de massa para os quais os pacotes AV são otimizados não correspondem aos problemas de um servidor da Web.

O que você deve fazer é:

  1. Obcecado com a validação de entrada. Exemplos: que os usuários não podem carregar conteúdo malicioso no seu site (vírus, injeção de SQL, etc.); que você não está vulnerável a ataques de script entre sites etc.
  2. Mantenha seu servidor atualizado com as atualizações de segurança mais recentes e configurado de acordo com as práticas recomendadas. Veja coisas como o kit de ferramentas de segurança Microsofts .
  3. Tenha um firewall separado. Não ajuda muito em intrusões, mas adiciona outra camada de defesa contra serviços de rede mal configurados e ajuda com ataques simples do DOS. Também ajuda bastante no bloqueio de possibilidades de gerenciamento remoto etc.
  4. Instale um sistema de detecção de intrusão de host (H-IDS) em seu servidor, ao longo das linhas do venerável Tripwire .

Há muita confusão sobre os termos, as palavras são frequentemente usadas de várias maneiras diferentes aqui. Para ser claro, o que quero dizer com H-IDS aqui é:

  • um serviço em um computador
  • que verifica continuamente todos os arquivos executáveis ​​no computador
  • e lança um alerta sempre que um arquivo executável for adicionado ou modificado (sem autorização).

Na verdade, um bom H-IDS fará um pouco mais do que isso, como monitorar permissões de arquivos, acesso ao registro, etc.

Um sistema de detecção de intrusões de host requer alguma configuração, pois pode gerar muitos erros falsos se não for configurado corretamente. Mas, uma vez instalado, ele trará mais invasões do que os pacotes AV. Especialmente, o H-IDS deve detectar um backdoor hacker exclusivo, que um pacote AV comercial provavelmente não detectará.

O H-IDS também é mais leve na carga do servidor, mas esse é um benefício secundário - o principal benefício é uma melhor taxa de detecção.

Agora, se os recursos forem limitados; se a escolha for entre um pacote AV comercial e não fazer nada, eu instalaria o AV . Mas saiba que não é o ideal.

Jesper M
fonte
Obrigado. Eu realmente não me sinto incentivado a instalar um antivírus, mas essa é a primeira vez que gerenciamos um servidor da Web. Estava preocupada com a falta de algo. Eu acho que seria melhor sem o AV. Vou apenas tentar ter mais cuidado com o que executo no servidor.
Mee
1

Depende. Se você não estiver executando nenhum código desconhecido, ele poderá ser desnecessário.

Se você possui um arquivo infectado por vírus, o próprio arquivo é inofensivo enquanto estiver no disco rígido. Só é prejudicial quando você o executa. Você controla tudo o que é executado no servidor?

Uma pequena variação é o upload de arquivos. Eles são inofensivos para o seu servidor - se eu enviar uma imagem manipulada ou um arquivo .exe infestado de cavalos de Troia, nada acontecerá (a menos que você o execute). No entanto, se outras pessoas baixarem os arquivos infectados (ou se a imagem manipulada for usada na página), seus computadores poderão ser infectados.

Se o seu site permitir que os usuários carreguem qualquer coisa que seja mostrada ou baixável para outros usuários, convém instalar um antivírus no servidor da Web ou ter algum tipo de "Servidor de verificação de vírus" em sua rede que verifique todos os arquivos.

Uma terceira opção seria instalar o Antivírus, mas desativar a verificação ao acessar em favor de uma verificação agendada fora dos horários de pico.

E para virar completamente essa resposta em 180 °: geralmente é melhor prevenir do que remediar. Se você trabalha no servidor da Web, é fácil clicar acidentalmente em um arquivo incorreto e causar estragos. Claro, você pode se conectar a ele milhares de vezes para fazer algo através do RDP sem tocar em nenhum arquivo, mas na 1001ª vez você executará acidentalmente esse exe e se arrependerá, porque você nem sabe ao certo o que um vírus faz (hoje em dia eles baixam novos código da Internet também) e precisaria realizar análises forenses intensivas em toda a sua rede.

Michael Stum
fonte
Muito obrigado, outra ótima resposta que confirma que posso fazer sem o AV.
Mee
1

Se for baseado no Windows, como você disse, eu faria. Também tentaria encontrar alguma forma de detecção de invasão de host (um programa que monitora / audita arquivos que estão mudando no servidor e o alerta sobre as alterações).

Só porque você não está alterando arquivos no servidor, não significa que não haja um estouro ou vulnerabilidade de buffer que permita que outra pessoa altere os arquivos no servidor remotamente.

Quando há uma vulnerabilidade, o fato de haver uma exploração geralmente é conhecido dentro de uma janela de tempo entre a descoberta e a correção distribuída, e há uma janela de tempo até que você obtenha a correção e a aplique. Nesse período, geralmente há alguma forma de exploração automatizada disponível e crianças de scripts estão executando para expandir suas redes de bots.

Observe que isso também afeta os antivírus, uma vez que: novo malware criado, malware distribuído, amostras vão para sua empresa de antivírus, análises de empresas de antivírus, empresa de antivírus libera nova assinatura, você atualiza a assinatura, você é supostamente "seguro" e repete o ciclo. Ainda há uma janela em que ela se espalha automaticamente antes de você ser "inoculado".

Idealmente, você pode simplesmente executar algo que verifique alterações de arquivo e alertá-lo, como TripWire ou funcionalidade similar, e manter registros em outra máquina que está meio isolada do uso, portanto, se o sistema estiver comprometido, os registros não serão alterados. O problema é que, uma vez que o arquivo é detectado como novo ou alterado, você já está infectado e, quando está infectado ou há um intruso, é tarde demais para confiar que a máquina não teve outras alterações. Se alguém quebrou o sistema, poderia ter alterado outros binários.

Depois, torna-se uma questão de você confiar nas somas de verificação e nos logs de invasão do host e em suas próprias habilidades para limpar tudo, incluindo rootkits e arquivos de fluxo de dados alternativo que possivelmente estão lá? Ou você faz as "melhores práticas" e limpa e restaura do backup, uma vez que os logs de intrusão devem pelo menos informar quando isso aconteceu?

Qualquer sistema conectado à Internet executando um serviço pode ser potencialmente explorado. Se você tem um sistema conectado à Internet, mas na verdade não está executando nenhum serviço, eu diria que você provavelmente está seguro. Servidores da Web não se enquadram nesta categoria :-)

Bart Silverstrim
fonte
0

Sim, sempre. Citando minha resposta do superusuário :

Se estiver conectado a qualquer máquina que possa estar conectada à Internet, então absolutamente sim.

Existem muitas opções disponíveis. Embora eu pessoalmente não goste da McAfee ou Norton, eles estão por aí. Há também AVG , F-Secure , ClamAV (embora a porta win32 não esteja mais ativa), e tenho certeza que centenas mais :)

A Microsoft chegou a trabalhar em uma delas - não sei se ela ainda está disponível fora da versão beta, mas ela existe.

ClamWin , mencionado por @ J Pablo .

Warren
fonte
2
Obrigado pela sua resposta, mas .. este não é um servidor Windows, este é um servidor Web, portanto, o desempenho é de extrema importância aqui. Observe que o software antivírus irá verificar todos os arquivos acessados, ou seja. qualquer arquivo solicitado por um visitante. Preciso de um bom motivo para instalar um antivírus e correr o risco de ter problemas com o desempenho, além de apenas diretrizes de segurança para computadores em geral.
Mee
não fará a varredura de cada arquivo que é acessado se configurado corretamente - e não há nenhuma razão para que ficheiros de digitalização no acesso quando estão sendo servido - apenas para ataques, etc
Warren
1
@ O desempenho desconhecido é da maior importância no servidor da web? Com relação a isso, sugiro que, se você estiver com pouca sobrecarga disponível, o fato de apertar alguns ciclos da CPU para uma varredura de arquivos afetar a experiência do usuário final na rede, você pode ter outro problema com a forma como o aplicativo é definido acima.
22411 Bart Silverstrim
@ warren, eu sei que você pode excluir todos os diretórios que você deseja da verificação de acesso, mas, neste caso, qual é o sentido de instalar um antivírus em primeiro lugar? Quero dizer, se os usuários ainda poderão fazer upload de arquivos sem serem verificados, não há sentido em ter um antivírus em execução no servidor nesse caso.
Mee
2
@ Bart, no que diz respeito ao software antivírus que leva mais do que alguns ciclos de CPU para uma verificação de arquivos, eles diminuem a velocidade do seu computador pessoal, usado apenas por você, então o que você espera de um servidor da Web acessado por centenas ou milhares de pessoas?
Mee