2014年10月、JPCERTより「Drupal の脆弱性に関する注意喚起」が告知された

JPCERT「Drupalの脆弱性に関する注意喚起」
https://www.jpcert.or.jp/at/2014/at140042.html

drupal.orgからも内容について発表が。
https://www.drupal.org/SA-CORE-2014-005

その他、様々なサイトでDrupal7の脆弱性についての記事が投稿された。

Drupal7.32未満の全てのDrupal7にSQLインジェクションの脆弱性がある

  • Drupal 7ユーザーは直ちにサイトを更新する必要がある。
  • 更新するまでDrupal 7サイトはこの脆弱性にさらされ続ける。
  • Drupalに関して公開される一般的なセキュリティ勧告とは異なり、この脆弱性には、アカウント情報を入 手したり誰かを騙して機密情報を漏洩させたりしなくても攻撃者がセキュリティホールを作成できるという性質がある 。
  • JPCERTの発表以来、多種多様なDrupalウェブサイトに対し、この脆弱性の利用を試みるシステム化された 攻撃が開始されている。
  • 不具合のアナウンスから7時間以内にサイトを更新していなかった場合、そのサイトは既に侵入されてい>る可能性がある。
  • 更新しないまま、メンテナンス モードにしても、この脆弱性に対する有効な対策にはならない。
  • 更新しないのであれば、サイトを完全に使用できない状態にする必要がある。

※ 状況に応じたDrupalコアのアップデート方法を案内します。
 ・予めアップデート内容(Release Note)を確認し、変更内容や必要な付随作業を把握する
 ・ファイル、データベースともバックアップを取る
 ・予め、テスト環境でアップデート実行後の動作確認を行う
 が前提になっています。
 いきなり本番サイトをアップデートしないでください。

今現在Drupal7は7.69になってます(2020/5現在)

セキュリティの脅威に対応するために、Drupalを常に最新にしておきましょう。


あなたのDrupal7はどうなってますか?
 
以下の質問に答えていますぐアップデートを!
 

※ Drushとは、Drupal Shellの略で、Drupalをコマンドラインから操作するコマンドラインツールです。

Composerのインストール方法

  1. ダウンロード
    $ curl -sS https://getcomposer.org/installer | php
  2. pathの聞いているディレクトリ内へ移動
    $ mv composer.phar /usr/local/bin/composer
  3. 動作確認
    $ composer --help
    ヘレプが表示されれば正常にインストールされています。
  4. ↑の「Composerはインストールされていますか?」に「はい」と答えてください。

Drushのインストール方法

  1. インストール
    $ composer global require drush/[Branch]
    ※ インストールされているphpのバージョンに合わせて相応のDrushをインストールします。
    Drush Version Branch PHP Compatible Drupal versions Code Status
    Drush 8 master 5.4.5+ D6, D7, D8
    Drush 7 7.x 5.3.0+ D6, D7
    Drush 6 6.x 5.3.0+ D6, D7
    Drush 5 5.x 5.2.0+ D6, D7 Unsupported
     
  2. Pathを効かせる
    ~/.bash_profile などの適当なところに下記 1 行を追加する。
    PATH="~/.composer/vendor/bin:$PATH"
  3. 確認
    $ drush --version
    Drushのバージョンが表示されれば正常にインストールされています。
  4. ↑の「Drushはインストールされていますが?」に「はい」と答えます。

