Ir para conteúdo

Featured Replies

Postado

Boa tarde pessoal , tudo jóia? 

Atualmente estou utilizando o plugin da ServerPing UnBlockIp na versão 2.04, porém quando o cliente realiza o desbloqueio não é retornado o motivo que acarretou o bloqueio do IP no firewall, ficando uma mensagem "Desconhecido" como motivo. 

Alguém conhece algum outro plugin para essa função de desbloqueio ou alguma correção para o problema acima? 

 

Obrigado!!! 

 

 



Postado

Eu enfrentava muito esse problema principalmente devido a clientes que usavam uma versão do Outlook antiga e quando a senha era inválida este Outlook ficava tentando se conectar várias vezes -- o mesmo comportamento de alguém tentando fazer força bruta.

O meu CSF deixo configurado para bloquear o IP se o usuário usar dados inválidos ao se conectar usando o protocolo IMAP mais de 20 vezes.

Teve um dia que não aguentei mais e acabei dando um "jeitinho" porque não aguentava mais desbloquear IP de cliente. Tomava muito o meu tempo.

O comando para desbloquear um IP no CSF é o "csf -g IP", então procurei uma ferramenta que pudesse transformar o shell em uma API para poder fazer a integração com outros sistemas, como o WHMCS:

msoap/shell2http: Executing shell commands via HTTP server (github.com)

Achei essa ferramenta que funcionou muito bem.

Através dela eu poderia criar um endereço do tipo:

https://example.com/desbloquear_ip?ip=1.1.1.1

E quando a minha aplicação acessasse essa URL, um servidor web iria receber a solicitação e executar o comando no shell. Simples.

Implementei essa solução utilizando um bot do Telegram:

Screenshot_923.png.9f32763cb2e61786033ae08e6b22fe51.png

No entanto, se for utilizar esse método, algumas considerações de segurança:

1. Configure BASIC AUTH e crie uma URL randômica

Exemplo, em vez de criar uma URL assim:

https://example.com/desbloquear_ip?ip=1.1.1.1

Crie algo como:

https://example.com/desbloquear_ipGLFFKCLKDCLDKFCDLDK?ip=1.1.1.1

Vai da sua criatividade. O uso de uma hash, api key ou o que quer que seja, vai impedir que seja indexado pelo Google por exemplo.

Configure o basic auth também. Isso é básico sobre segurança.

2. SEMPRE valide a informação recebida pelo usuário

Se não for um endereço de IP legítimo o meu BOT já barra a solicitação. Nem envia a requisição pro servidor. Mais do que necessário.

3. Dica extra: Crie um shell script

Do lado do servidor, crie um script do tipo "unblock_ip.sh" e nele, verifique se o argumento passado é um endereço de IP legítimo e só depois desbloqueie o IP.

Acho importante essa verificação nas duas pontas. Tanto do lado do BOT do Telegram quanto do servidor.

O próprio shell2http vai te ajudar na segurança. Até onde eu sei, não é possível fazer um "&&" ou ";" e concatenar comandos. No entanto, usando o bom senso eu não vejo nenhuma possível vulnerabilidade neste método.

4. Recaptcha (Eu não implementei) - Avançado

Indo um pouco além, você pode criar uma página web para só para verificar o endereço IP do usuário. Não faz sentido alguém poder desbloquear um IP de terceiro, ok? Pode implementar o reCaptcha do Google também para evitar que bots acessem a página OU utiliza o Cloudflare e cria um page rule com a regra "I'm under attack" para a página em questão. O Cloudflare é bem efetivo também.

Não vi ainda a necessidade, mas se a sua hospedagem for bem 'famosinha', pois a maioria dos ataques que eu recebo, até onde eu sei não são direcionados, são apenas bots estúpidos tentando acessar o usuário "anonymous" ou "admin", você pode dá uma olhada no passo 4 com mais calma.

 

Bem te passei a ideia do que você pode fazer. Parece complicado mas é bem simples. Tem muita coisa pronta. O trabalho que você vai ter mesmo é só integrar tudo. Se quiser me contratar $$$ fico à disposição, ou você mesmo pode fazer. É bem fácil.


Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Concorda com os nossos termos?