タグ付けされた質問 「security」

ユーザーがアクセスを許可されたデータのみにアクセスできるようにします。また、ネットワーク上の移動中のデータの保護と、ディスクおよびバックアップ上のストレージも含まれます。

2
同じログインを使用して3番目のデータベースを経由して2つのデータベースを接続する方が安全ですか?
次のセットアップがあります。 デスクトップソフトウェアで使用されるプライベートデータを含む複数の運用データベース プライベートデータベースのデータを必要とするパブリックWebサイトのWebデータベース プライベートデータベースからデータを取得するいくつかのビューとストアドプロシージャを含む中間データベース 現在、WebサイトはWebデータベースにログインし、Webデータベースは中間データベースに接続して、運用データベースでデータを取得したり、ストアドプロシージャを実行したりします。すべてのデータベースは同じSQLインスタンス上にあり、プロセス全体が同じユーザーアカウントを使用します。 ユーザーアカウントには、Webデータベースと中間データベースへのフルアクセスがありますが、プライベートデータベースの特定のビューとストアドプロシージャにのみアクセスできます。 これは、パブリックデータベースをプライベートデータベースに直接接続するよりも本当に安全ですか? 同じログインがすべてのデータベースのデータにアクセスするために使用され、プライベートデータベースで必要なビュー/ SPのみに既に制限されているため、中間データベースは物事を複雑にするためだけにあるようです。削除したいと思っています。

6
DBパスワードの保護
私が見たほとんどのPHP / MySQLベースのWebサイトの構造を見ると、ログ用の情報を保存するセットアップまたは設定ファイルが常に存在するため、少し掘り下げてもデータベースパスワードを識別するのはそれほど難しくないようです。 DBに。データベースの権限がリモートリクエストに対して適切に制限されていることを確認する基本的な予防策以外に、この情報を保護するために自分のプロジェクトに実装できるオプションはありますか?
18 mysql  security 

6
パスワードが6日以内に期限切れになるというORA-28002メッセージを取り除く方法は?
パスワードが6日以内に期限切れになることを示すORA-28002を取得するユーザーがいます。私は次を実行しました: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; しかし、ユーザーとしてログインしようとしても、メッセージは残っています。これを実行する: select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME'; 値が実際にUNLIMITEDに変更されたことを示しています。
18 oracle  security 

2
SQL Serverの接続権限を制限する
「名誉システム」セキュリティを使用する運用環境に展開するアプリがあります。つまり、すべてのユーザーがSQLユーザー/パスワード資格情報を使用してDBに接続し、アプリ自体が権限を管理します。後者の部分は、接続オブジェクトに埋め込まれた資格情報が含まれており、自由にコピーできるという事実ほど気にしません。接続をより限定的なクライアントのセットに制限する方法を見つけようとしています。もちろん、IPで制限するファイアウォールルールを作成できます。マシンアカウントまたはドメインメンバシップのいずれかでSQLログインを「事前認証」する方法はありますか?



2
データベースの暗号化証明書をリストするクエリ
インスタンス上の各データベースを暗号化するために使用されている証明書。 以下を使用してデータを取得できますが、クエリをどのように作成しますか USE master GO -- this provides the list of certificates SELECT * FROM sys.certificates -- this provides the list of databases (encryption_state = 3) is encrypted SELECT * FROM sys.dm_database_encryption_keys WHERE encryption_state = 3; sys.certifcates.thumbprint列とsys.dm_database_encryption_keys.encryptor_thumbprint列に同じデータが含まれていることに気付きました。

1
PostgreSQLの金融アプリの認証アプローチの選択
最初にいくつかの背景。 LedgerSMBプロジェクトは、PostgreSQLで実行されるオープンソースの財務会計ソフトウェアプロジェクトです。ユーザー定義関数に非常に大量のビジネスロジックを実装します。これらは、プログラムオブジェクトメソッドとデータベースの動作間の主要なマッピングツールとして機能します。現在、認証ユーザーとしてデータベースユーザーを使用します(一部は選択(これにより中央集中型のセキュリティロジックが可能になり、他のツールを記述してユーザーに与えられたアクセス許可を再利用できます))。また、一部は必要に応じて(SQL-Ledgerそのコードベースにセキュリティをレトロフィットするオプションはあまりありませんでした)。 これにより、LDAPからKerberos 5まで、PostgreSQLがアクセスできる合理的な数のシングルサインオンオプションにアクセスできます。パスワードが関係する場所でもPAMを使用できます。また、他のアプリケーションと統合したり、他のクライアントインターフェイスを許可したりするときに、アクセス許可を再利用できます。財務会計アプリケーションにとって、これは正味の勝利のように思えます。 明らかにコストがかかります。Webアプリケーションの場合、サポートできるHTTP認証のタイプは非常に限られています。たとえば、DIGESTは完全に除外されています。BASICが機能し、KRB5を簡単に実装できます(これは1.4でサポートされ、そのまま使用できるようにする予定です)。非常に強力な認証対策は、これを直接適切に管理することはできませんが、おそらく必要に応じてそれらをシムできます(たとえば、ユーザー名と特定のルートCAに一致するcnを持つBASIC +クライアント側SSL証明書)。 同時に、主に開発群衆から、そして時折、アプリケーションはデータベースではなくセキュリティバリアであるべきだと言うdbaからかなりの批判を受けています。私の見解では、セキュリティ境界は小さいほうが一般的に優れており、ビジネスロジックとセキュリティロジックの再利用が一緒になり、同じレベルでセキュリティロジックを再利用せずにビジネスロジックを再利用するのは危険だと思いますプログラムの。 ここで大きなトレードオフがありませんか?私が検討していない落とし穴はありますか?

