質問の追記を受けての追記
例えば、クレジットカードを拾ったため、それを悪用して決済を何度も試行する等を
イメージしていただければと思います。
この想定だと、
ログインさせずに非所有のクレジットカードの決済試行という犯罪を試行出来るということになってしまうので、
「1ユーザーがちょっとした悪さ程度の悪行を働いた場合を想定していただければと思います。」の範疇から大きく外れるように思いますよ。
(単純な表現の問題だとは思いますが、「ちょっとした悪さ」としては外れすぎている様に思います)
その場合は
クレジットカード情報の正当性を確認するのはサイト側の責任範囲では無いので、
改正割賦販売法とクレジットカード決済代行プラットフォームの求めるサイト仕様を満たしたうえで、
カード情報の正当性自体はクレジットカード決済代行プラットフォーム側で対処させる。
というのが正しい事でしょう。
加えて、
- 決済を行うにはログインを必須にする
- ログインユーザーを作成する際にSMSやIVR等の認証を挟んで無制限なユーザー作成を防ぐ
- 怪しい行動が検知されたらユーザー単位でアクセス制限を行う
と言う様な処理で対応可能なケースになってしまいますね。
既に回答のある通り、本気のアタックに対して完全に解決することは不可能です。
ある程度の不便さとサーバ側のコストを許容できるのであれば、ある程度の対応は可能です。
例えば、
荒らしの自動化の排除
自動化を排除することで、荒らしを行う人間のコストの向上を狙います。
暇人が本気で対応してきた場合や、コストの安い国で人海戦術された場合には役に立ちませんが、
所謂スクリプトキディの悪戯は排除できます。
- Bot対策の出来るCDNやWAFを使ってBOTによる不正な行為を排除する
- 加えて荒らし対策が必要な機能(投稿等)についてはreCAPTCHA等で人間である事の確認を行う
人力で対応する際のめんどくささの向上を狙う
本気の暇人に対してBOT対策は無力ですが、対応を若干めんどくさくすることで標的から外れるかもしれません。
- サイト利用にはcookieの利用を必須にした上で、アクセスに対してセッションIDを付与し、セッションIDによりアクセス制御を行う。(悪行を行ったセッションに対してアクセス出来ない様にする。
- コメント投稿等の悪行をしやすい機能に対してはセッションが確立されていることを必須とする
cookieを削除したり、シークレットモードでアクセスすれば同じことが出来ますが、自動化の排除と組み合わせることでいくらかマシになりそうです。
ブロックする方法を自動化出来ない場合は暇人とリソース対決になってしまうので不利になります。
IP単位でブロックしてしまう
公開されているブラックリスト(オープンなプロキシやAWS等のIP範囲が網羅されているもの)を活用しつつ、悪行のあったIPアドレスやそのIPが属するプロバイダのIP範囲ごとブロックしてしまう事で、(同じIPを使っている人を巻き添えにしつつも)アクセスを防ぐことは出来ます。
こちらも、ブロックする方法を自動化出来ない場合は暇人とのリソース対決になってしまうので不利になります。(IPが固定されていないプロバイダの場合、ONUのリブートでIPが変わるケースも多いため)
副作用について追記
maisumakunさんのコメントを受けての追記
これの副作用として、「巻き添えブロックを発生させるための荒らしが出現する」例もあるようです。
巻き添えが大きくなりすぎると攻撃者の思う壺でもあるので、
短期的なブロックに留める等の工夫と、巻き添えにされた人に対するケアをどうするかという部分を考える必要が出てきますね。
中々難しそうです。
法的な手段に訴える
相手が国内にいることが前提になりますが、法的な手段に訴えることも出来ます。
詳細は法律の専門家に相談して下さい。
近そうな例
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/30 09:24
2021/03/30 09:27
2021/03/30 09:40
2021/03/30 10:05
2021/03/30 10:11
2021/03/31 06:40
2021/03/31 06:49