セキュリティ

近年においてセキュリティはウェブサイトにとって最も重大な懸念事項のひとつです。ウェブサイトは常に脅威に晒されており、concrete5を含めあらゆるシステムはユーザーに100%の完璧な安全を保証することはできません。ですが、セキュリティへの取り組みについていくつかの事実をお伝えすることはできます。

Webアプリケーションの脆弱性について対応を行なっています

concrete5は、IPA(情報処理推進機構)が公開している『安全なウェブサイトの作り方』で解説されているSQLインジェクション、XSS、CSRFなどへの対応策を実装し、データを安全に取り扱うよう務めています。また、オープンソースとして公開されている concrete5 では、これらの脆弱性がアプリケーションに見つかった場合の 脆弱性報告窓口 を設けており、アップデートによって修正されています。 (日本語による脆弱性報告の説明はこちら)

ユーザーのパスワードは適切に暗号化して復号できない形式で保存されています

concrete5のユーザーアカウントのパスワードは、アカウントごとに固有のパスワードソルトを用いて暗号化されています(PHP Password Libraryを利用しています)。

不正ログインに対するIPアドレスブロック機能を搭載しています

一定回数以上concrete5へのログインに失敗した場合に、アカウントにログインしようとしてきたIPアドレスをブロックし、ログイン不可能にするIPアドレスブロック機能を搭載しています。

企業のガバナンスに対応する詳細な権限機能を搭載しています

ファイルマネージャーにアップロードされたファイルや、サイト内に存在するページについて、アカウントごとにアクセス権限を設定することができます。ログインユーザーの多いサイトの場合に、CMS内の情報の公開範囲を適切に制限することで、人為的な事故を減らし適切なウェブサイトの運用が可能になります。

リスクの少ないアプリケーションの設計になっています

CMSのログイン権限を奪取され、不正なプラグインをインストールされたり、PHPファイルを改ざんされることによるケースが報告されています。concrete5では、万が一ログイン権限を奪取されても、管理画面からPHPファイルを書き換えたり、データベースを直接変更できるような機能を実装していません。また、追加機能のインストールは、公式に運営されているマーケットプレイスから、ソースコードの審査が行なわれたアドオンのみをインストールすることができます。ただし、CMSの機能でGoogle Analyticsの計測タグなどのJavascriptを埋め込むことは可能なので、過信は禁物です。

 

ご自分でできるセキュリティ対策

バックアップを定期的に取得してください

万が一ハッキング被害を受けた際に、サイトを復旧するために、バックアップを定期的に取得するようにしてください。データベースのダンプと、files以下のファイルマネージャーのファイル、オーバーライドによるカスタマイズをバックアップとして保管しておけば、ウェブサイトを復旧することができます。オーバーライドを行なわずコアファイルを直接変更すると、カスタマイズ範囲と改ざんされたファイルの見分けが付かなくなりますので、おすすめしません。

ログインパスワードを適切に設定・管理してください

123456、password、P@ssw0rdなどのありきたりなパスワードを設定しないようにしてください。これらのよく使われるパスワードを用いてCMSへのログインを試みようとする攻撃が横行しています。英数字記号を含む複雑なパスワードを設定するように心掛けてください。また、重要なパスワードを目につくところにメモしておくなども避けてください。

バージョンアップを常に行なってください

concrete5では、報告された脆弱性をバージョンアップの際に修正しています。concrete5のバージョンを最新版に保つように心掛けてください。2014年にリリースされたメジャーバージョン5.7は、バージョン5.6までと互換性がありませんが、5.6系のセキュリティメンテナンスはバージョン5.7のリリース後も継続されることがアナウンスされています。5.6系のバージョンをお使いの方も、新しいバージョンのリリース情報をチェックするようにしてください。

サーバーの権限設定を適切に行なってください

concrete5をインストールするディレクトリやファイルのパーミッションを、不用意に緩い権限設定にしないようにしてください。concrete5からの書き込み権限が必要なディレクトリがいくつかありますが、全てのユーザーから書き込みができる必要はありません。

さらに詳細は、concrete5.org の Security and concrete5 ページもご覧ください(英語)。