利用目的
AWS WAFで設定したルールの動作確認のため。
プロンプト
AWS WAFにて「5分間に100回以上のアクセスが来たIPを遮断する」という設定を作成しました。
動作確認のため、curlコマンドを使用して100回以上のアクセスを行いたいと思います。
条件を満たすスクリプトを作成してください。
プロンプトのポイント
やってほしいことをそのまま伝えています。
達成された成果
▼ChatGPTから返って来たコード
for i in {1..100}
do
curl -s http://example.com/ > /dev/null
echo "Access $i"
done
これを元に色々と変更を加え、下記の形になりました。
▼最終的なコード
#!/bin/bash
for i in {1..101}
do
curl -I http://example.com/ > /dev/null
done
sleep 30
curl -I http://example.com/
▼主な変更点
- アクセス回数は出力しなくていいので削除
- curl -I の方が早かったので変更
- for文が終了した後に30秒待機(WAFのレートチェックは30秒毎に行われるらしいので)
- 30秒の待機後に curl -I で結果を確認
このスクリプトを実行した結果ステータスコード「403」が返ってきました。
実行前は「200」が返ってきていたので、設定した通りに遮断されたと判断できます。
スクリプトを一から書くよりも、土台はChatGPTに作ってもらって細かいところを自分好みに修正する方が楽ですね。
使用上のヒントやアドバイス
- 出力されたコードを軽率に実行しない。
- 大量にアクセスする事を目的としたスクリプトであり、多少なりともサーバに負荷をかけることを認識する。
追加のリソースまたは参考情報
https://chat.openai.com/share/e/d041bf8b-fb1e-476d-b870-24081346bf8b
レビューを書く | |
AIアセットラボ
Average rating: 1 reviews
Anonymous
Mar 11, 2024
とても良い
実用的で工数削減効果も高そうですね!