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

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

3
SQL Serverデータベースからすべてのセキュリティ関連情報をエクスポートする方法
おそらくご存じのとおり、SQL Serverには、データベースの各要素(データベースレベルとオブジェクトレベルの両方)に対して宣言されているすべてのセキュリティ関連ステートメントをエクスポートするための、すぐに使えるソリューションはありません。 この情報を思い付く能力について話している すべてのユーザー すべてのユーザー定義の役割 データベースレベルのすべての権限(例:GRANT CREATE FUNCTION) オブジェクトレベルのすべての権限(例:GRANT SELECT ON OBJECT :: xxx) SQL Serverにはこのようなものがあるはずだと思うかもしれませんが、SQL Serverエクスポートウィザードも、オブジェクトを右クリックした結果として生成されるさまざまなスクリプトも、この情報をキャプチャしません。 私は、人々が丁寧に投稿したキュレートされていないスクリプトを使用してさまざまな「可能な解決策」をオンラインで見てきましたが、すべてのセキュリティ情報がキャプチャされることを100%確認する必要があるため、これらのスクリプトに完全に依存することはできません。 私はそれらを開始点として使用して自分で何かを書くこともできますが、多くの人が持っていると思われる要件のためにホイールを再発明する必要はありません。 この情報を確実に提供できるツールが(SQL Server製品またはサードパーティツールの一部として)提供されていませんか? または、少なくとも、ほとんどの人々が「仕事をする」ことに同意する、コミュニティがサポートするスクリプトはありますか? ありがとう!

