質問編集履歴

3

表記ミス

2021/10/23 09:44

投稿

query1000
query1000

スコア5

test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  > xxxxxxxxxxxxxxxxx [HTTPSリスナーのSSL暗号]
100
100
 
101
- > TLSv1.2 [HTTPSリスナーのSSLプロトコル(今回はHTTPのみのため無し)]
101
+ > TLSv1.2 [HTTPSリスナーのSSLプロトコル]
102
102
 
103
103
  > arn:aws:elasticloadbalancing:ap-northeast-1:xxxxxxxxxx:targetgroup/(target group name)/xxxxxxxx [私のターゲットグループのAmazonリソースネーム(ARN)]
104
104
 

2

ロードバランサーのログを取った結果を報告します。同じクライアントから数秒起きに、何百回もアクセスしているようです。また、いまさらですがECサイトを運営する会社の名前を伏せましたw

2021/10/23 09:44

投稿

query1000
query1000

スコア5

test CHANGED
File without changes
test CHANGED
@@ -24,9 +24,7 @@
24
24
 
25
25
  > $ tail /var/log/nginx/error.log
26
26
 
27
- > 2021/10/23 10:32:45 [error] 1793#1793: *32690 open() "/usr/share/nginx/html/(doc_root)/m/item/itemShw.php" failed (2: No such file or directory), client: 172.31.40.3, server: (domain), request: "GET /m/item/itemShw.php?cd=SQEX000010865&ima=3518&site=S HTTP/1.1", host: "www.sonymusicshop.jp"
28
-
29
- > 2021/10/23 10:32:53 [error] 1793#1793: *32691 open() "/usr/share/nginx/html/(doc_root)/m/item/itemShw.php" failed (2: No such file or directory), client: 172.31.40.3, server: (domain), request: "GET /m/item/itemShw.php?cd=SQEX000010866&ima=3518&site=S HTTP/1.1", host: "www.sonymusicshop.jp"
27
+ > 2021/10/23 10:32:45 [error] 1793#1793: *32690 open() "/usr/share/nginx/html/(doc_root)/m/item/itemShw.php" failed (2: No such file or directory), client: 172.31.40.3, server: (domain), request: "GET /m/item/xxxx.php?cd=xxxxxx HTTP/1.1", host: "xxx.xxxxxxxxxx.xx"
30
28
 
31
29
 
32
30
 
@@ -34,11 +32,11 @@
34
32
 
35
33
 
36
34
 
37
- エラーメッセージ通り、/usr/share/nginx/html/(doc_root)/の下にm/item/itemShw.phpというファイルはありませんし、mというディレクトリも作っていません。
35
+ エラーメッセージ通り、/usr/share/nginx/html/(doc_root)/の下にm/item/xxxx.phpというファイルはありませんし、mというディレクトリも作っていません。
38
36
 
39
- www.sonymusicshop.jpというサイトに用事もありません。
37
+ xxx.xxxxxxxxx.xxというサイト(企業)に用事もありません。
40
38
 
41
- ググったら、m/item/itemShw.phpというプログラムは、www.sonymusicshop.jp配下の、何らかのECサイトのプログラムらしいです。
39
+ ググったら、m/item/xxxxxx.phpというプログラムは、www.xxxxxxxxx.xx配下の、何らかのECサイトのプログラムらしいです。
42
40
 
43
41
 
44
42
 
@@ -49,3 +47,105 @@
49
47
  上記のようなエラーが出ないようにセキュリティを強化する方法はあるでしょうか?
50
48
 
