VBS-FIREWALL
portuguese version.. english version

Firewall para Servidores Windows Grátis e com detecção de ataque a senha de RDP e FTP

VBSFIREWALL é uma solução de código fonte aberto, fácil de usar e confiável para plataforma Windows 2003 e 2008 Server. Ele tem detecção de força bruta e usa IPSEC o que o torna pequeno e poderoso. Este programa e seu uso é por sua conta e risco. VBSFirewall foi desenvolvido por Claudio para ser usado nos servidores http://www.multihost.com.br e se você tiver duvidas nos envie um email para claudio@vbsfirewall.com. Os scripts são totalmente customizados em qualquer editor de textos de sua preferência. É um código fonte aberto então você pode modificá-lo se desejar.

Funções:

Firewall.exe - Protege sua área de trabalho remota - Protege seu servidor MS FTP - Revela quem tem acesso ao seu servidor - Pode ser instalado diretamente com 2 passos (veja abaixo os pré-requisitos). Configura automaticamente as portas passivas do seu servidor MS FTP (iis6). Compatível com os formatos do Log de Eventos e do W3C para prover suporte a detecção de força bruta (ataques a sua senha). Trabalha diretamente com a MS IPSec Policy. Muito parecido com o iptables.

Descrição:

1) Firewall da Área de Trabalho Remota (RDP) vai proteger suas conexões de Terminal Services e incluir os ips de usuários que estão tentando "adivinhar" sua senha em uma lista do firewall negando conexões a estes ips, enviando para seu email um breve relatório. Este script é programado para rodar a cada 8 minutos, ele obtém informações diretas do Log de Evento. Após 5 erros de senha o ip é bloqueado.

2)Firewall do MS FTP, ele faz exatamente o mesmo que o módulo acima porém protege o seu servidor MS FTP. Ele é capaz de bloquear tentativas de conexões anônimas e ataques de força bruta, enviando para você um email com breve relatório, ele vem agendado para rodar a cada 10 minutos, ele obtém informações diretamente do log do MS-FTP (iis6) e é capaz de ajustar-se ao horário local e do sistema.
Após 10 senhas erradas ou mais o ip do infrator é banido na lista do Firewall.

3) Who logged (ou em português Quem Logou?), este script vai enviar um email sempre que alguém logar-se com sucesso como Administrador na área de trabalho remota, muito útil para saber quem tem acesso total a sua máquina e sua senha, ele vem agendado para rodar a cada 5 minutos e obtém informações diretamente do seu Log de Eventos do Windows Server.

4) Tarefa de Limpeza, vem programada para liberar todos ips bloqueados automaticamente a cada 1 hora.

Firewall para Servidores Windows Grátis e com detecção de ataque a senha de RDP e FTP

Como Funciona?

Antes de instalar você deve cumprir com os pré-requisitos abaixo e ajustar o seu email nos scripts por isso veja as dicas técnicas abaixo.

A instalação é muito simples, o instalador vai backupear as configurações da sua política de segurança local IPSEC, ai vai instalar o nosso Template de segurança. É 100% seguro, livre de spywares ou qualquer coisa do gênero. (Note que este Template foi desenvolvido para nosso uso em servidores de hospedagem compartilhada de alta carga na plataforma windows com painel helm, se você desejar poderá ajustar algumas portas para refletir o seu sistema.) O instalador ira solicitar que você instale o programa necessário para funcionamento do firewall de FTP chamado LOGPARSER 2. Depois disso ele ira configurar na metabase do IIS6 as suas portas passivas do FTP. Finalmente ele ira pedir para você entrar com a senha de Administrador da máquina 4 vezes para configurar as 4 tarefas agendadas. Se você não digitar a senha corretamente deverá em breve clicar no painel de controle -> agendador de tarefas -> com o botão da direita selecione a opção Abrir, e entre com a senha correta nas propriedades avançadas de cada 1 das 4 tarefas recém criadas. Os scripts são salvos na raiz do seu servidor C:\
Você poderá encontrar no mesmo local um desinstalador c:\uninsta.bat que ira restaurar a sua configuração original que não tem funções de IPSEC..

A função de email requer um servidor SMTP local para configurar dentro dos scripts. Isso é muito fácil de se fazer usando o Bloco de Notas ou o Word Pad ou qualquer editor de texto da sua preferência. Você poderá ver no final desta pagina nossas dicas e downloads cobrindo este tópico, porem leia até o final estas instruções.

Depois de instalado o firewall sempre que um ip for banido ele ira aparecer dentro da lista chamada Firewall.


Como eu posso ter acesso a esta lista? E sobre os ips incluídos no firewall?