3
ログイン用のパスワードを誰が変更したかを知る方法はありますか?
SQL Server 2008 R2でログイン用のパスワードを変更したユーザーを見つけようとしています。 私はすでにデフォルトのトレースをチェックしました-それはそのイベントを記録しません。デフォルトのトレースには、次のセキュリティ関連のイベントが含まれます。 /* Audit Add DB user event Audit Add login to server role event Audit Add Member to DB role event Audit Add Role event Audit Add login event Audit Backup/Restore event Audit Change Database owner Audit DBCC event Audit Database Scope GDR event (Grant, Deny, …


1
ユーザー `dbo`とsys.databasesに保存されているデータベースの所有者の違いは何ですか
最近dbo、データベースのユーザーがとsid一致しないを持っている場所に質問がありowner_sidましたsys.databases。データベースの所有者がロールのメンバーとどのように異なるかを理解していますがdb_owner、ユーザーdboがデータベースの実際の所有者であるといつも思っていました。そうではありませんか?そして、もしそうならdbo、何が入っているのsys.databasesか、何が本当の違いがあるのですか?

1
PL / Pythonが信頼できないのはなぜですか?
ドキュメントによると: PL / Pythonは「信頼されていない」言語としてのみ利用可能です。つまり、ユーザーが実行できることを制限する方法が提供されていないため、plpythonuという名前が付けられます。セキュアな実行メカニズムがPythonで開発された場合、信頼できるバリアントplpythonが将来的に利用可能になる可能性があります。 Python用の安全な実行メカニズムを開発するのが難しいのに、Perlなどの他の言語用ではないのはなぜですか?

3
リンクサーバーのリスク
複数のサーバー上のデータベースからのデータを必要とする新機能を実装しています。これらすべてのサーバーのデータを結合して並べ替えるだけです。頭に浮かぶ2つのオプションは次のとおりです。 リンクサーバーを使用して簡単なクエリを作成し、1つのサーバーから実行して他のサーバーからデータを収集するデータを結合して並べ替えます。 アプリケーションを使用してすべてのサーバーからデータを収集し、それをSQL Serverに返して並べ替えます(アプリケーションに並べ替えを実装しないでください)。 SQL Server 2008 r2では、アクティブ/アクティブクラスターでサーバーを実行しています。すべてのデータベースに同じ権限があり、1つのデータベース/サーバーにアクセスできる場合は、それらすべてに権限があります。これは一般向けアプリケーションです(ユーザーログインが必要です)。 リンクサーバーを使用するリスクは何ですか?心配すべきセキュリティ上の欠陥はありますか?アクティブ/アクティブクラスターでリンクサーバーを実行するときに問題はありますか?他の方法と比較して、パフォーマンスに重大な問題はありますか? リンクサーバーに関する一般的な否定的な「話題」があるようですが、実際に懸念があると思わせるような具体的な情報は見つかりません。

1
EXECUTE AS USERとEXECUTE AS LOGINの違いは何ですか?
最近、EXECUTE AS LOGINを使用して、特定のユーザーがデータベースの1つでテーブル関数を使用できるかどうかを確認しています。テストは彼ができることを示したが、彼は失敗を繰り返し報告した。 人はログイン「WEB」を使用してデータベースに接続し、ログイン「WEB」に関連付けられたデータベースに「WEB」というユーザーがいるため、次のスクリプトを試しました。 -- part 1 EXECUTE AS USER = 'WEB' GO SELECT USER_NAME() AS 'user_name' ,SUSER_NAME() AS 'suser_name' ,SUSER_SNAME() AS 'suser_sname' ,SYSTEM_USER AS 'system_user' GO REVERT GO そして -- part 2 EXECUTE AS LOGIN = 'WEB' GO SELECT USER_NAME() AS 'user_name' ,SUSER_NAME() AS 'suser_name' ,SUSER_SNAME() AS 'suser_sname' ,SYSTEM_USER …

6
SAアカウントおよびその他の既知のアカウント名がセキュリティにもたらすセキュリティ上の脅威は何ですか?
saなどの既知のアカウント名は、データベースにセキュリティ上の脅威をもたらしますか?SQL ServerでWindows認証を使用する場合、同じパスワードポリシーが適用されますか(5回後にアカウントロックアウトを行うように設定されている場合)?

2
saユーザーをロックアウトしました
そこで、Microsoft SQL Server Management Studio 2019の一部の設定を変更しようとしました。ログインモードを混合(WindowsとSQL認証)からWindowsのみに変更したところ、saアカウントでログインできなくなりました。管理者権限を持つ別のアカウントを持っています。 私は何をすべきか?どんな提案も高く評価されます。

5
なぜユーザーのパスワードを保存するのですか?
Webアプリケーションのユーザーパスワードを安全に保存する方法を尋ねる質問がときどきあります(RDBMSを使用して、私はFacebookやTwitterについて話していません)。通常の答えは、「パスワードをソルト化してから、TDESやSHA512などの強力なアルゴリズムでハッシュする」です。 私の質問は次のとおりです。RDBMSユーザーとして、ほとんどのエンジンには認証メカニズムが組み込まれているため、パスワードの保存にまったく問題がないのはなぜですか。 たとえば、一部のユーザーXが自分のWebアプリケーションでアカウントユーザーパスワードYを作成したい場合、次のクエリを間違って発行するとどうなりますか。 CREATE USER X WITH ENCRYPTED PASSWORD Y IN GROUP baseuser; 次に、私のアプリケーション内で、ユーザーは自分の資格情報を使用してデータベースへの接続を開くことができ、パスワード管理のすべてに煩わされる必要はありません。 この方法にはいくつかの利点があります。 暗号化アルゴリズムを変更する必要があるとRDBMSが判断した場合、セキュリティ更新を適用するだけで、何もする必要はありません。 ユーザーの承認を管理するのは簡単です。ユーザーが管理者の役割に昇格された場合、ユーザーを対応するグループに追加するだけです。 SQLインジェクションは無意味になりました。データベース内の各ユーザーに許可したいものを正確に許可する権限を管理しているためです(たとえば、SOのようなフォーラムで、新しい投稿の追加、投稿への回答、コメントおよび自分の質問の編集/削除)。 / answers / comments); ユーザーアカウント "匿名"は、アプリケーションへの認証されていない接続に使用できます。 各ユーザーは、提供したデータの所有者です。 しかし、このトピックに関して私が見るほぼすべての質問について、これは物事を実行する方法ではないという一般的なコンセンサスがあるようです。私の質問は:なぜですか? 注:三点目は、によって許可されたポリシー PostgreSQLで、かつセキュリティポリシーのMicrosoft SQL Serverのインチ これらの概念は新しいものであることがわかりましたが、とにかく、ここにあるので、ここで説明する手法がユーザーアカウントを処理する標準的な方法にならないのはなぜですか。
10 security  users 

3
SQL Server 2012を構成してユーザーアカウントのファイルを復元および表示できるようにするにはどうすればよいですか?
コンピューターでSQL Server 2012インスタンスをサービスとして実行しており、サービスページによると、アカウント "NT Service \ MSSQLSERVER" としてログオンしています。ただし、そのアカウント名は、コンピューターの管理画面の[ローカルユーザーとグループ]領域を含め、どこにも表示されません。これは、以下のリンクにあるように、それはユーザーアカウントではなく、そのボックスにあるサービス名であるためです。 Microsoftは「アカウント」というラベルを付けてくれました。この時点で、私は多くの人々が混乱しているのを見ることができます。 私が達成しようとしているタスクは、SSMSダイアログ「Locate Backup File」を使用してファイルを復元することです。このダイアログは、「リモート」ジョブを実行しており、 SQLサーバーのセキュリティコンテキストは、エンドユーザーの混乱のもう1つの豊富な原因であり、この質問が解決に役立つことを願っています。 これまでのところ、自分のフォルダーの1つにあるバックアップ.mdf / .bakファイルを復元する場合は、そのフォルダーをEveryoneから読み取り可能に設定する必要があります。そうしないと、SQL Serverの "Locate Backup"でそこにアクセスできませんファイル」ウィンドウ。このアイデアは、ユーザーとは異なるユーザーアカウントと権限を持つサービスと対話するGUIを使用していることを発見しました。Microsoftの誰もあなたに明確に説明することすらしませんでした。Windowsシステム管理で長年の経験があっても、非常に混乱しています。 。 新しいSQLサーバーインスタンスをインストールした後、セキュリティをどのように設定するかを説明するSQL Serverのドキュメントページを見逃したことを願っています。 このようなフォーラムの投稿には、Microsoftのスタッフも「これは複雑です」と言っており、デナリでは「再び変更された」と述べています。SQL Server 2012でこれがどのように機能するのか、また、ユーザーに属するファイルを読み取るためのアクセス許可をSQLデータベースエンジンのセキュリティに追加する方法を教えてくださいSID。

1
他のデータベースのアカウントなしで、他のデータベースのテーブルに基づいてビューにアクセスする
database2のテーブルに基づいて、database1にビューを作成しました。SELECTdatabase1にのみアクセスできるユーザーに許可を与えました。データベース2にアカウントがないため、ユーザーはこのビューを機能させることができません。この問題を解決するにはどうすればよいですか?database2にアカウントを作成したくありません。

3
ユーザーはSSMSでデフォルト以外のスキーマのテーブルを表示できません
あるVIEW DEFINITIONユーザーのスキーマレベルで適切に権限を設定する際に問題が発生しました。スキーマTestSchemaを作成し、いくつかのテーブルを追加しました。ユーザーは、現在のアクセス許可は、アクセスに設定&(テーブルを変更しているSELECT、UPDATE、DELETEを介して、など)dbo_datareaderとdbo_datawriterロール。ただし、SSMSオブジェクトエクスプローラーでテーブルを表示することはできません。 定義を表示する権限を付与しようとしました: grant view definition on SCHEMA :: [TestSchema] to [User] それはうまくいきませんでした。テーブルレベルの権限を設定してみました: grant view definition on [TestSchema].[NewTable] to [User] それもうまくいきませんでした。それから私は全面的な助成金を試してみました: grant view definition to [User] そして、それはうまくいきました。これTestSchemaで、だけでなく、アクセスしてはならない他のスキーマも表示できるようになりました。 ここでの目標は、ユーザーが特定のスキーマ内のすべてのテーブルを表示できるようにすることです。どうすればそれを達成できますか?デフォルトでこれを実行できるようにする必要がある場合、なぜそれができないのかを見つけるためにどのようなアクセス許可を確認する必要がありますか?

1
MSDBデータベースはなぜ信頼できるのですか?
TRUSTWORTHY注意しないと、この設定はかなり危険になる可能性があり、特定の状況を除いて、オフにしておくことをお勧めします。ただし、デフォルトでは、MSDBデータベースはデフォルトでTRUSTWORHTY設定さONれています。なぜだろう? このエントリをBOLで読みました 注デフォルトでは、MSDBデータベースのTRUSTWORTHY設定はONに設定されています。この設定をデフォルト値から変更すると、MSDBデータベースを使用するSQL Serverコンポーネントで予期しない動作が発生する可能性があります。 しかし、私は詳細に興味があります。なぜ具体的にオンにMSDBする必要TRUSTWORTHYがあるのですか?どの関数がそれを使用しますか?

1
クライアントTCPポートに基づくSQL Serverトレース
アプリケーションを実行するためにRDPを介してログインするさまざまなユーザーがいるWindowsターミナルサーバーがあります。アプリケーションは、SQL Server 2008 R2インスタンスに対してユーザーごとに1つ以上の接続を作成します。すべてのユーザーは、同じSQLログインを使用して同じデータベースにアクセスします。特定のユーザーのSQLセッションを追跡できるようにしたいのですが、どのSQLセッションがどのユーザーに属しているかを判別する方法が見つかりませんでした。ただし、アプリケーションの各インスタンスが使用しているソースTCPポートを特定できます。 クライアントのTCPポートに基づいてSQLセッションをトレースする方法はありますか?

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