4
概念スキーマが公開されているセキュリティリスクはどれくらいですか?
私は研究のために政府機関の情報システムに概念スキーマを要求していました。セキュリティリスクであるという理由で、私の要求は拒否されました。 私は実際に広範なデータベースの経験がないので、その主張を確認することはできません。スキーマを公開することは、本当に大きなセキュリティリスクですか?つまり、これらはかなり抽象的であり、ハードウェアおよびソフトウェアの実装とは離婚しています。攻撃者が概念スキーマをどのように悪用できるかについての説明をいただければ幸いです。ありがとう。

2
法医学的にデータを削除/更新する
オラクルからデータをフォレンジックで削除する必要があります。削除しただけの場合、そのスペースが再利用されるまで、データは実際にデータファイルに残っていると理解しています。REDO /アーカイブ/ UNDOスペースについては心配していません。それらはすぐに適切に期限切れになります。 データが実際にデータファイルから削除されるようにする方法はありますか?
15 oracle  security 

3
SQL ServerでUNIQUEIDENTIFIERを安全に生成する
UNIQUEIDENTIFIERユーザーが特定のデータにアクセスするために使用できるアクセスキーとしてを使用する予定です。その意味で、キーはパスワードとして機能します。 INSERT...SELECTステートメントの一部として、このような識別子を複数生成する必要があります。アーキテクチャ上の理由から、この場合はサーバー側で識別子を生成します。 安全にランダムに生成するにはどうすればよいUNIQUEIDENTIFIERですか?NEWIDセキュリティプロパティがまったく保証されないため、これは十分にランダムではないことに注意してください。推測できないIDが必要なため、SQL ServerのSystem.Security.Cryptography.RandomNumberGeneratorに相当するものを探しています。に基づくものCHECKSUM、RANDまたはGETUTCDATE資格がないもの。

1
SQL Server 2012でdboスキーマの所有権を転送する方法
誤ってユーザーにdb_ownerスキーマの所有権を与えました(以下のUIのチェックボックスを使用)が、今はできません: 所有権を別のユーザーに譲渡する DBからユーザーを削除します(ただし、SQL Serverでログインを削除できます) 私が試したデータベースプリンシパルは、データベースのスキーマを所有しており、削除できません。 ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo そして、正常に完了している間、ユーザーにはまだ所有権があり、灰色で表示されているので、UIでも実行できないようです。 ソリューションを見つけました: Arronの答えに加えて、間違ったDB(facepalm!)で上記のコマンドを実行することに気付きました。DBが修正されると、上記のSQLと以下の回答の両方が機能しました。

1
ロールdb_ownerで許可されること
SQL Server 2012データベースの特定のテーブルを表示できないログインのトラブルシューティングを試みました。そうすることで、私はそのdb_owner役割のメンバーシップが許可するものをよく理解していないことがわかります。などの他の役割を理解db_datareader and db_datawriterすることdb_ownerはできますが、何が許可されるかについては混乱したままです。

2
既存のSQL Serverログインとユーザーのリスト
SQL ServerのGUIを使用して、定義されているログインとユーザーを確認できることは知っていますが、スクリプトを使用してこの確認をどのように行うことができるのか疑問に思っています。 以下のクエリを実行しましたが、Permission_levelを取得するためのマッピング方法がわからないPrincipal_idが表示されます。 SELECT * FROM Sys.login_token それでは、ログインとユーザーを許可レベルでリストできる組み込みストアドプロシージャはありますか? ありがとうございました。

1
ユーザーが特定の効果的な権限を持っている理由を調べるにはどうすればよいですか?
私は次を使用して有効なアクセス許可を照会できることを知っていますsys.fn_my_permissions: USE myDatabase; SELECT * FROM fn_my_permissions('dbo.myTable', 'OBJECT') entity_name | subentity_name | permission_name ------------------------------------------------ dbo.myTable | | SELECT dbo.myTable | | UPDATE ... これにより、現在のユーザーがmyTabledatabaseでSELECT、INSERT、UPDATEなどの権限を持っているかどうかがわかりますmyDatabase。 ユーザーがこれらの権限を持っている理由を簡単に見つけることは可能ですか?たとえばfn_my_permissions_ex、追加のreason列を出力する関数が必要です。 USE myDatabase; SELECT * FROM fn_my_permissions_ex('dbo.myTable', 'OBJECT') entity_name | subentity_name | permission_name | reason ------------------------------------------------------------------------------------------------------------------------------------ dbo.myTable | | SELECT | granted to database role public …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.