You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Could someone, given a public IP address of a NaiaServer, and clever usage of this open-source code (a modified or unmodified NaiaClient) DDOS our server? How can we protect against this?
I'm definitely looking for advice / input here, so if you've got any, please tell me.
Possibly Useful Additions:
On a per-IP-address basis, allow some "suspicion" value to be accumulated for suspicious behavior. "suspicion" degrades slowly over time, but after some max level, terminates the connection. Every time the IP-address attempts to re-establish the connection thereafter, "suspicion" is raised.
If the IP-address "suspicion" levels are sufficiently high, blacklist the IP. The IP may only be allowed to re-connect once "suspicion" levels have degraded to some necessary minimum (unless placed on the blacklist). We may require some ability to clear a Server's blacklist manually ?
This would allow us to detect when a client is sending packets of a type that typically precedes Connection establishment. Some of this is expected, but too many packets, especially after a long duration, should raise "suspicion" levels.
Could someone, given a public IP address of a NaiaServer, and clever usage of this open-source code (a modified or unmodified NaiaClient) DDOS our server? How can we protect against this?
I'm definitely looking for advice / input here, so if you've got any, please tell me.
Possibly Useful Additions:
"suspicion"
value to be accumulated for suspicious behavior."suspicion"
degrades slowly over time, but after some max level, terminates the connection. Every time the IP-address attempts to re-establish the connection thereafter,"suspicion"
is raised.If the IP-address
"suspicion"
levels are sufficiently high, blacklist the IP. The IP may only be allowed to re-connect once"suspicion"
levels have degraded to some necessary minimum (unless placed on the blacklist). We may require some ability to clear a Server's blacklist manually ?packet_type
from theStandardHeader
.This would allow us to detect when a client is sending packets of a type that typically precedes Connection establishment. Some of this is expected, but too many packets, especially after a long duration, should raise
"suspicion"
levels.At this point: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L288 we are receiving
ClientConnectRequest
packets AFTER the Connection has been established ... this should raise"suspicion"
levels.Non-matching Challenge Timestamps should raise
"suspicion"
levels. https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L303Invalid ServerDigest should raise
"suspicion"
levels: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L326Unsuccessful Auth attempts should raise
"suspicion"
levels: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L341Pings, Data, and Heartbeat packets from un-authed clients should raise
"suspicion"
levels: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L386, https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L406, https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L441Invalid
PacketType
fromStandardHeader
should raise"suspicion"
levels: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L449Errors should raise
"suspicion"
levels: https://github.com/naia-rs/naia/blob/984673ebe65b0f38e76973f56081d8b9e53bc7c0/server/src/naia_server.rs#L453The text was updated successfully, but these errors were encountered: