こんにちは。研究開発部のつじもとです。今回は、静的サイトにおけるセキュリティについて、書いていきます。私は脆弱性診断ではなく開発などをメインにしているので、ここで皆さんと「静的サイトとセキュリティ」について一緒に勉強していけたらと思います!
なので、この記事の対象読者の方は、なんかWebとかセキュリティのことよくわからないけど、とりあえずWebサイトの発注やら管理をやることなりました! といった方が対象になります。
ということで早速、「静的サイト セキュリティ」とググってみました。ググった結果はというと
静的サイトは外部の攻撃にたいして堅牢です!
サーバーのセキュリティ対策はほぼ必要ありません!
セキュリティリスクがほぼない!
すごいですね! 静的サイトセキュリティ最強みたいな記事が結構ヒットします。
確かに静的サイト自体はデーターベースがないので、攻撃されて何かしらの情報が漏れるというようなことはありませんし、ユーザーが何かフォームに個人情報を入力して、その情報を静的サイトが処理するなんてこともそもそもできませんので静的サイト自体から直接影響をうけることはありません。
聞いてみよう
なるほど、静的サイトで作ればセキュリティのことは気にしなくていいのかと思って、社内で聞いてみました!
そしたら、弊社のCTOのはせがわからこんな回答が!
JavaScriptによるXSS
JavaScriptによるオープンリダイレクタ
プラットフォーム/ミドルウェア(ApacheとかnginxとかOS)
うっかり置いてしまったままになってるFlashの脆弱性
さすが、CTOですね。セキュリティにあまり明るくない私に対して優しくない専門用語たっぷりの回答がかえってきました。
考えられるリスク
さて、先ほどの優しくない回答を頼りに静的サイトで起こりうるリスクを考えてみます。
悪意のあるサイトへ誘導される
サイトの情報を書き換えられる
例えば、サイトの情報が書き換えられ、悪意のある個人情報を入力させるようなサイトに誘導されてしまった場合などを考えると静的サイトであっても間接的に個人情報などが漏れることもあるので注意が必要ですね。
静的サイトは攻撃されても、比較的に被害が少ないため(サーバーが落ちてサイトが見れなくなる、サーバーから個人情報が漏洩するといった被害には至らない)、XSSなどの脆弱性への認識が低い開発者も少なからずいると思います。攻撃者はそこを狙ってきます。
一般的に収益生のあるサイトや資産価値の高いサイトというのは、すでにWAFや脆弱性診断、セキュアなプログラミングなどの対策がなされていて、なかなか攻撃しにくいです。
それに比べて、会社のWebサイトや商品紹介サイトなどは基本的には収益を生み出さないので、資産価値がないと思われセキュリティ対策が手薄なところもあります。
攻撃者の狙いは、まずはセキュリティ対策が手薄なサイトを攻撃し、そこからユーザー情報を取得し、正当な方法で資産価値の高いサイトに侵入する。そうすれば、いくらWAFや脆弱性診断、セキュアなプログラミングなどで対策してあっても正面から進入された場合は防ぎようがありません。
セキュリティ対策として何ができるのか
では次は具体的にどんなセキュリティ対策ができるのか考えていきましょう。
とは言ったものの、私自身の脆弱性診断の知識は浅いので、またまた、弊社のCTOのはせがわからアドバイスを貰いました。
使用しているミドルウェアや環境に問題がないかプラットフォーム診断を行う
不要なファイルが置かれていないか確認する
HTMLやJavaScriptだけでもXSSやオープンリダイレクタが発生する可能性があるので脆弱性診断を行う
なるほど、やはり静的サイトであってもセキュリティ対策として脆弱性診断などは必要みたいですね。
セキュリティ対策するのかしないのか?
この記事でみなさんと一緒に「静的サイトとセキュリティ」について勉強してきました。
静的サイトであっても脆弱性は存在し、適切なセキュリティ対策が必要だということはわかりました。しかし、現実には「静的サイトだから大丈夫でしょ! そんなのにお金をかけてられないよ!」といったケースは多いです。
予算の都合上セキュリティ対策に全くお金が使えないにしても、インシデント発生時の準備はできるはずです(インシデントには誰が対応するとか)。
開発でも他の仕事でも一緒だと思いますが、何かあった時の準備が疎かだと、その後が大変です。会議に出ているのかお通夜に出ているのか、わからない状態になります(笑)。
個人的には、お通夜に出たくないので、最低限のセキュリティ対策は多少お金がかかってもやって欲しいですけどね。