2012-06-10 11 views
10

たとえば、MySQLデータベースには既知のセキュリティ問題があります。これはNoSQLデータベースにどのように適用されますか?例えばInjections、xssなど。NoSQLデータベースを使用する際には、どのようなセキュリティ測定が必要ですか?具体的にはMongoDB(node-mongodb-native)とNode.js(Expressを使用)についてnode.jsのMongodbセキュリティ

もしそうなら、これを防ぐのに役立つNode/Express用のモジュールはありますか?

+0

私は、 "誰も、特にユーザ入力を信用しない"という原則は、noSqlデータベースにも適用されていると考えています。しかし、これは良い関連性の高い質問です。答えを見たいのですが。ありがとう@Jojje –

答えて

11

NodeJS、MongoDB(およびJavaScriptを大量に使用するNoSQLデータベース)には特定の問題があります:serverside javascript injection詳細はherehere (pdf)をご覧ください。 XSSよりもSQLインジェクションに似ています。

まもなく、JSONだけを期待しているときに、攻撃者がjavascriptをnodejsまたはmongodbに送信します。だから理論的に悪い人はあなたのサービスをダウンさせることができます(DOS)、あなたのデータやファイルシステムにアクセスします。 「アドホック」のユーザ入力でスクリプト を連結することによって、コマンドJavaScriptを作成

  1. 回避:にあなたが持っている、そのような攻撃を防ぐために

  2. SSJSコマンドで使用されるユーザー入力を正規表現で検証します。
  3. JavaScript evalコマンドを使用しないでください。特に、JSON入力を解析するときは、 JSON.parseなどのより安全な方法を使用してください。
関連する問題