Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxは少量のddos攻撃に対する防御のためのシェルスクリプトの使用方法

Linuxは少量のddos攻撃に対する防御のためのシェルスクリプトの使用方法

  

Linuxシステムのシェルスクリプトは強力で、さまざまなコマンドを実行するために使用され、シェルスクリプトを介した少量のddos攻撃によって防御されます。 Linuxシェルスクリプトは、Nginxログがddos攻撃に対してどのように耐性があるかを分析します。

実装:原因

1.攻撃シグネチャ、異なるIP常にPOST HOME、2分析nginxのアクセスログ過度のリソース消費

、特性POSTを決定クライアントアクセスを許可する

3.攻撃IPを50を超える接続でブロックします。

4.攻撃IPを文書に記録します。

5.攻撃IPが取得されるたびに既存の攻撃IPの比較

ソースコードの閲覧:

#! /bin /bash

WEBSITES =(

example.com


minute_now = `日付+%M`

max_connections = 50

banips =' /wwwdata/jobs/banips.txt'
サイト

$ {WEBSITES [*]}

do

Access_log_file =' /wwwdata /logs /$ {site} .access.log'

if [-f' $ {access_log_file}']

then

Cat $ {access_log_file} |  グレップPOST |  Awk‘ {print $ 1}’ |  並べ替え| ユニーク-c |  並べ替え-nr》 /wwwdata/jobs/ip_records.txt

lines = `wc -l /wwwdata/jobs/ip_records.txt |  Awk‘ {print $ 1}’ `

echo'行:$ lines'

i = 1

while [$ {i} -le $ {lines ip_record = `head - $ {i} /wwwdata/jobs/ip_records.txt |}]

do

 尾-1 |  Sed‘ s /^ [\\ t] * //g’ `

ip_count =` echo $ {ip_record} |}  Awk‘ {print $ 1}’ `

ip_address =` echo $ {ip_record} |  Awk‘ {print $ 2}’ `
エコー' $ {ip_count} $ {ip_address}'

if [$ {ip_count} -gt $ {max_connections}]

そして

banned = `cat $ {banips} |  Grep $ {ip_address} |  Wc -l`

if [$ {banned} -lt 1]

then

iptables -A入力-s xxxx -p tcp -m state --state NEW -m tcp --dport 80 -j DROP

echo $ {ip_address}》 $ {banips}

fi

fi

i = ` Expr $ {i} + 1`

完了

service iptables保存

service iptables再起動

if [$ {minute_now} -eq 30] < Br>

そして

cat $ {access_log_file}》 /wwwdata/logs/olds/${site}.access.log

cat /dev /null》 $ {access_log_file}

fi

fi

完了

if [$ {minute_now} -eq 30]

then

Service nginx restart

fi

Linuxシステムのシェルスクリプトは、Nginxのログを分析することで、ddos攻撃の痕跡から防御することができます。

Copyright © Windowsの知識 All Rights Reserved