組織が関わる全てのwebサイトは安全か
自前で用意するセキュリティレベルの高いWebサーバに設置されたオリジナルCMSを使ってwebページを公開することが基本ではあるが、やむを得ずレンタルサーバで、しかもWordpressのような汎用的なCMSを使ってWebサイトを公開している場合もある、という組織も少なくないでしょう。そのようなWebサイトは、十分なセキュリティチェックが出来ていないとWebサイトが改ざんされるおそれや、改ざんされた時に即座に対応できない可能性が大いにあります。
組織が関わるWebサイトが改ざんされると、組織全体の信頼を失うことにもなりかねず、レンタルサーバでWebサイトを公開する場合は、あらかじめセキュリティチェックリストを策定しておき、外注先や作業担当者にチェックリストの全ての項目が「はい」になるよう求め、一定のセキュリティ要件を確保することが大切です。
セキュリティチェックリストについて
Webサイトの種類は、イベント告知のみ(静的)、電子申請ページ、ブログ形式(動的)、など多様であるために、どんなwebサイトにも一律に最強最高レベルのセキュリティ対策が必要である、という方針のもと、「IPAのホームページサーバ等確認チェックリストと、ウェブアプリケーションのセキュリティ実装チェックリストの全ての項目が「はい」でなければwebサイトを公開出来ない」としてしまうと、Webサイトの内容とセキュリティ要件がアンバランスになる場合や、チェック内容が専門的過ぎて理解出来ず、勘違いやあいまいな報告により、逆にセキュリティが確保できないことも危惧されます。
そこで、重要情報を扱わない軽易なWebサイト用に、求める対策が実践しやすい簡易セキュリティチェックリストを作り、
- 個人情報を取り扱う場合はIPAのホームページサーバ等確認チェックリストと、ウェブアプリケーションのセキュリティ実装チェックリスト
- イベント告知など軽易な情報だけを取り扱う場合は簡易チェックリスト
を用いて、Webサイトの公開目的に応じたセキュリティレベルを確保することも必要ではないかと考えられます。
WEBサイトの簡易セキュリティチェックリストの概要案
wordpressなどのCMSの脆弱性を悪用され、WEB サイトが改ざんされる事例が数多く発生していますが、具体的な攻撃名や手口についてまで詳細に言及することは避け、一般的に有効で、必要とされるセキュリティ対策を、運営責任者として確実に実施しているか、あるいはさせているか、チェックを行うことを検討します。以下はチェックを実施する項目の案です。
CMSの対策編
CMSなどのプログラムに脆弱性がある場合、悪意を持った攻撃者はそのCMSに攻撃を仕掛けます。攻撃によってファイルが改ざんされ、迷惑メールを大量に送信させられてしまう問題や、閲覧者が悪意のあるページへ自動的に遷移させられてしまう問題が発生する場合があります。そこで、利用するCMSのセキュリティ対策が必要最低限確実に実施されているかをチェックするための項目が以下の内容です。
CMSツールは最新のバージョンを利用し続けてください
WordPressなどのCMSツールは、セキュリティを強化するため、日々プログラムを更新して対策を行っているので、最新バージョンは既知の脆弱性がなく、逆に古いバージョンは脆弱性が多くなります。特にWordPressはユーザーも多く、攻撃も数多く報告されていますので、本体だけでなく、プラグインやテーマも合わせて、必ず最新バージョンを利用し続けてください。(最新バージョンを利用すること、とすると、webサイト製作時だけ最新版を使い、以後バージョンアップされない事案が多発します。)
管理画面のパスワードは推測されにくいものにしてください
webサイトの改ざんは、CMS管理画面のパスワードやユーザーIDが特定されることにより発生することもあります。ユーザーIDには「admin」など一般的なものを用いず、パスワードは推測されにくいものへ変更し、さらに定期的に変更することで、webサイトのセキュリティが向上します。特に下記のようなパスワードを設定している場合は早急に変更してください。
- IDとパスワードが同一の場合
- パスワードが8文字未満など短い場合
- 推測されやすい単語を使用している場合
- パスワードが数字または英字のみの場合
バックアップツールを使って定期的にバックアップを取る
バックアップツールを使って定期的にバックアップを取ること、バックアップを使って復元出来ることを確認しておくことで、万が一webサイトが改ざんされた場合でも元の状態に戻すことが可能になります。ただし、バックアップ機能があることだけを確認して、バックアップを使って復元出来ることを確認しないまま、実際に復元しようとしたら、必要なデータの一部しかバックアップされていなかった、大半が手動でしか復元できず、復元するのに時間がかかった、という事があるので、必ずバックアップからの復元についても確認しておきましょう。
WordPressのテーマ・プラグインを利用している場合に注意すること
WordPress本体だけでなく、WordPressにインストールしているテーマやプラグインの脆弱性を悪用されて、Webサイトを改ざんされる事案も多く発生しています。テーマやプラグインを利用する際は、下記の事に注意してください。
- 公式に配布されているテーマやプラグイン以外は危険な場合があります。
- 不要なテーマは削除してください。
- 提供元が長期間更新していないプラグインは脆弱性が放置されている可能性があります。
- 使用しないプラグインは削除してください。
Webサーバでの対策
WAFを利用する
WAF(ウェブアプリケーションファイアウォール)はこれまでのFW(ファイアウォール)などでは防御できなかった攻撃や不正なアクセスを検知しブロックしてくれる機能で、最近では主なレンタルサーバには標準で用意されています。 クロスサイトスクリプティングやSQLインジェクションなど、現在、最も一般的な攻撃に対しても有効なので、可能な限り利用しましょう。
パーミッションの設定を正しく行ってください
ディレクトリ、ファイルのパーミッションを以下の値で設定してください。
- HTML・画像ファイル 604 rw—-r–
- CGIの実行ファイル 700 rwx——
- CGIのデータファイル 600 rw——-
- .htaccessファイル 604 rw—-r–
- ディレクトリ 705 rwx—r-x
パーミッションの設定を777 (rwxrwxrwx)や666 (rw-rw-rw-)などに設定しているディレクトリ、ファイルは、誰でも書き込むことが可能な設定となっているため、悪意ある第三者に改ざんされる可能性があります。確認の上、上記の値に変更してください。また、特に下記の点について注意してください。
- .htaccessファイルが書き換えられる事例が多発しています。パーミッションが「604 (rw—-r–)」になっているか確認ください。
- WordPressを利用の場合、安全性向上のために「wp-config.php」のパーミッションを「400(r——–)」に設定してください。
ファイルをアップロードする時の対策
ファイルをWebサーバにアップロードする際、webサーバ内部へのアクセスを特定のIPアドレスだけに制限することでファイルを改ざんされるリスクは低くなります。またwebサーバとのファイル送受信を傍受されるリスクを低くするため、以下の点に注意して下さい。
- webサーバへのアクセスはSSHを基本にする。
- FTPクライアントソフトを使う場合、SFTPまたはFTPSで接続する。
- SFTPまたはFTPSを提供しているwebサーバを使う。
FTP通信は利用しない
FTP通信は暗号化されず、パスワードも平文でwebサーバに送られるため、使わないことが一番のセキュリティ対策です。SFTPやFTPSを使うと通信は暗号化されます。最近は安価なレンタルサーバでもSFTPやFTPSが使えるようになっているので、セキュリティ対策として、そもそもFTP通信を行わないことが重要です。FTP通信が使えるサーバであっても、絶対に使わないようにしましょう。
まとめ
以上の事項について、現状と今後のセキュリティ対策、あるいは対策予定が確認できるチェックリストであれば、発注元の部署やwebサイト製作業者に対して説明しやすく、かつセキュリティレベルを一定担保出来ると思います。
この概要案を元にWebサイトのセキュリティチェックリストを作るなら、例えば、
- CMSとそのテーマ、プラグインは常に最新バージョンを使い続けることが出来るか
- CMSの管理画面へのログインID、パスワードは推測されにくいか
- バックアップ機能があり、バックアップから復元出来るか
- WAFを利用しているか
- 特定のIPアドレスだけがサーバにログイン出来るようになっているか
- パーミッションは正しく設定されているか
- FTP通信を利用していないか
というようなチェック項目を用意して、すべてが「はい」になることを求めるようにします。もちろんここに挙げた項目は必要最低限の項目であり、細かく設定すればするほどセキュリティレベルは向上します。しかし要求項目が増えるほど、外注費用は高くなり、管理している部署の負担も増えますので、Webサイトの性質を見極めて必要な対策を行うようチェック項目を検討なさると良いでしょう。