さくらのレンタルサーバーに「Web改ざん検知サービス」の機能がついています。
「Web改ざん検知サービス」の詳細
https://www.sakura.ad.jp/function/security/detection.html
「Web改ざん検知サービス」とはどんなサービスなのか?
簡単に言うと、Web サイトを毎日巡回し、Web サイトが改ざんされていないかをチェックするサービスです。
もし Web 改ざんを検知したらすぐにメールで通知をしてくれます。
データベースは犯罪者にとって魅力的
WordPress は情報をデータベースで管理しています。
クラッカーにとってデータベースは宝の山です。
例えば個人サイトで、新規 WordPress サイトで数記事程度しか作成していないなら何の情報もないかもしれませんが、大規模サイトになればなるほど「お金になる情報」を得られる可能性が高まります。
例えば会員制サイトなら「個人情報」が入っているかもしれません。
- 連絡先
- 生年月日
- 性別
- 職業(仕事)
- 趣味
- 既婚・未婚
- 家族構成
など、情報が欲しい企業に売られるかもしれません。
また、新商品など表に出せない「社外秘」の情報などもあるかもしれません。
経営が「赤字」か「黒字」かなど、公表前に知られたら株の売買等で利益を上げるかもしれません。
ホームページ改ざんの手法
クラッカーはどのようにホームページを改ざんするのでしょうか?
具体的な「手法」について考えてみます。
パスワードクラッキング
まずは「パスワードクラッキング」です。
以下の情報から類推することができるパスワードは非常に危険です。
- 誕生日
- 電話番号
- 郵便番号
かなり大きな企業になると Web アプリを開発する際に、いきなり「本番環境」を構築することはありません。
かならず「テスト環境」を構築して Web アプリの動作検証をして問題がなければ、本番環境をリリースすることがあります。
「テスト環境」と「本番環境」を別物として構築すればいいのですが、中には「テスト環境」をそのまま「本番環境」としてリリースする企業もあります。
しかも大体「テスト環境」のサーバーのパスワードは「testtest」、「test1234」、「Password」、「Passw0rd」など一般的な?一時パスワードにしていることが多いです。
逆に検証環境でもパスワード生成ツールを使って「cLHQ8Ym/*~_&」や「2*X)55%Mbcgw」などの最強クラスのパスワードを設定している企業はかなりしっかりしていると思います。
脆弱性(ぜいじゃくせい)への攻撃
どのように「脆弱性」を探し出すかと言いますと「ポートスキャン」から始めます。
そもそもポートとは一体何でしょうか?
ポートはサービスを識別する番号
ポートとは、インターネットにおいて特定のサービスを提供する識別番号です。
ポート番号は 0 ~ 65535 番まであります。
ポート番号1つにつき、1つのサービスを提供していて、番号が変わるとサービスも変わります。
(中には 5401~5405 まで●●サービスなど、複数のポートを利用しているケースもあります)
例えば、有名なポート番号では「HTTP」は「80番」ポートを利用して通信します。
HTTPサービス(Apacheなど)を起動して「80番」ポートを開くと、外部から80番ポートにアクセスすることで HTTP サービス(Webサービス)を利用できるようになります。
逆にポートを閉じると、そのサービスにはアクセスできなくなります。
ポートスキャンとは?
ポートスキャンとは、Web サイトへの攻撃・不正アクセス・侵入への前段階として、標的のサーバーの各ポートのサービス状況を調査することを言います。
使っていないサービスを起動し、ポートを開けておくのは危険
そもそも使っていないサービスが起動していて、更にファイアウォールも設置していずに、ポートが空きっぱなしになっているのは非常に危険です。
仮にそのサービスへの脆弱性が発見されると一気に不正アクセスが来てクラッキングされる危険性があります。
使わないサービスのポートは閉じておく
使用しないサービスのポートは閉じておくのが一番です。
例えばメールサーバーとして使っていないのに、よく分からないから「25番(SMTP)」のポートを開けておいたら、いつの間にかスパムメールの踏み台にされてしまったなどということがあり得ます。
サーバーを構築してデフォルトのままの状態では、便宜的に一般的なサービスが自動起動するようになっていることがありますので、自分のサーバーで何のサービスを提供しているのか一度洗い出して設定をチェックしましょう。
SQLインジェクション攻撃
一般的なシステムは、Webアプリケーションでユーザーからのリクエストでデータを表示する時に、データベースサーバーに問い合わせをしてその結果を表示します。
WordPress もまさにユーザーからのリクエストにより、データベースから情報を取得して動的にページを表示しています。
データベースから情報を取得する時に使用するコマンドが「SQL文」です。
SQL はデータベースを操作する言語で、PHP や Perl や Python 等のプログラムに埋め込んでデータベースの操作をします。
SQL インジェクション攻撃とは、PHP などで作成したプログラムの「入力チェック」が甘いサイトで、通常予想していない SQL 文が入力されたときにデータベースに思いがけない処理をさせて不正にアクセスをする攻撃方法です。
例えば、会員制サイトで「アカウント」と「パスワード」をチェックして正しければログインを許可するシステムがあった場合、以下のような SQL 文でアカウントとパスワードの紐付が正しいのか判断をしているとします。
$query = “SELECT * FROM users WHERE name = ‘$name’ AND password = ‘$password'”; |
ここで入力チェックが甘くて(もしくはチェックをしていなくて)、入力画面に「admin」、パスワード入力欄に「password = ” OR ‘test’ = ‘test’」などと入力をすると、以下のような構文になり必ず「真」になるためログインができてしまいます。
$query = “SELECT * FROM users WHERE name = ‘$name’ AND password = ‘$password’ OR ‘test’ = ‘test'”; |
このように予期せぬ SQL 文を入力することでデータベースに不正にアクセスすることを「SQL インジェクション攻撃」と言います。
WordPressでもある話なので注意
WordPress は「PHP」と「MySQL(データベース)」で構築されたサイトです。
しかもプラグインが豊富です。
WordPress は「プラグイン」があることで非常に使い勝手のいいサイトを構築することができます。
それが「WordPress」が一気に全世界に広まった「秘密」だと思います。
そして WordPress の「プラグイン」は誰でも作り公開することができます。
「誰でもプラグインが作れる」というところがポイントで、バグもあれば中には悪意のある作者もいるかもしれません。
以前、ある「プラグイン」をインストールしようと思い、WordPress のプラグインのサイトでレビューを読んだのですが、「このプラグイン」をインストールするとデータベースから「メールアドレス」を抜かれるから注意!」などと書き込まれていたので止めたことがあります。
このように WordPress で公開されているプラグイン、もしく WordPress の公式サイトでは公開されていないけど、サイトを検索すると引っ掛かるプラグインは、何があるか分からないのでレビューをチェックしたりして注意をしましょう。
さくらインターネットの「Web改ざん検知サービス」は機能が豊富だった
さくらインターネットの「Web改ざん検知サービス」の機能で面白いと思ったのが以下の2点です。
- クロスドメインスクリプトのチェックができる
- 改ざんを検知した瞬間にページを切り替えてくれる
クロスドメインスクリプトのチェックができる
たとえば、異なるドメインの2つのサイト(AとB)を持っているとして、異なるドメイン間でスクリプトを実行するようなサイトを構築することがあります。
例えば、「Webサーバー」と「画像サーバー」を分けているなど。
このような特殊なケースでもあらかじめ「Web改ざん検知サービス」に登録しておくことで、仮にクラッキングされて悪意のあるスクリプトが埋め込まれてもすぐに検知できます。
ちなみに、クロスドメインクリプト(クロスサイトスクリプティング)とは、Web サーバーで実行されるスクリプトを用いた攻撃のことを言います。
わなを仕掛けたサイトでユーザーが不用意にリンクをクリックすると、別のサイトに飛ばされ、仕掛けられたスクリプトが実行されて Cookie が盗まれたり、ユーザーの個人情報が盗まれることもあります。
さくらインターネットの「Web改ざん検知サービス」では、「クロスドメインスクリプト」のチェックもできます。
改ざんを検知した瞬間にページを切り替えてくれる
これも面白いサービスですが、仮に Web サーバーのページが改ざんされ、その改ざんが検知されたと同時に別のページに切り替えてくれます。
たとえば、「現在メンテナンス中です。しばらくお待ちください。」など「ソーリーページ(Sorry Page)」に切り替えることもできます。
その結果、サイトにアクセスをしに来たユーザーへの感染や被害を未然に防ぐことができます。
さくらインターネットは「ライトプラン(月額換算 129円~)」から「Web改ざん検知サービス」も利用が可能です。
コメント