2019.12.27ケネNode.js(Express.js)アプリケーションをWeb公開する際のセキュリティ設定ツイートシェアはてブ送るPocket※当サイトはアフィリエイト広告を利用していますWebアプリケーションを外部公開する際にどういったセキュリティ設定が必要か知りたい方向けのまとめです。これからWebアプリケーションを公開していきたい方は参考にしてください。この記事ではWebアプリケーションに焦点を当てているので、Webアプリケーション以外(サーバセキュリティ等)は以下の記事を参照ください。サーバセキュリティ等も対応は必須です。一般的なWebサーバのセキュリティ項目Express.jsで最低限設定しておきたいセキュリティ設定Express.js推奨のセキュリティ項目Webのセキュリティ項目はかなり多いので、どこまでやるかの判断が難しいのですが、Express.jsで推奨されている項目を網羅しているかが一つのポイントです。セキュリティーに関するベスト・プラクティス上記サイトの「TLSを使用する」(HTTPS化すること)、「Helmetを使用する」については、以下の記事で詳細な使い方をまとめていますので参照してください。Express.js(Node.js)をhttpsサーバで運用するNode.js(Express.js)でセキュリティを設定する(http脆弱性対策はhelmetを使えばOK)https化はめちゃくちゃ大変でした。優先度が低ければ稼働させてから追加設定でもいいかもしれませんが、利用範囲も広い(勉強になる)セキュリティ項目なので早めの対応がおすすめです。あとは、こちらの記事にも書いていますが、稼働させる際はproductionモードで起動してください。不要なエラーメッセージが出力されなくなり、セキュリティが強固になります。上記Express.jsのサイトにはありませんが、ログイン画面も実装しておきましょう。パスワードはセキュリティ不備により万が一漏洩した際に困らないように通常利用しているものは避けましょう。Passportを使用してログイン認証(Node.js)記事では触れていませんが、ログイン認証の上限値(5回とか)も設定しておきたい項目となります。Webアプリケーションを構築、拡張していく中でも入力チェック等を適切に入れていく必要がでてきます。IPA(情報処理推進機構)の「安全なウェブサイトの作り方」に気をつけたいポイントが書かれているので、定期的に自分のアプリケーションに脆弱性がないか確認してください。アプリケーション初心者にはさくらVPSが手軽でおすすめです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。USケネはじめまして、ケネです。Node.jsの技術情報を書いています。一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。技術で自分の世界を広げましょう。不明点や質問があればお気軽にコメントください。