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. 4) Tarefa de Limpeza, vem programada para liberar todos ips bloqueados automaticamente a cada 1 hora. |
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.
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"
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"
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