Drushによるアップデート方法

  1. アップデートするDrupalのドキュメントルートに移動
    $ cd /path/to/your/drupal/document/root
  2. .htaccess, web.config, robot.txt, .gitignoreを退避
    $ mkdir 20150101・・・当日の日付など
    $ cp .htaccess 20150101/.
    $ cp web.config 20150101/.
    $ cp robots.txt 20150101/.
    $ cp .gitignore 20150101/.
  3. アップデート配布状況を確認
    $ drush pm-updatestatus
    ※ 最初に「Module nameの利用可能なアップデートを確認しました。[ok]」
     という表示がモジュール分表示され、その後、
     アップデート可能なモジュールの一覧が表示される。
    Name=drupalとして表示されている行を確認
    ※ Drupalコアは「drupal」として表示される。
  4. アップデート実行
    $ drush up drupal
    ※ 途中、アップデートを進めても良いか聞いてくるので、メッセージを良く読んで答える。
    ※ 当コマンドは最初にファイルおよびデータベースのバックアップを取るため、失敗しても元の状態に戻してくれる。
  5. .htaccess, web.config, robot.txt, .gitignoreの補整
    ※ 4つのファイルに対し、下記作業を行う。
    ​$ vimdiff .htaccess /20150101/.htaccess
    ※ 差分が左右にWindowが別れて表示される。
    差分を照合し、.htaccess の方を完成させる。
  6. キャッシュをクリアする
    ブラウザでログインし、管理 > 環境設定 > 開発 > パフォーマンス にて「すべてのキャッシュをクリアー」を実行。
    ※ drush cc all でも良いはずだが、一度キャッシュが残ってしまうことがあったため、習慣的に管理ページにて行っている。

Gitの設置をおすすめします

おめでとうございます。ここまでできたあなたにはGitの設置をおすすめします。

DrupalディレクトリにGitを設置することにより、改ざんされた場合、すぐに変化を検出する事ができるようになります。

この事について、よくわからない場合はDrupal FAQで質問してみてください。
または、セキュリティアップデートおまかせサービス付きのオンラインサポート会員(PORTAL以上)をご検討ください。

意味はわかるし、自分でできる。しかし、時々、色々と相談したい。という場合は、オンラインサポート会員(LIGHT)を検討してみてください。

SSH(ターミナル)接続によるアップデートを試してみてください

Drushによるアップデートは、いくらか難易度が高かったかもしれません。

上の「Drushを使ったアップデートを行いますか?」に「いいえ」と答え、「SSH(ターミナル)接続によるアップデート方法」を試してみて下さい。

SSH(ターミナル)接続によるアップデート方法

  1. 作業用ディレクトリへ移動
  2. $ cd /path/to/work
  3. ダウンロード
    $ wget http://ftp.drupal.org/files/projects/drupal-9.99.tar.gz
  4. ダウンロードしたファイル名を記憶
    $ ls
    $ drupal-9.99.tar.gz
  5. 解凍
    $ tar xvzf drupal-9.99.tar.gz
  6. 事前確認 & 補整
    .htaccess, web.config, robots.txt, .gitignoreの4ファイルについて以下の作業を行う。
    (他に自分で変更したファイルがある場合は、そのファイルに対しても同様の作業を行う)
    (1)差分を表示
     $ vimdiff /path/to/work/drupal-9.99/.htaccess /path/to/your/drupal/document-root/.htaccess
      ※ 差分が左右にWindowが別れて表示される。
    (2)差分を照合し、/path/to/work/drupal-9.99/.htaccess の方を完成させる。
  7. かぶせる
    $ cp -rf /path/to/work/drupal-9.99 /path/to/your/drupal/document-root
  8. DBアップデートを実行
    ・アドレスバーに「http[s]://your-domain-name/user/login」+ ENTER と入力。ログインする。
    ・アドレスバーに「http[s]://your-domain-name/update.php」+ ENTER と入力。指示に従う。
  9. キャッシュをクリアする
    ・ブラウザで、管理 > 環境設定 > 開発 > パフォーマンス にて「すべてのキャッシュをクリアー」を実行。

オンラインサポート会員(PORTAL)をおすすめします

おめでとうございます。ここまでできたあなたにはおまかせセキュリティアップデート付きのオンラインサポート会員(PORTAL以上)をおすすめします。

あなたは、SSH(ターミナル)が使え、ターミナルからのアップデートができました。

しかし、この先、セキュリティの脅威からサイトを守るためには、Drushのインストールや改ざんの監視機能をを入れなければなりません。

