Remover Banner
Para melhorar a segurança do servidor vamos ocultar a versão e o nome do serviço rodando, alterando o seu respectivo banner.
Apache:
Para mudar o Banner do Apache será preciso fazer algumas alterações em seu código fonte antes de compilá-lo.
Vamos extrair o pacote:
#tar -zxvf httpd-2.x.x.tar.gz
Entre na pasta httpd-2.x.x/include e edite a header "ap_release.h":
#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Apache"
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER 3
#define AP_SERVER_DEVBUILD_BOOLEAN 0
Modifiquei para isso, mas fica seu critério colocar o nome e a versão que quiser!
#define AP_SERVER_BASEVENDOR "Microsoft Software Foundation"
#define AP_SERVER_BASEPROJECT "Microsoft-IIS"
#define AP_SERVER_BASEPRODUCT "Microsoft-IIS"
#define AP_SERVER_MAJORVERSION_NUMBER 6
#define AP_SERVER_MINORVERSION_NUMBER 0
#define AP_SERVER_PATCHLEVEL_NUMBER 0
#define AP_SERVER_DEVBUILD_BOOLEAN 0
Depois disso basta instalar o pacote normalmente!
Depois de instalado defina a opção "ServerSignature" no arquivo de configuração do Apache /etc/apache/httpd.conf :
ServerSignature Off
Uma opção que não vem incluída por padrão no httpd.conf que pode ser muito útil, é a ServerTokens, abaixo vamos descrever um pouco dela. A opção ServerTokens tem a função de esconder ou mostrar o nome, versão, sistema operacional e módulos ativos no servidor Web em caso de scaneamento e outras formas de "TCP fingerprint " no Webserver. Exemplos de sua utilização.
ServerTokens prod: Revela somente o nome do webserver.
Exemplo: Apache;
ServerTokens Min: Esta opção revela: nome do webserver e sua versão.
Exemplo: Apache/1.3.22;
ServerTokens OS: Esta opção revela o nome de seu webserver, Versão e o Sistema Operacional.
Exemplo: Apache/1.3.22 (Unix);
ServerTokens Full: Esta opção revela nome, Versão, Sistema Operacional e os Modulos do servidor.
Exemplo: Apache/1.3.22 (Unix) mod_ssl/6.0.0 OpenSSL/0.9.7e;
Recomendo usar a diretiva "ServerTokens prod" para melhor segurança.
ProFTPd:
Edite o arquivo /etc/proftpd/proftpd.conf e altere as linhas abaixo, se não existir então acrescente:
ServerIdent off
RootLogin off
Crie o arquivo welcome.msg no diretorio home dos usuários que terão acesso no FTP e coloque uma mensagem qualquer.
#vi /home/<user>/welcome.msg
Squid:
Quando o Squid é instalado via pacote, em geral ele já possui um diretório padrão onde as páginas de erro são armazenadas. Por exemplo, no Debian, elas ficam em /usr/share/squid/errors/English. Em outros empacotamentos, elas podem estar em /etc/squid/errors. De qualquer forma, é possível escolher qual o diretório que lhe agrada, procurando no squid.conf pelo parâmetro error_directory, alterando-o se desejar.
Estas páginas são arquivos html com nomes em maíusculas correspondente ao erro que as carregará. Por exemplo, quando o acesso for negado ao usuário, o conteúdo da página ERR_ACCESS_DENIED será exibido. Após alterar as páginas, formatando-as a seu gosto, é preciso reiniciar o Squid para que as mudanças passem a vigorar.
Para criar uma página de erro que deve ser exibida em caso de uma ACL falhar é preciso procurar no squid.conf o parâmetro deny_info. O formato de uso para este parâmetro, conforme podemos ver na ajuda do squid.conf é:
deny_info pagina_de_erro acl
ou
deny_info http://URL acl
Exemplo
deny_info erro_endereco_pornografia porn
Onde erro_endereco_pornografia é uma página HTML de erro, criada por você, explicando que aquele endereço que o usuário tentou acessar é de uma possível página pornográfica e porn é a ACL que lista os sites pornográficos. Se optar por ativar este parâmetro, não esqueça de criar a página erro_endereco_pornografia, colocá-la no diretório das páginas de erro e então reiniciar o Squid. Além disso, é possível, em vez de mostrar uma página de erro criada por você, redirecionar o usuário para um endereço web qualquer, substituindo erro_endereco_pornografia pelo endereço desejado.