Star Menu -> Administrative Tools -> Local Security Policy -> Ipsec Policys > IP Security Policies -> na lista da direita de um clique duplo em firewall e abra as propriedades do mesmo, firewall properties -> duplo clique novamente no nome firewall e ele ira abrir a janela vbsfirewall properties -> clique duplo em firewall filter list e ele ira abrir para editar rule properties -> arraste a barra de rolagem para baixo ate poder clicar 2x sobre firewall ip filter list -> Lá nesta filter list você poderá ver os ips que tentaram descobrir sua senha de RDP e FTP. A cada 1 hora uma tarefa ira liberar automaticamente todos ips. Você poderá ajustar a tarefa para rodar a cada 5 minutos durante os seus testes iniciais para evitar que o firewall bloqueie você por muito tempo nos testes ou você pode mudar a ação do filtro FIREWALL para permitir e não negar durante os testes. Não delete o arquivo fire.ips do seu C:\ ele é usado sempre que a tarefa de liberar todos ips roda ou caso você opte por desinstalar o programa. Também não se esqueça de limpar o Log de Eventos periodicamente.



clique na imagem para ampliá-la.



pré-Requisitos para a família windows server 2003 e 2008.

Você precisa ser membro do grupo Administrators da máquina e realizar 2 procedimentos abaixo:

clique em start menu> administrative tools> local security policy > local policy > audit policy

e faça-a configuração ficar igual a das imagens abaixo sempre clicando 2x em cada linha e ajustando todas elas.

vbs firewall free for windows servers
Windows 2003 server - clique na imagem para ampliá-la.
free windows server firewall
Windows 2008 server - clique na imagem para ampliá-la.


clique em start menu > administrative tools > internet information server IIS6 manager> expanda e clique com botão direito em Ftp Default Web Site e escolha properties, então clique em properties ao lado do campo Active Log Format.

faça-a ela ficar igual nas imagens abaixo marcando cada 1 dos checkboxes como "ativo"

free firewall for windows 2008  server
Windows 2003 server - clique na imagem para ampliá-la.
ftp iis6 windows 2008 firewall

Windows 2008 server -clique na imagem para ampliá-la.

Linha de comando:
Se você quiser manualmente negar conexão a algum ip especifico você pode usar no Prompt do MSdos o comando abaixo:
> netsh ipsec static add filter filterlist=firewall srcaddr=Me dstaddr=X.X.X.X protocol=any mirrored=yes

Dicas

Se desejar, também é possível ajustar as tarefas agendadas diretamente do painel de controle do windows. (Você pode, por exemplo, configurar a tarefa de limpeza para rodar a cada 1 minuto durante seus testes)

Não se esqueça de abrir rdpfire.vbs, wholog.vbs e ftpfire.vbs no bloco de notas ou no seu editor de texto favorito e customizar algumas linhas. Ajuste o seu email e outros parâmetros próximo às linhas indicadas abaixo:

rdpfire.vbs
linha 37
strEmailRecipient = ""
preencha com seu email entre as aspas

line 346
"127.0.0.1"
se necessário ajuste nesta linha o ip do seu servidor local de SMTP

