問題タブ [database-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
309 参照

c# - 選択対象のテーブルが変更されるADO.NETでクエリを安全に作成するにはどうすればよいですか?

ADO.NETでは、コマンドオブジェクトにパラメーターを追加して、SQLクエリにユーザー入力を安全に追加できます。SQLクエリに共通する他の述語に相当するものは何ですか?

私は本質的に非常に限定されたORマッパーとSQLジェネレーターであるプログラムを書いています(それはメタ情報を持つデータベースとそのメタデータに準拠する他のデータベースに重点を置いています)。結果として、私は次のようなものを呼び出すことができる必要があります:

その一部(のようにcriteria)は、信頼できるユーザー(私の会社の他の開発者)によって文字通り私のプログラムに入力されますが、他のデータは、検索などを通じて信頼できないユーザー(クライアント)によって私のプログラムに入力されます。

このプログラムを安全にしたいのですが、上記はそうではないことを認識しています。現在USER_SELECTED_COLUMNS、コマンドパラメータに置き換えていますが、CRITERIAとTABLESに相当するものを見つけることができませんでした。(またはorder-by列)。SqlParameter非選択述語に使用できるのと同様のADO.NET機能はありますか?

0 投票する
1 に答える
2403 参照

mysql - ユーザーがいないため、mysql に接続できません

誤って mysql のすべてのユーザーを削除してしまいました ... そのため、mysql に接続できません。
誰にもアイデアはありますか?
再インストールしてみましたがだめでした…

PS : 私は Archlinux を使用しています。
前もって感謝します !

0 投票する
1 に答える
453 参照

postgresql - Postgresql クライアント認証の問題

私は postgresql のアクセス制御ファイル pg_hba.conf に苦労しています... それは決して幸せではなく、やりたいことは単純明快です: A) localhost からALLへのアクセスを許可する B) 10.8.0.* からALLへのアクセスを許可する ( VPN) C) 残りのすべてを拒否

pgsql の公式 Web サイトの wiki ページを読みましたが、構成の何が問題なのかわかりません。VPN に接続し (うまく動作します)、pgadmin => を使用して pgsql に接続しようとすると失敗します。また、単純な punBB フォーラム (データベース サーバーと同じマシン上) をインストールしようとすると、データベースに接続できなくなります...すべて構成の問題です...

これが私の現在の権限のサンプルです:

何か案は?

0 投票する
1 に答える
32 参照

webserver - 「ログイン」機能を備えたソフトウェア ファイアウォール

サーバーをファイアウォールで保護する必要がありますが、それは簡単です:)しかし、特定のユーザーに対して、特定の他のポートを開きたいと思います(たとえば、SSRSレポートビルダー用のデータベースへの直接アクセスなど)。

これらのユーザーは静的 IP アドレスを持っていないため、アドレスが変更されるたびに、リモート デスクトップで新しい IP アドレスを Windows ファイアウォールの [許可] セクションに追加する必要があります。

ユーザーが追加のアクセスを許可するためにログインできる Web フロント エンド (ポート 80 で?) を提供するソフトウェア ファイアウォール ソリューションを知っている人はいますか?

ありがとう

0 投票する
1 に答える
322 参照

asp.net-mvc-3 - ASP.NET MVC 3 での行レベルのアクセス許可または facebook スタイルのプライバシー?

カスタムの詳細なセキュリティ/プライバシー設定を必要とするプロジェクトに取り組んでいます。基本的に、クエリを実行するユーザーに基づいてデータへのアクセスを制限できる必要があります。簡単ですよね?ここでいくつかの落とし穴があります..

  1. ユーザーは users テーブルに格納する必要があります。このアプリケーションでは、Windows ユーザー アカウント、SQL サーバー ユーザー、または SQL サーバー ロールを作成することはできません。
  2. セキュリティ基準は、ユーザーの場所、給与等級、専門分野など、さまざまな情報源によって定義する必要があります。

現在、SQL の "where" 句を生成し、実行前にすべてのクエリの末尾に追加することで、これを実装しています。これにより、Entity Framework などの新しいテクノロジを活用することが制限され、独自の他の制限やパフォーマンスの問題も伴います。

どんな助けやアイデアも大歓迎です。追加の説明が必要な場合はお知らせください。

ありがとう!ジェイソン

