
セキュリティのベストプラクティス
Helmet、CORS、rate limiting、入力のサニタイズ、SQL injection、XSS、CSRF
1NestJS の文脈における Helmet とは何ですか?
NestJS の文脈における Helmet とは何ですか?
回答
Helmet は、一般的な脆弱性からアプリケーションを保護するために HTTP セキュリティヘッダーを自動的に設定するミドルウェアです。X-Frame-Options、Content-Security-Policy、X-Content-Type-Options などのヘッダーを有効にし、XSS、clickjacking、MIME sniffing を防ぎます。Helmet は、セキュリティの防御面を強化するための本番環境における必須のベストプラクティスです。
2API における CORS の主な役割は何ですか?
API における CORS の主な役割は何ですか?
回答
CORS(Cross-Origin Resource Sharing)は、どの外部ドメインが API リソースにアクセスできるかを制御します。CORS の設定がない場合、ブラウザはセキュリティ上の理由から異なるドメインからのリクエストをブロックします。CORS を適切に設定することで、セキュリティを維持しながらアクセスエラーを防げます。すべてのドメインを wildcard で許可するのではなく、許可するオリジンのホワイトリストを使用しましょう。
3ブルートフォース攻撃から API を保護するための最善のアプローチは何ですか?
ブルートフォース攻撃から API を保護するための最善のアプローチは何ですか?
回答
rate limiting は、一定期間における IP やユーザーごとのリクエスト数を制限し、自動化されたブルートフォース攻撃を防ぎます。NestJS の throttler-module のようなパッケージを使えば、グローバルまたはエンドポイントごとの制限を簡単に設定できます。rate limiting を段階的な戦略(一時的なブロック時間の増加)や、機密性の高いエンドポイント向けの CAPTCHA と組み合わせましょう。rate limiting はサービス拒否(DoS)に対する保護にもなります。
XSS(Cross-Site Scripting)攻撃とは何ですか?
NestJSアプリケーションをSQLインジェクションから保護するにはどうすればよいですか?
+22 面接問題