Node.js(Express.js)でセキュリティを設定する(http脆弱性対策はhelmetを使えばOK)

Express.jsのセキュリティ強化用途で推奨されているHelmetの設定手順の記事です。

Express.jsのセキュリティ推奨設定は以下公式サイトを参照ください。
Express.js公式サイト Security Best Practice

Helmetはhttpヘッダの設定をサポートしてくれるライブラリでWebの脆弱性対策に使えます。
設定も簡単なので早めに設定してしまいましょう。

HelmetのGithubページはこちらです。チュートリアル等参照できます。
GitHub(Helmet)

デフォルトのhelmet設定手順

npmからhelmetをインストール

npm install helmet --save

app.jsで定義。use helmetはコードの上の方に書いておきます。
headerに確実に設定されるようにと公式にも書いてありますので、app = express();の次ぐらいに書いてしまいましょう。

const helmet = require('helmet')
~~~
const app = express();
app.use(helmet())

追加オプションの設定手順

ちなみにGithubの下の方にオプション一覧が載っていて追加で色々設定できます。
オプション(下の画像の青文字部分)をクリックすると脆弱性の一般的な説明が参照できます。

f:id:aonion2:20190112001611p:plain

オプションの設定方法は以下のようにtrue/falseで設定すればOKです。

//オプション(frameguard)を無効にする
  app.use(helmet({
  frameguard: false
}))
//オプション(noCache)を有効にする
app.use(helmet({
noCache: true
}))

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


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ABOUT US

ケネ
はじめまして、ケネです。

Node.jsの技術情報を書いています。

一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。
技術で自分の世界を広げましょう。

不明点や質問があればお気軽にコメントください。