0 投票する
3 に答える
186 参照

mysql - セキュリティのためにmysqlデータベースを分割する

私は何年もの間sql(主にmysql)を使用してきましたが、専門的な基準ではないので、正しい方向への突き出しを探しています。

私は現在、ユーザーの名前/住所/メールアドレスなどを1つのテーブルセットに収集し、他の個人情報を別のテーブルセットに収集するWebアプリを設計しています。これらは最も自然に1つのデータベースに存在しますが、私はユーザーの連絡先情報を別のサーバー上の1つのデータベースに分割し、他のすべての情報を別のデータベース/サーバーに分割することを検討してきました。理論では、ハッカーは両方のシステムを破壊する必要があります。非常に便利なものを手に入れるために。

私は数週間何度も検索を繰り返しましたが、これまでこのタイプのデザインについてはあまり議論されていません。これは一般的に行われますか?やり過ぎですか?それにアプローチするための設計方法はありますか、それとも私はそれをすべて自分で転がす必要がありますか?

データベースの分割は正当なセキュリティ対策ですか?これは、このアプローチはおそらくやり過ぎだと言っていると思います。

0 投票する
2 に答える
73 参照

sql - データベースから取得したデータのエスケープ/サニタイズ

ユーザーからの入力を取得してデータベースに保存する Web アプリケーションがあるとします。さらに、セキュリティの脆弱性がないと仮定しましょう。ユーザー入力を正しくエスケープし、バインド パラメータを使用します。

データベースから取得したデータは、疑いを持って処理する必要がありますか (つまり、潜在的に汚染されている/悪意があるとして)?


例(試してみるのが怖いので結果はわかりません)。これはデータベースです:

次に、この疑似コードを実行します (おそらく PHP から):

0 投票する
1 に答える
72 参照

mysql - 許可されている SQL コマンドのリストを表示するデータベース ツールはありますか?

HeidiSQL の開発者と話をしたところ、SQL の「show grants」コマンドで照会できるとのことでしたが、そこから得られる結果セットがわかりません。

show grants // ここでクエリを実行します

使用許可をオンにします。TO 'fsdb1user1'@'%' は、パスワード 'something' によって識別されます

GRANT SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、REFERENCES、INDEX、ALTER、CREATE TEMPORARY TABLES、LOCK TABLES ON fsdb1.* TO 'fsdb1user1'@'%'

mysqlのドキュメントによると

SHOW GRANTS は、指定されたアカウントに明示的に付与された権限のみを表示します。アカウントで他の権限を使用できる場合もありますが、それらは表示されません。たとえば、匿名アカウントが存在する場合、指定されたアカウントはその権限を使用できる可能性がありますが、SHOW GRANTS はそれらを表示しません。

いくつかのクエリを試み、そのように許可をチェックするソフトウェアがどこかにあるかもしれないと思います。

0 投票する
2 に答える
133 参照

mysql - MySQL escaped_strings VS. パラメータ化されたクエリ

データベース防御の最後の言葉であると思われるパラメーター化されたクエリを読んだだけで、次のことを疑問に思っていました。

すべての入力 (バーのチェックボックスとラジオ ボタン) が real_escape_string の対象となる既存の PHP/MySQL 自作 CMS があります。sha1 で暗号化されたパスワードと一致するユーザー名を介してアクセスできる管理セクションがあり、信頼できる人々の小さな (3) グループがコンテンツ (tinyMCE) を更新したり、写真をアップロードしたりできます。私のクエリはどれもパラメータ化されていませんが、エスケープ後にのみ実行されます。

一般からの入力はありませんが、後でユーザーが送信したフォームに公開したいと考えています。

私のホストは私立で、非常に良い成績を収めています。

他のすべてが等しい場合、私はどのくらい安全ですか?

0 投票する
1 に答える
3784 参照

sql-server - SQL Server でのマスター キーの作成

この次のMSDN の例のように、暗号化された列を実装しようとしています。最初の行を除いて、ほとんどのコードを理解しています。

これをローカル マシンの AdventureWorks データベースで実行すると、キーは既に存在します。これで問題ありません。私のマシンで正常に実行され、適切に暗号化/復号化される例を取得しました。ただし、そのコードでは、どの時点でも a symmetric_key_idof any について言及されていません。101

101対称鍵用に予約された ID のようなものはありますか?