見出し画像

不正アクセス(DoS)対策は現行法がザルすぎるので、弱小個人ブロガーがおこなっている対策全て


画像1

不正アクセスといえば、様々な方法がある。
そのなかでも「DoS攻撃」はもっとも簡単で、かつ悪質なものだ。

DoS攻撃はスクリプトキディといわれる幼稚なものから、より高度化したものまで多数ある。

今回は当方がおこなっている全ての対策を解説する。
また、WP(Wordpress)で同様の対策を行うためのプラグインも紹介する。
(なお、これはリンクを掲示し、その使用目的のみの紹介に留める)

ワードプレスはどうしても不正アクセスを受けやすい
不正アクセス対策をおこなっている方の参考になると幸いである。

本記事の要旨

現実世界での対策
 ・DoS攻撃者を告訴する際に使える日本の法律について
 ・DoS攻撃者を野放しにしないための対策について
DoS攻撃へのネットワーク上の対策
 ・DoS攻撃への具体的な対策について
 ・DoS攻撃へ対策できるWPプラグインの一覧

著者の情報

画像2

https://ganohr.net/

Handle Name:ガノー(Ganohr)
Twitter: https://twitter.com/ganohr
Web Site: https://ganohr.net/
使用CMS:Wordpress
月間PV数:4万~4.5万前後

追加情報

・日本国外からのアクセスをGoogle bot、Twitter bot、Facebot、Apple Bot、Line クローラー、Internet Archivesのクローラー等を除き、全遮断している。

・海外からの不正なアクセス試行等を全て不正アクセス情報源へ通報(情報提供)し、日本からの不正アクセスは基本的に全てプロバイダへ通報している。

・海外からの不正アクセスであってもGAFAおよびMircrosoftなどの大手が運営するクラウドサービスからの不正アクセスは、都度必要に応じて通報している。

・1日あたり遮断されているアクセス試行は国外800~900程度、内9割が明らかな不正アクセス。

・1日あたり遮断されている日本からの不正アクセスは主にDoS攻撃の発生状況によるが、0か、500~10000程度。攻撃規模は小さい。

・オリジナルの不正アクセス対策ツールとFail2banをもちいて対策。サーバーダウン等の実害はなし。

DoS攻撃と日本の法律

画像3

日本国内法では対処がしづらい現状がある。
日本国内法ではサーバーダウン等の実害が出た場合に、初めて法的措置が取れる。

それは
威力業務妨害財
不正アクセス禁止法違反
等だ。

日本国内法は非常に不正アクセスへ寛容であり、とくにDoS攻撃についてはその対策に手を焼いてしまう。

日本でのDoS攻撃への法的な対策

法的対策としては、
・企業運営をおこなうか、
・威力業務妨害財で告訴可能にするため有料サーバーを契約する
・同様に広告収入を得る
​しかない。

これは実害がなければならないことになり、ウェブサイトの運営者として容認できない。

そこで、不正アクセス対策にかかる費用請求を合法的に行う必要性がでてくるわけだ。


DoS攻撃対策費用請求への正当性を確立

画像4

そこで、当サイトでは「Webサイトへアクセスしたすべての利用者に利用約款として不正アクセスをしないこと」を義務付けし、「不正アクセスをおこなった場合、その対策費用をプロバイダを通して請求されることに合意」を求めることとした。

https://ganohr.net/blog/siteinfo-notification-regarding-billing-for-countermeasure-costs-associated-with-unauthorized-access-countermeasures/

これにより正当な約款を交わした相手による不正アクセスであるため、プロバイダに対して不正アクセス者へ利用料の徴収が合法的に可能になる。

DoS攻撃への対策方法としては革新的な手法といえるだろう。

ようするに、

・威力業務妨害財
・不正アクセス禁止法
・不正アクセス対策費用請求

をもちいて不正アクセスを試みる者へ、現実世界での対策が可能となるわけだ。

この他の実践的な手法についても言及する。


DoS攻撃のより実践的な手法 - しきい値を設定

画像5

まず、通常のアクセスか、それともDoS攻撃かは、「しきい値」をもとに振り分ける。

ここでいう「しきい値」とは、ウェブサイトやそのリソースへどのぐらいの頻度でのアクセスを許可するのか、その頻度を定めるものである。

このしきい値の厳密なルールはないが、概ね「1秒間に10回を超えるアクセス」をDoS攻撃とすることが一般的だ。

しかし、これではウェブサイトへアクセスしただけでもDoS攻撃と認定されかねないので、調整が必要だ。