51
49
  よろしくお願いします。
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+ (同日17時半追記)
58
+
59
+ 情報提供・修正依頼をいただいて、誰かのクライアントが私のサイトを某ECサイトと間違って叩いているのではないかと予想し、ロードバランサーのアクセスログを取ってみました。
60
+
61
+
62
+
63
+ すると、ログを取得し始めた13時ごろから、この追記を書いている17時半までの間に、以下のようなリクエストが、数秒ごとに、数百回発生していることが分かりました。
64
+
65
+ (ログの解析は以下の記事を参考にしました)
66
+
67
+ https://dev.classmethod.jp/articles/alb-log-to-s3/
68
+
69
+
70
+
71
+ > https [リクエストタイプ]
72
+
73
+ > 2021-10-23T04:09:39.511097Z [リクエストがあった時間]
74
+
75
+ > app/(load balancer name)/xxxxxxxxxxxxx [私のサーバーのロードバランサー情報]
76
+
77
+ > XXX.XXX.XXX.XXX:52695 [クライアントのIPアドレス:ポート番号]
78
+
79
+ > 172.31.xxx.xxx:80 [私のターゲットのIPアドレス:ポート番号(プライベートIP)]
80
+
81
+ > 0.000 [ロードバランサーがリクエストを受け取った時点からターゲットに送信するまでの合計経過時間]
82
+
83
+ > 0.000 [ロードバランサーがターゲットにリクエストを送信した時点から、そのターゲットが応答ヘッダーの送信を開始した時点までの合計経過時間]
84
+
85
+ > 0.000 [ロードバランサーがターゲットから応答ヘッダーを受け取った時点から、クライアントへの応答の送信を開始した時点までの合計経過時間]
86
+
87
+ > 404 [ロードバランサーからの応答のステータスコード]
88
+
89
+ > 404 [ターゲットから応答のステータスコード]
90
+
91
+ > 360 [クライアントから受け取ったリクエストのサイズ (バイト単位)]
92
+
93
+ > 705 [クライアントに返される応答のサイズ(バイト単位)]
94
+
95
+ > "GET https://www.sonymusicshop.jp:443/m/arti/artiItm.php?cd=60022866&ima=3931&site=SHTTP/1.1" [クライアントからのリクエスト]
96
+
97
+ > "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36" [リクエスト元のクライアントを特定する User-Agent 文字列]
98
+
99
+ > xxxxxxxxxxxxxxxxx [HTTPSリスナーのSSL暗号]
100
+
101
+ > TLSv1.2 [HTTPSリスナーのSSLプロトコル(今回はHTTPのみのため無し)]
102
+
103
+ > arn:aws:elasticloadbalancing:ap-northeast-1:xxxxxxxxxx:targetgroup/(target group name)/xxxxxxxx [私のターゲットグループのAmazonリソースネーム(ARN)]
104
+
105
+ > "Root=1-xxxxxxxxxxxxxxxx" []
106
+
107
+ > "XXX.XXXXXXXXXXXXX.XX" [TLS ハンドシェイク中にクライアントから提供されるSNIドメイン]
108
+
109
+ > "arn:aws:acm:ap-northeast-1:xxxxxxxxxxxx:certificate/xxxxxxxxxxxxxxxxxxxxxxx" [クライアントに提示される私の証明書のARN]
110
+
111
+ > 0 [リクエストに一致したルールの優先度の値]
112
+
113
+ > 2021-10-23T04:09:39.510000Z [ロードバランサーがクライアントからリクエストを受け取った時刻]
114
+
115
+ > "forward" [リクエストの処理時に実行されるアクション]
116
+
117
+ > "-" [HTTPレスポンスのロケーションヘッダーのリダイレクトターゲットのURL]
118
+
119
+ > "-" [エラー理由コード]
120
+
121
+ > "172.31.xxx.xxx:80" [私のターゲットのIPアドレス:ポート番号(プライベートIP)]
122
+
123
+ > "404" [ターゲットの応答からのステータスコード]
124
+
125
+ > "-" []
126
+
127
+ > "-" []
128
+
129
+
130
+
131
+ すべて同じ「XXX.XXX.XXX.XXX」というIPアドレスからのアクセスです。
132
+
133
+ また、「 "XXX.XXXXXXXXXXXXX.XX" [TLS ハンドシェイク中にクライアントから提供されるSNIドメイン]」は、nginx側に残っていたのと同じECサイトを運営している名のある企業です。
134
+
135
+
136
+
137
+ ということで、以下は私の質問です。
138
+
139
+ 0. 現状は、持っていないリソースにアクセスを掛けられて、持ってないよ(404)と返事をしているだけ、ということなので、特に問題はないということでしょうか。
140
+
141
+ 0. クライアント「XXX.XXX.XXX.XXX」を拒否すればいいだけの話でしょうか。(イタチゴッコになるような。。)
142
+
143
+ 0. 大企業「"XXX.XXXXXXXXXXXXX.XX"」に何か言った方がいいでしょうか。(AWS配下らしい?)
144
+
145
+ 0. Amazonに何か問い合わせてもいい案件でしょうか。(こちらの不手際で問い合わせるのは気がすすまないので。。)
146
+
147
+ 0. その他、私がセキュリティを強化し、エラーログを見やすくする上でアドバイスがあればお願いします。
148
+
149
+
150
+
151
+ 以上、よろしくおねがいします。

1

DNS名のAレコードの作り方(Route53)を追加

2021/10/23 09:13

投稿

query1000
query1000

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  EC2のインスタンスとALBはHTTP接続しています。
14
14
 
15
- お名前.comでDNS名を取って、ALBのAレコードを作っています。
15
+ お名前.comでDNS名を取って、Route53でALBのAレコードを作っています。
16
16
 
17
17
 
18
18