UDP クライアント/サーバーで DoS 攻撃をブロックするための優れたプログラミング プラクティスは何ですか? 現時点で頭に浮かぶ唯一のことは、間違ったソースを持つパケットを無視することです (WinSock2 を使用):
if (oSourceAddr.sa_family == AF_INET) {
uSourceAddr = inet_addr(oSourceAddr.sa_data);
if (uSourceAddr == oCorrectDestAddr.sin_addr.S_un.S_addr) {
queueBuffer.push(std::string(aBuffer));
}
}
特にパケットサイズが小さい場合、十分に速い攻撃により、これがループでブロックされる可能性があります。特定の送信元または正しい送信元以外の送信元からパケットが到着しないようにする方法はありますか? 他に気をつけるべきことは何ですか?コード形式での説明は、ソリューションが既に API に組み込まれている場合に特に役立ちます。