以下の例は当サイトの例である。

・自サイトのリファラーのない直接アクセスは秒間10回限度とする
・自サイトのリファラーがあるリソース呼び出しは秒間20回を限度とする
・ただし、いかなる場合でも同一画像への呼び出しは秒間5回を限度とする
・またいかなる場合でも、5分以内に同一URL(ページ)へのアクセスは50回を限度とする

これによりダウンローダーをもちいたアクセスを遮断することも可能となる。


DoS攻撃のしきい値 - 最近のスマホ事情への配慮

画像6

最近ではスマホなどの場合、利用者が知らない間にバックグラウンド処理でアプリ側がメディアを先読みすることがあるため、留意が必要だ。

特に、以下の2つから始まるリソース呼び出しは常に複数回行われるため、DoS攻撃の判定から例外的に除外する方が好ましい。

・apple_touch_icon
・android-chrome

ただし、例外を作るとそこが攻撃対象とされるため、これらのリソース呼び出しでも「20回短期間で呼び出した場合はDoS攻撃と判定する」ように調整している。


DoS攻撃へのウェブサイト側の対策

画像7

ウェブサイト側は、DoS攻撃を受けないため、受けたとしてもその実害を減らすために、様々な対策が可能である。

・ウェブサイトのダウンサイジング
・ウェブサイトへのキャッシュ機構の導入
・連続アクセス時の自動リダイレクト機構の構築


DoS攻撃への対策 - ウェブサイトのダウンサイジング

画像8

近年のウェブサイトは、10年・20年前と比べて大幅に肥大化した。

アクセス速度が上昇し、それに伴いウェブサイトはリッチ化した。

・高解像度端末の普及により画像の高解像度化が時代の流れに
・CSSによりより表現豊かなウェブサイトを構築できる反面、デザイン性のためにファイルサイズが上昇した
・Javascriptなども多数必要になった

DoS攻撃の悪質なところは、このようなリッチなコンテンツを毎回要求することである。

そのため「ウェブサイトやそのリソースをダウンサイジングすることで、DoS攻撃への対策になる」というわけだ。

・返却するHTMLソース/JS/CSS、etcの圧縮、GZIP圧縮の適用
・リソース(JPG/PNG/MP3/MP4、etc)の圧縮、WEBP/WEBMの適用
・リソースの遅延ロード機構の搭載


DoS攻撃への対策 - リソースの遅延ロード機構

画像9

いわゆるLazy LoadはDoS攻撃にも有用な対策である。

簡単な「F5アタック」と呼ばれるDoS攻撃手法は、リソースの遅延ロード機構によって対策できる。

遅延ロードはページを1回で読み込むデータ量を節約できるダウンサイジングの手法である。ページを読者が読みすすめることに合わせて、必要となるデータ・リソースを取得する。

F5アタックでは、遅延ロードされるデータを取得できない。

そのため遅延ロード機構を搭載することで、より少ないトラフィックに抑えることができるというわけだ。


DoS攻撃への対策 - キャッシュ機構の導入

画像10

ウェブサイトのダウンサイジングと似たアプローチであるが、サーバーサイドでの負荷軽減として、キャッシュ機構を搭載しておくことも対策になる。

DoS攻撃を受けている最中でも、キャッシュを返すことで低負荷なまま処理を行える。これはDoSというよりもDDoS攻撃への意味合いが強いが、設定しおいて損はない。

なお、DoS攻撃・DDoS攻撃の対策のために、ブラウザキャッシュを設定しても実はあまり効果がない。ブラウザ側の設定でキャッシュをしないように設定をするだけで回避されてしまうためだ。

DoS攻撃・DDoS攻撃への対策としてキャッシュを設定する場合、必ずサーバー側にキャッシュ機構を搭載する必要があるのだ。


DoS攻撃への対策 - 自動リダイレクト機構の導入

画像11

これまで解説してきた対策は、DoS攻撃が発生しにくくするための対策だったり、DoS攻撃・DDoS攻撃発生初期の負荷軽減を目的としたものだった。

次は一歩進めて、DoS攻撃自体を減らすことや、DoS攻撃者へネットワークインフラを提供しているプロバイダ側へ対処を促すための手法が「自動リダイレクト機構」である。

自動リダイレクト機構はDoS攻撃を検出した場合に、そのアクセスをDoS攻撃をおこなっているIPへリダイレクトする方法だ。

これは以下の手順を踏む。

