このところ、情報漏洩の事故のニュースをよく目にします。
うちでも、セキュリティ対策を進めています。ここ数カ月で行った対策は、20件以上になりました。その多くは、保守を担当しているサイトで、保守の範囲として行ったものです。
点検では、こんなところを見ています
点検は、セキュリティホール(外から入り込まれるすき間)がないかを、項目ごとに確かめていく作業です。
- 外から見えてはいけないファイルが、見えていないか。作業の途中で残したバックアップ、古いファイル、データベースの管理ツール、サーバーの設定を表示するページなどです
- ログインしないと見られないはずの画面やファイルが、ログインなしで開けないか。応募書類のような、個人情報が入ったファイルも含みます
- URLの番号を書き換えると、ほかの人やほかの会社の情報が見えてしまわないか
- 入力欄から、データベースへの命令をまぎれこませられないか(SQLインジェクション)
- 入力した文字がそのまま画面に出て、仕込まれたスクリプトが動いてしまわないか
- エラーが起きたとき、サーバーの中の情報が画面に出ていないか
- アップロードできるファイルの種類が絞られているか
- 定期的に動く処理のプログラムが、外から呼び出せる場所に置かれていないか
- お問い合わせフォームが、機械的な大量送信に使われないか
すき間を探す段階では、データを書き換えたり、フォームを送信したり、攻撃用のツールで手当たりしだいに試したりはしません。ページを表示して確かめる範囲と、サーバーの中のファイルを読む範囲で見ていきます。
保守の範囲で直してきたこと
いちばん多かったのは、外から見えてはいけないファイルが見えていたケースです。古いバックアップ、置いたままのデータベース管理ツール、サーバーの設定を表示するページ、定期処理のプログラムが入ったフォルダ。こうしたものを削除するか、外から開けないように塞ぎました。
古いバックアップの中には、うちが作業の前に残しておいたものもありました。残し方によっては、中身がそのまま外から読めてしまいます。いまは、作業のためにバックアップを残すときは、先に外から読めない設定を入れています。
入力欄やURLから受け取った値を、確かめないままデータベースへ渡していた箇所は、見つかったところから、数値や文字として確かめてから渡すように直しています。入力された文字がそのまま画面に出ていた箇所や、エラーの中身が画面に出ていた箇所も、あわせて直しました。
ファイルを渡す処理やデータを保存する処理に、ログインと持ち主の確認を足したサイトもあります。管理画面の入口にパスワードをもう一段かけたり、アップロードされたファイルの置き場所でプログラムが動かないようにしたりもしています。メールでは、送信元を証明する設定(SPF・DKIM・DMARC)を整えました。
直すときは、サイトへの影響が大きいものほど1件ずつ反映し、そのたびに画面が正しく出るかを確かめています。
全部をその場で直したわけではありません
会員のパスワードの保存のしかたを作り直すことや、PHPのバージョンを上げることのように、作業が大きく、サイト全体に響くものもあります。データベースまわりの書き方を、サイト全体で見直す必要があるものも同じです。こうしたものは保守とは分けてお見積もりを出し、相談しながら進めています。
塞いだからといって、すき間がひとつも無いと言い切れるものでもありません。それでも、どこが危ないかが分かれば、手を打つ順番は決められます。
点検だけ、対策だけのご依頼も
リニューアルや機能追加といっしょでなくてかまいません。ほかの会社で作ったサイトも対象です。調べられる範囲は、サーバーやプログラムの中まで見られるかどうかで変わるので、最初にそこからご相談させてください。
気になることがあれば、一度お声がけください。お問い合わせから、ひとことで大丈夫です。費用がかかる場合は、先にお見積もりをお出しします(お見積もりは無料です)。
FAQよくある質問
- Qほかの会社が作ったサイトでも、点検や対策をお願いできますか。
- Aはい、対象です。セキュリティ対策だけのご依頼もお受けしています。サーバーやプログラムの中まで見られるかどうかで調べられる範囲が変わるので、最初にそこを確認させてください。
- Q点検をすると、サイトが止まったりデータが消えたりしませんか。
- Aすき間を探すときに行うのは、ページを表示して確かめることと、サーバーの中のファイルを読むことです。直したあとは、塞がったかどうかを確かめるために、実際に画面を動かして確認することがあります。
- Q点検で見つかったものは、全部すぐに直してもらえますか。
- A外から開けないように塞ぐ、入力の確かめ方を直す、といった作業は、比較的早く手を付けられることが多いです。パスワードの保存のしかたを作り直す、PHPのバージョンを上げるといった大きな作業は、先にお見積もりをお出しして、相談しながら進めます。