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.