1.DoS攻撃でターゲットとなっているURIからドメイン名を除去する
  ※ IPアドレスでアクセスされている場合はそのIPアドレスを除去する
2.除去した接続先に、攻撃者のIPアドレスを補完する
3.加えて、URIパラメータに補足を追加する
  →これを「リダイレクト先」とする
4.DoS攻撃者からのアクセスをリダイレクト先へリダイレクトする

これまでも不正アクセス検出時にGoogleやYahooへリダイレクトする手法はあった。しかし、これでは他社のサービスへ負荷をかけるためよろしくない。

この手法であれば不正アクセス者が自分自身で自分のIPアドレスへアクセスを試みているだけであり、一切問題がない。

また、ウェブサーバー側も簡単なURI文字列の調整とリダイレクトのみでDoS攻撃を受け流せるため負荷が少ない。

加えてURIに補足説明をURLエンコードして追加することで、不正アクセスをおこなっているもののいるネットワークインフラ管理者へ通知することができる。

このようなURIに補足をつけることは多くの不正アクセス対策情報源でも採用されており、ネットワーク管理者へ確実に、かつ簡単に現状を通達することができる。

当サイトでは以下の文言を自動的に付与している。

?help=This access is an only mirror access from yourself.
If you are network admin,
please shutdown your terminals connection to me,
if then will automatically disconnect.
This access is only mirror access from your terminal.

このアクセスはあなたの端末からのミラーアクセスです。
この接続を止める場合、あなたの端末を終了してください。
そうすれば自動的にこのアクセスは切断されます。
これはあなたの端末からのミラーアクセスに過ぎません。


DoS攻撃が収まった後の対策

画像12

DoS攻撃が収まった後の対策としては、被害状況を調査し、その結果をもとにプロバイダ側へ不正アクセス対策費用を徴収することである。

加えて、不正アクセス対策情報源へも情報提供する。

プロバイダ側が不正アクセス対策へ適切な対策を取らない場合、不正アクセス対策情報源にはそのプロバイダが不正アクセスを助長していることが公になっていく。

自分のウェブサイト等で公開するよりも、全世界的に参照される不正アクセス対策情報源へ適切に通報するほうが公益的だ。

そのためにはFail2banなどの有用なツールをもちいるべきなのである。


DoS攻撃その他不正アクセス対策に便利なWPプラグイン

画像13


本記事で解説した内容を実現するべく、Wordpressのプラグインを紹介する。これらをうまく組み合わせることで、セキュリティ確保が可能となる。

とはいえ、結局完璧な防御ができるわけではないので、その点は意識して対策して欲しい。



不正アクセスを防御する


不正アクセス・不正アクセス施行・WPの不正操作を見抜く


SPAMを防ぐ1


SPAMを防ぐ2


SPAMを防ぐ3


不正なアクセス手法によるアクセスを遮断する


Wordpressに独自のアクセスログを追加する(不正アクセス試行の可視化)

https://ganohr.net/blog/how-to-add-your-own-access-log-to-wordpress-unauthorized-access-prevention/


WPのキャッシュ・ダウンサイジング関連プラグイン


サーバーサイドのキャッシュ、ブラウザキャッシュの設定他


WEBサイトのダウンサイジング・Lazy Load・キャッシュ


画像の最適化・WEBPへのコンバート


Javascriptの遅延ロード(簡易的、JSロードを後方へ移動)


最後に

画像14

不正アクセス対策は労力がかかるものの、一切生産性がなく徒労に終わることがほとんどだ。

先に法律について理解したり、利用約款の定義で不正アクセス対策の禁止と対策手数料の徴収を明示し、同意されることを前提とすることは合理的である。

しかし、ほとんどのサイト運営者がこれをおこなっていない。また、不正アクセス対策として不正アクセス者のIPへリダイレクトする対策も行われていない。

日本の法律や日本の管理者は、不正アクセス者へ寛容すぎるのではないだろうか。

不正アクセスを正当化する理由として「インターネットの発展を阻害する」ことなど一切存在しないのに。

ウェブサイトの運営には、特殊な知識が必要である。不正アクセスを行うものは、ウェブサイトの管理者という専門家に、不必要な労力を強要しており、これは明確な威力業務妨害であり犯罪行為だ

本記事がウェブサイトの運営者の参考になれば幸いである。


参考になった人はアクセス

https://ganohr.net/

YouTubeチャンネル登録


記事を読んでいただき、ありがとうございます。何かの参考になりましたら、ツイッター等でシェアして頂けると嬉しいです!😉 サポートいただけるとモチベアップに繋がります!