Bloquear IP por java?

Vamos supor q eu tenho um servidor, q fiz no Java usando sockets TCP/IP.
Este servidor funciona normal, ateh q algum fd# começa a conectar sem parar no servidor, e envia muitos dados seguidos pra tentar derruba-lo.

Existe alguma maneira de bloquear o IP dessa pessoa por codigo?

Vlw!

Cara, gostaria de saber isso… mas por chute posso te dizer q axo que tu pode adicionar um filter na tua aplicação para cuidar disso. Tu sabe me dizer como é o padrão de ips do brasil ou entao onde posso encontrar isso? Preciso bloquear ips do rio grande do sul… Mas assim. Por filter acho que tu consegue fazer isso tranquilamente. Já que o bloqueio não é estatico, como o que eu quero fazer, acho bastante dificil tu fazer essa configuração no próprio tomcat (se é que é tomcat). Não sei se respondi algo que contribuiu… Qualquer coisa grita! hehe. Abraço!

Nao eh tomcat, mas nossos casos sao parecidos.
Preciso digamos “Recusar” a conexao…

Vlw!

kra, se tu ta usando sockets é barbadinha. só fazer um if e ignorar caso o kra tente se conectar. dai vai parecer q o server n existe pois ele n respondeu. o dificil eh a logica pra descobrir o kra q ta conectando varias vezes.

Mas se for um servidor na WEB não adianta você bloquear o IP, pois temos o IP dinâmico.
Uma boa saida é impedir pelo o endereço mac da placa de rede.
Mas não sei se é possível no java!

mac address eh barbada de conseguir. É só olhar ali os metodos do socket. Realmente é uma boa usar o mac address.

Eu faço assim:

Se alguem tentar conectar mais de 5 vezes com o mesmo IP em 3 segundos, eu adiciono o IP para uma lista.
No meu programa eu faço um SecurityManager q toda vez q o accept eh chamado, ele antes testa se o ip da conexao ta na lista, se tiver ele manda uma excecao e nao dexa dar o accept.

Como q faz pra pegar o mac?

Alguem tem uma ideia melhor?

Bloquear ataques do tipo “Denial of Service” é melhor tratado pela sua infra-estrutura de rede (como o firewall, roteador ou outras coisas).
Não deve ser feito pela aplicação; não é de responsabilidade dela.
Por exemplo, digamos que a cada vez que você recebesse uma conexão do IP 100.10.0.1 (você precisa pegar o retorno do ServerSocket.accept, não?) você simplesmente fechasse o socket. Isso não é suficiente para barrar um hacker de fritar com sua aplicação. O correto é fazer com que o tal hacker em 10.100.0.1 nem consiga enxergar a sua máquina, o que um firewall bem configurado consegue fazer tranqüilamente.

Em Java você só consegue pegar o MAC Address de seu próprio computador:

http://java.sun.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress()

Não dá para pegar o MAC Address da máquina cliente (a que se conectou ao seu computador). De qualquer maneira, se houver um firewall entre o servidor e o tal hacker, o MAC Address que vai aparecer não é o do hacker e sim o do firewall (ou seja, não adianta nada). Você precisa pegar o IP mesmo.

Entao, eu queria configurar esse firewall pela aplicaçao java.
Pq se ele muda o ip, a aplicacao java muda as configuracoes do firewall, mudando os ips q devem ser bloqueados.

Tem jeito de descobrir de onde vem esse IP? Tpw saber o provedor e sei la, pedir pro provedor tomar providencias, alguma coisa do tipo?

Vlw!

Tem jeito sim, tem sites que localização até a região do ip. Mas vale lembra q se ele estiver usando proxy ele pode por o ip q ele quiser.

Apos pesquisar no google achei um programinha q configura o firewall do windows, q eu to usando por inquanto, depois vo pro linux. Ele chama ipseccmd

Flw!

Sistema de Monitoramento de Ambiente PC Restrainer

Organize e torne mais seguro o acesso à Internet em seu Escritório e/ou Residência:

  • Impedindo a carga e a utilização de quaisquer programas e comandos indesejados.
  • Oferecendo Listas Positivas e Listas Negativas para restrição de acesso à Internet.
  • Possibilitando a definição de horários e de tempo máximo de navegação na Internet.
  • Gerando Relatórios de Uso dos PC?s, organizados por Data, Hora e Usuário, que relacionam
    todos os comandos, funções e programas utilizados.
  • Gerenciando individualmente os usuários através de até 16 tipos de perfil distintos.

O PC Restrainer é uma ferramenta poderosa, completa e simples de utilizar e de baixo custo, que será de enorme auxílio na organização e disciplina do uso de seus recursos de
informática.

Disponível nas versões DOMÉSTICA, PROFISSIONAL E CORPORATIVA (Rede Local).

SIMPLES E FÁCIL DE SER INSTALADO E CONFIGURADO.
TOTALMENTE TRANSPARENTE DURANTE O USO !

CÓPIA DE AVALIAÇÂO GRATUITA .

Visite nosso site :
www.pcrestrainer.com.br