line 42 * não obrigatório
dtmStartDate = UTC(Dateadd("n", -8
este -8 significa cada 8 minutos, então se desejar agendar para cada 10 minutos mude -8 para -10

line 238 * não obrigatório
if ac >= 5
Esta linha define o limite de 5 senhas erradas ou mais ele ira incluir o ip na lista de banimento.

wholog.vbs
line 37
strEmailRecipient = ""
preencha com seu email entre as aspas

line 346
"127.0.0.1"
se necessário ajuste nesta linha o ip do seu servidor local de SMTP

line 42 * não obrigatório
dtmStartDate = UTC(Dateadd("n", -5
este -5 significa cada 5 minutos, então se desejar agendar para cada 10 minutos mude -5 para -10

ftpfire.vbs
line 90
Email "mail@yourdomain.com", "[LOG] Security Log Alert - FTP alarm", body
preencha com seu email entre as aspas

line 148
"127.0.0.1"
se necessário ajuste nesta linha o ip do seu servidor local de SMTP

line 39 * não obrigatório
(TO_TIMESTAMP(date,time)))) < 600"
este 600 é o tempo em segundos = a 10 minutos, se desejar agendar este script para 5 minutos mude 600 para 300 e ajuste nas tarefas agendadas o período da tarefa.

line 52 * não obrigatório
if recordSet.GetRecord().getValue(1) >= 10 then
Esta linha define o limite de 10 senhas erradas ou mais ele ira incluir o ip na lista de banimento.


Extras

Você pode baixar também o nosso Script MTA para Mail Enable Standard www.mailenable.com que irá prover uma solução de antispam simples e também um scanner para o antivírus ClamAV grátis. Este código roda tanto em windows 2003 quanto servidores 2008. Você também poderá usar algum antispam externo como spamassassin ou mefilter, usar muitos filtros certamente ira esgotar sua memória e processador consome muito do CPU. Ele foi especialmente programado para trabalhar com o www.mefilter.com . O MeFilter divide uma mensagem para muitos destinatários em várias mensagens, nosso script MTA pula mensagens destinadas a mais de 2 recipientes passando-as por um filtro genérico e scanneando apenas mensagens enviadas para 1 ou 2 recipientes através dos conectores externos.

Para ter a função de antivírus funcionando corretamente você deve fazer o download e instalar o ClamAV-Devel que é uma versão emulada do linux no cygwin utilizando o código Unix original do clamAV.

então dentro de c:\clamav-devel\ você deve criar uma pasta chamada TMP

c:\Clamav-Devel\TMP

download pickup.vbs e newclam.cmd e coloque ambos em:

c:\program files\mail enable\bin\

No Mail Enable MMC expandindo o conector SMTP e clicando com botão da direita em Properties dentro de Advanced Smtp habilite o catch-all header e de o nome bcc conforme a imagem abaixo:



BCC - clique na imagem para ampliá-la.


No Mail Enable MMC expandindo Agents e clicando com o botão da direita em MTA properties você pode copiar e colar a linha abaixo para ativar o script:

cscript //T:30 "C:\Program Files\Mail Enable\Bin\pickup.vbs"

antivirus mail enable
MTA - clique na imagem para ampliá-la.

Você precisa abrir o script pickup.vbs no bloco de notas e customizar algumas linhas depois reiniciar o MTA dentro do Mail Enable MMC.
Você também precisa adicionar uma Tarefa Agendada para limpar o c:\clamav-devel\TMP periodicamente, ele ira ficar muito cheio velozmente em ambientes pesados com muitos usuários e emails por dia.


Downloads (*antes de instalar revise os pré-requisitos e as dicas acima.)

Windows 2003 vbs firewall instalador completo (clique 2x no executável e ele ira instalar e configurar seu firewall automaticamente)
Windows 2008 vbs firewall instalador completo (apos clicar 2x no exe vc deve rodar o comando C:\install.bar o clicar 2x nele para finalizar a instalação no 2008)
Mail Enable - Mail Transport Agent com integração ClamAv e MEfilter.

* veja os pré-requisitos acima!


Doações


Nos apreciamos muito suas doações via PayPal e oferecemos grátis algum script de nossa coleção particular dentre eles:

Mail Enable Count Queue
(pode enviar um email informando sempre que a fila de emails ultrapassar algum limite previamente determinado)
SQL brute force monitor - Obtem informações no Log de Eventos para proteger de ataques de força bruta do seu servidor SQL
Http Error Log and Http Error Site Log são 2 scripts que podem encontrar strings dentro dos seus logs principais e dos logs de domínios de clientes, muito util para encontrar injeções de scripts maliciosos (hijacking)
Simple yet good backup script - utiliza o FTP para transferir arquivos 7zip através de maquinas, realiza backup de pastas e subpastas automaticamente.


Outras dicas importantes de segurança

Em qualquer sistema apesar de um firewall ser muito importante, as permissões da raiz do seu disco e dos usuários de web sites são cruciais para a integridade do seu servidor, então deve-se manter o C:\ com acesso total apenas para o Administrator e o usuário System. Também deve-se evitar ao máximo rodar conteúdos executáveis, manter o sistema atualizado com os service packs mais recentes, moderar o uso de extensões isapi e cgi, isolar os usuários de sites em aplication pools separadas, rodar o asp.net em ambientes compartilhados em nível médio de confiança ou Medim Trust, os servidores SQL também demandam de boa segurança, então pesquise o máximo que puder constantemente sobre estes tópicos.
Algumas strings são muito úteis para encontrar injeções maliciosas de scripts no seu ambiente seja linux or windows especialmente se rodar php como extensão ISAPI no IIS ou como modulo do apache. Utilize o comando "Grep" no linux ou os comandos "find" e "findstring" no windows para examinar os logs dos sites:

txt? (talves a mais importante string a ser procurada em seus logs seja "txt?" pois revela muitas injeções de scripts maliciosos em php)
cgi
.pl
.exe
.com
formmail
email
.src
.pif
cmd.exe
ftp://ftp.
others;

Outras Referências

Estes scripts foram originalmente distribuidos em alguns posts antigos em fóruns especializados como:

http://forums.theplanet.com/lofiversion/index.php/t80929.html
http://forums.webhostautomation.com/showthread.php?t=12381


(c) copyright 2003-2009 multihost.com.br