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?
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!
B
brunoja
Nao eh tomcat, mas nossos casos sao parecidos.
Preciso digamos “Recusar” a conexao…
Vlw!
M
mauriciorocha665
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.
S
sfing
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!
M
mauriciorocha665
mac address eh barbada de conseguir. É só olhar ali os metodos do socket. Realmente é uma boa usar o mac address.
B
brunoja
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?
T
thingol
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.
T
thingol
Em Java você só consegue pegar o MAC Address de seu próprio computador:
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.
B
brunoja
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!
K
king_of_gods
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.
B
brunoja
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!
P
pcrestrainer
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 !