ソース専用サーバーゲームサーバーを小さなUDPパケットによる攻撃から保護する

何らかの理由でValveがまだ修正していない多くのエクスプロイトがあり、アマチュアのハッカーはそれらを使用してサーバー上のプレイヤーに不快なゲームを作成しようとしています。 これらの攻撃を使用した結果、別のゲームサーバーでのpingが急激に増加し、プレイできなくなります。 同時に、同じ物理サーバー上で実行されている他のゲームサーバーは通常モードで動作できます。



このタイプの破壊行為と戦う方法の1つを検討してください。



以下では、Linuxサーバー上で実行されているゲームサーバーで作業が実行されることを理解しています。



tcpdumpログを調べると、データパケットがサーバーに到着していることを確認し、「思慮深い」状態にすることができます。



01:29:54.215279 IP 96.19.63.51.64928 > 66.135.40.174.27015: UDP, length 18

01:29:54.215281 IP 96.19.63.51.64928 > 66.135.40.174.27015: UDP, length 0

01:29:54.229257 IP 96.19.63.51.64928 > 66.135.40.174.27015: UDP, length 18

01:29:54.233254 IP 96.19.63.51.64928 > 66.135.40.174.27015: UDP, length 0









作業データパケットは32バイトより大きくなければならないため、iptablesにルールを追加します。



-N logattacker

-A logattacker -j LOG --log-prefix " SRCDS:ATTACK: " --log-ip-options

-A logattacker -j DROP

-A INPUT -p udp -m udp -m limit -m length --dport 27000:29999 --limit 2/second -j logattacker --length 0:32









現在、サイズが32バイト未満のUDPパケットが検出された場合、それらは27000-29999の範囲のポートに到着します(複数のゲームサーバーとSourceTVサーバーが存在する場合があります)。これらのパケットは無視され、この事実に関する情報が/ var / log / messageに記録されます次に、fail2banを使用して、そのようなパケットの送信元のIPアドレスを一時的にブロックしました。



Feb 24 15:43:08 carbon kernel: [157686.157207] SRCDS:ATTACK: IN=eth0 OUT= MAC=00:15:17:4c:eb:f4:00:1e:4a:38:3a:00:08:00 SRC=85.159.xx.xx DST=217.199.yy.yy LEN=28 TOS=0x00 PREC=0x00 TTL=120 ID=43787 PROTO=UDP SPT=2445 DPT=27135 LEN=8









次に、/ etc / fail2ban / filter.dで、内容を使用してsrcds-ddos.confフィルターを作成します。



[Definition]

failregex = SRCDS:ATTACK: IN=eth0 OUT= MAC=[a-zA-F0-9:]+ SRC= DST=([0-9]{1,3}\.?){4} LEN=28





/etc/fail2ban/jail.conf:



[srcds-ddos]

enabled = true

port = all

protocol = udp

filter = srcds-ddos

logpath = /var/log/messages

maxretry = 3

bantime = 6000

banaction = iptables-allports









fail2ban iptables .



RCON:



# Make new chain

iptables -N rcon

# Pull all packets to tcp ports 27000:29999 into rcon chain

iptables -A INPUT -p tcp --dport 27000:29999 -j rcon

# If source ip matches whitelisted ip, accept

iptables -A rcon --source 123.123.123.13 -j ACCEPT

# Otherwise (optionally log and) drop

iptables -A rcon -j LOG --log-prefix "SRCDS:RCON: " --log-ip-options

iptables -A rcon -j DROP









PS , , .







All Articles