DrupalディレクトリにGitを設置することにより、改ざんされた場合、すぐに変化を検出する事ができるようになります。

早急に、セキュリティアップデートおまかせサービス付きのオンラインサポート会員(PORTAL以上)を申し込みましょう。

FTP+管理画面によるインストールを試してみてください

SSH(ターミナル)によるアップデートは、いくらか難易度が高かったかもしれません。

↑の「SSH接続権限を持っており、使ったことはありますか?」に「いいえ」と答え、「FTP+管理画面によるインストール方法」を試してみて下さい。

FTPと管理画面によるアップデート

  1. 準備(FTPツールを用意)
    ※ Windowsの場合は、WinSCP。
    ※ Macの場合は、FileZilla、Cyberduckなど。
    ※ プロトコルとしてはSFTPを推奨(FTPはセキュリティ的に難あり)
  2. ダウンロード
    https://www.drupal.org/project/drupal にアクセスし、最新の圧縮(zip or tar.gz)をクリック(ダウンロード)する。
  3. 解凍
    ファイルブラウザでダウンロードディレクトリーを表示し、ダウンロードしたファイルをクリックし解凍する。
  4. FTPツールを起動。
    ※ Localディレクトリに3.で回答したディレクトリ内を表示。
    ※ Remoteディレクトリにサーバー内のドキュメントルート内を表示。
  5. 事前確認 & 補整
    ・Localディレクトリ内にサブディレクトリ20150101(作業日など)を作成。
    ・20150101の中に、Remoteディレクトリ直下の.htaccess, web.config, robots.txt, .gitignoreの4ファイルをコピー。
    ・Localの.htaccess, web.config, robots.txt, .gitignoreについて以下の作業を行う。
    (1)差分を表示
     $ cd /path/to/Local/directory
     $ vimdiff .htaccess 20150101/.htaccess
     ※ Windowsの場合は「秀丸」がおすすめ。
    (2)差分を照合し、.htaccess の方を完成させる。
  6. かぶせる
    FTPツールでLocalディレクトリ以下全てのファイル・ディレクトリ → Remoteディレクトリー以下へ複写(転送)する。
  7. DBアップデートを実行
    ・アドレスバーに「http[s]://your-domain-name/user/login」+ ENTER と入力。ログインする。
    ・アドレスバーに「http[s]://your-domain-name/update.php」+ ENTER と入力。指示に従う。
  8. キャッシュをクリアする
    ・ブラウザで、管理 > 環境設定 > 開発 > パフォーマンス にて「すべてのキャッシュをクリアー」を実行。

オンラインサポート会員(PORTAL)をおすすめします

おめでとうございます。ここまでできたあなたにはおまかせセキュリティアップデート付きのオンラインサポート会員(PORTAL以上)をおすすめします。

あなたは、FTP+管理ページでのアップデートができました。

しかし、この先、セキュリティの脅威からサイトを守るためには、SSHによるアクセスに加え、Drushのインストールや改ざんの監視機能をを入れなければなりません。

DrupalディレクトリにGitを設置することにより、改ざんされた場合、すぐに変化を検出する事ができるようになります。

いますぐセキュリティアップデートおまかせサービス付きのオンラインサポート会員(PORTAL以上)を申し込みましょう。

オンラインサポート会員(PORTAL)をおすすめします

アップデートができなかったあなたには、おまかせセキュリティアップデート付きのオンラインサポート会員(PORTAL以上)をおすすめします。

このままでは、セキュリティの脅威からサイトを守ることはできません。

SSHによるアクセスに加え、Drushのインストールや改ざんの監視機能をを入れなければなりません。

DrupalディレクトリにGitを設置することにより、改ざんされた場合、すぐに変化を検出する事ができるようになります。

いますぐセキュリティアップデートおまかせサービス付きのオンラインサポート会員(PORTAL以上)を申し込みましょう。

このエントリーをはてなブックマークに追加
Facebook icon
Twitter icon
Google icon