Node.jsで暗号資産アービトラージ

ビットコイントレード中心にNode.jsで実際に作るためのレシピ

Node.js(Express.js)アプリケーションをWeb公開する際のセキュリティ設定

Webアプリケーションを外部公開する際にどういったセキュリティ設定が必要か知りたい方向けのまとめです。

これからWebアプリケーションを公開していきたい方は参考にしてください。

この記事ではWebアプリケーションに焦点を当てているので、Webアプリケーション以外(サーバセキュリティ等)は以下の記事を参照ください。サーバセキュリティ等も対応は必須です。

https://www.kennejs.com/entry/2019/03/17/073549

Express.jsで最低限設定しておきたいセキュリティ設定

Express.js推奨のセキュリティ項目

Webのセキュリティ項目はかなり多いので、どこまでやるかの判断が難しいのですが、Express.jsで推奨されている項目を網羅しているかが一つのポイントです。

Express.jsのサイト(セキュリティ項目)
実稼働環境における Express のセキュリティーに関するベスト・プラクティス

上記サイトの「TLSを使用する」(HTTPS化すること)、「Helmetを使用する」については、以下の記事で詳細な使い方をまとめていますので参照してください。

www.kennejs.com

www.kennejs.com

https化はめちゃくちゃ大変でした。

優先度が低ければ稼働させてから追加設定でもいいかもしれませんが、利用範囲も広い(勉強になる)セキュリティ項目なので早めの対応がおすすめです。

あとは、こちらの記事にも書いていますが、稼働させる際はproductionモードで起動してください。

不要なエラーメッセージが出力されなくなり、セキュリティが強固になります。

www.kennejs.com

一般的なWebサーバのセキュリティ項目

上記Express.jsのサイトにはありませんが、ログイン画面も実装しておきましょう。

パスワードはセキュリティ不備により万が一漏洩した際に困らないように通常利用しているものは避けましょう。

www.kennejs.com

記事では触れていませんが、ログイン認証の上限値(5回とか)も設定しておきたい項目となります。

また、Webアプリケーションを構築、拡張していく中でも入力チェック等を適切に入れていく必要がでてきます。

IPA(情報処理推進機構)の「安全なウェブサイトの作り方」に気をつけたいポイントが書かれているので、定期的に自分のアプリケーションに脆弱性がないか確認してください。
安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構

自作アプリケーション初心者にはさくらVPSが手軽でおすすめです。