andrebatista
(usa Debian)
Enviado em 11/07/2012 - 16:29h
Bem, vou deixar bem claro, sou iniciante em Linux, mas cuido de uma empresa que possui um servidor Win2003 Server(Dados) e um Debian(internet), e por acaso descobri um usuario utilizando o Ultra Surf 12, procurando muito descobri que é muito dificil bloquear esse programa que burla toda segurança da internet, mas como consegui bloquear, resolvi pelo fato de não haver muita documentação sobre isso, postar aqui a forma que utilizei para bloquea-lo segue abaixo:
Começando
Vamos lá, esse pequeno tutorial é para tratar um problema especifico, sendo assim eu suponho que você já sabe usar o iptables, afinal já está aqui buscando uma forma de fazer um bloqueio mais avançado, rs
Acredito que essa solução possa ser utilizada por todos, para firewall simples até o mais complexo.
Eu estou usando Debian 5.0.3, iptables 1.4.2 e fail2ban 0.8.3.
iptables
Essa parte é bem simples, no seu script de firewall adicione a seguinte linha.
iptables -A FORWARD -d 65.49.14.0/24 -j LOG --log-prefix "=UltraSurf= "
A rede 65.49.14.0/24 é a primeira a ser contactada pelo UltraSurf quando ele é aberto, a regra acima apenas gera um LOG, não existe bloqueio do acesso, em um primeiro momento o usuário vai até pensar que está funcionando.
ATENÇÃO
Coloque essa regra antes da regra com o modulo state (-m state –state ESTABLISHED,RELATED).
Se colocar depois os pacotes das conexões já estabelecidas não irão para o LOG e pode gerar falhas no bloqueio.
fail2ban
O fail2ban é uma ferramenta muito boa para a segurança de servidores, em linhas gerais ela faz o seguinte.
Lê algum arquivo de log, compara com uma expressão regular e em caso positivo ele executa algum comando no sistema.
Por padrão ele monitora o log do SSH e em caso de falhas consecutivas no acesso ele cria uma regra no iptables para bloquear o possível invasor.
Instalando
Como eu estou utilizando o Debian e vou instalar pelo apt-get.
apt-get install fail2ban
Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: python-gamin The following NEW packages will be installed: fail2ban 0 upgraded, 1 newly installed, 0 to remove and 100 not upgraded. Need to get 86.2kB of archives. After this operation, 631kB of additional disk space will be used. Get:1
http://ftp.br.debian.org stable/main fail2ban 0.8.3-2sid1 [86.2kB] Fetched 86.2kB in 0s (419kB/s) Selecting previously deselected package fail2ban. (Reading database ... 38547 files and directories currently installed.) Unpacking fail2ban (from .../fail2ban_0.8.3-2sid1_all.deb) ... Processing triggers for man-db ... Setting up fail2ban (0.8.3-2sid1) ...
Depois de instalado vamos acessar o diretório de configuração
# cd /etc/fail2ban/
Aqui vamos criar um arquivo chamado jail.local
vi /etc/fail2ban/jail.local
Vamos adicionar o conteúdo abaixo ao arquivo jail.local.
[ultrasurf]
enabled = true
filter = ultrasurf
port = all
banaction = iptables-ultrasurf
logpath = /var/log/messages
maxretry = 6
# Tempo em segundos que o IP fica bloqueado, aqui 15 minutos
bantime = 900
Vamos criar o arquivo com a expressão regular que irá filtar o log do iptables.
vi /etc/fail2ban/filter.d/ultrasurf.local
Aqui vamos adicionar uma expressão regular simples ao arquivo ultrasurf.local.
[Definition]
failregex = (.*)=UltraSurf=(.*) SRC=<HOST>
ignoreregex =
Apesar de simples, funciona
Agora o arquivo que irá executar o iptables e criar as regras necessárias para o bloqueio e desbloqueio.
vi /etc/fail2ban/action.d/iptables-ultrasurf.local
Aqui é onde a magica acontece, adicione o conteúdo abaixo ao arquivo iptables-ultrasurf.local.
[Definition]
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I INPUT -j fail2ban-<name>
iptables -I FORWARD -j fail2ban-<name>
actionstop = iptables -D FORWARD -j fail2ban-<name>
iptables -D INPUT -j fail2ban-<name>
iptables -F fail2ban-<name>
iptables -X fail2ban-<name>
actioncheck = iptables -n -L FORWARD | grep -q fail2ban-<name>
iptables -n -L INPUT | grep -q fail2ban-<name>
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j REJECT
actionunban = iptables -D fail2ban-<name> -s <ip> -j REJECT
[Init] name = ultrasurf
Agora basta reiniciar o Daemon
/etc/init.d/fail2ban restart
Foi dessa forma que consegui bloquear o Ultra Surf 12.01
espero ter ajudado de alguma forma