Que “Syn Proxy Servers” são recomendados? Ou como construir um?

1

Minhas perguntas são:

1.) O que é um "SYN PROXY SERVER" recomendado para filtrar falsos SYN Attacks e apenas encaminhar conexões válidas "handshaked" para o host por trás dele (para ser protegido). Eu procuro o termo, mas não encontrei nenhum hits direto / produtos, de preferência de código aberto / livre?

2.) Se não houver servidores Syn Proxy "prontos para construção", como posso construir o meu próprio (com iptables?)

3.) Os Servidores Proxy Syn são recomendados e úteis? Alguém tem alguma experiência com isso? (Caso contrário, você poderia usar syncookies ...)

    
por Markus 26.08.2011 / 22:45

4 respostas

0

Um servidor proxy SYN nada mais é do que um host bastião que é configurado para lidar com uma grande quantidade de conexões TCP de entrada semi-embutidas, e somente passa as conexões completas. Eu honestamente não tenho ideia de por que você usaria um; eles ainda estão vulneráveis a falhas por esgotamento de recursos (eles ainda têm uma quantidade finita de espaço de estados) e, portanto, não se dimensionam tão bem quanto uma boa implementação de cookies SYN.

Por interesse, você pode compartilhar a fonte de sua recomendação para um servidor proxy SYN?

    
por 26.08.2011 / 23:24
3

Você pode substituir o tempo de CPU da memória usando um proxy syn que adiciona um segredo ao endereço do soquete e calcula um hash dele que é usado como o número de seqüência inicial do servidor para a conexão tcp.

Nenhuma entrada para conexões semiabertas será adicionada à tabela de estados.

Se um pacote chegar (com o sinalizador ack definido), o número de confirmação enviado do cliente menos 1 será comparado com o hash do endereço de soquete concatenado ao segredo.

Se os números não corresponderem ao pacote, ele será descartado.

Não há limite no número de conexões semiabertas somente na taxa de conexão que depende da potência da CPU.

    
por 28.05.2012 / 18:47
1

O importante é entender que o cookie SYN permite que o servidor responda ao SYN inicial sem criar uma entrada na tabela de fluxo; utiliza meios menos ressources e mantém seu servidor online; aumentos de desempenho de até 20x são comuns!

Você deve realmente ler estes artigos de fundo; SYNPROXY realmente vale a pena tentar.

link link

    
por 15.01.2015 / 00:17
1

Quando esta pergunta foi feita, provavelmente não havia nenhum proxy TCP SYN com cookies SYN que fosse de código aberto (provavelmente o PF do OpenBSD, mas ele usa o cache SYN ao invés de cookies SYN). Agora, no entanto, existe o proxy SYN netfilter: link

Como uma alternativa a este proxy SYN netfilter, você pode codificar o seu próprio. Eu fiz isso. Minha implementação é de 9000 linhas de código de componente principal e 17.000 linhas de código de biblioteca de suporte escritas na linguagem C. A contagem de linhas inclui testes unitários muito completos. Não recomendarei essa abordagem de "codificar seu próprio" para fins de produção, mas se você tiver algum tempo livre, codificar seu próprio proxy SYN pode ser uma boa maneira de aprender muito sobre o TCP. Eu fiz minha implementação em pouco mais de um mês.

O proxy SYN netfilter aparentemente há algum tempo teve um bug onde o pacote TCP RST não foi modificado adequadamente para ser aceito pelo host que abriu a conexão. Portanto, se você conseguiu fazer proxy da conexão com o proxy SYN, mas o outro endpoint não a aceitou, a conexão não foi fechada corretamente para que o endpoint iniciante a notasse. Não tenho certeza se eles corrigiram o bug agora.

Quanto à minha recomendação, recomendo que você execute hosts de endpoint que tenham suporte a cookies TCP SYN. Isso torna o proxy SYN obsoleto. Se você tiver que executar hosts de ponto de extremidade que não têm suporte a cookies SYN, o proxy SYN talvez seja uma boa ideia. Além disso, se você executar um firewall, ele criará um novo destino para esgotamento de recursos: não esgotar os recursos do host do nó de extremidade, mas sim esgotar os recursos do firewall. Um firewall não tem outra maneira de se proteger do que um proxy SYN adequado com cookies SYN. Portanto, se estiver usando um firewall, considere aqueles que tenham suporte a proxy TCP SYN. O PF do OpenBSD possui um proxy SYN com cache SYN que é vulnerável a um ataque por esgotamento de recursos, embora não seja tão vulnerável quanto um firewall que não possui o cache SYN. O iptables do Linux pode ser configurado com o módulo proxy SYN de uma maneira que usa cookies SYN e, portanto, não é vulnerável a um ataque por esgotamento de recursos.

    
por 30.12.2017 / 19:46