Aqui está a seção relevante de cookie_v4_check em net/ipv4/syncookies.c
:
if (tcp_synq_no_recent_overflow(sk) ||
(mss = cookie_check(skb, cookie)) == 0) {
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_SYNCOOKIESFAILED);
goto out;
}
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_SYNCOOKIESRECV);
Então, se:
- Ocorreu um excesso recente ao exigir cookies SYN e
- O cookie não faz check-out como um pacote SYN regular válido ou um cookie SYN,
então SyncookiesFailed
é incrementado. Caso contrário, SyncookiesRecv
será incrementado. Portanto, se CONFIG_SYN_COOKIES
estiver habilitado no kernel e você estiver sob uma nova carga de conexão que o exige, você esperaria que SyncookiesSent
fosse positivo e SyncookiesRecv
fosse positivo (mas menos). Assim, parece que os únicos que você recebeu são inválidos.
Estamos vendo números semelhantes, e achamos que é porque as regras padrão do UFW incluem descartar pacotes com um estado inválido, que pode incluir cookies SYN de saída e entrada. Você pode querer verificar sua configuração de firewall e logs para ver se pacotes perdidos inesperados estão ocorrendo.
Ou, você pode estar recebendo apenas cookies SYN inválidos, devido a algum invasor aleatório. Nesse caso, porém, eu esperaria alguns cookies SYN enviados.