الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيف يمكن حماية قاعدة البيانات من ال Dba

Featured Replies

بتاريخ:

السلام عليكم


السؤال : لو عندي مستخدم معه صلاحية ال DBA على الداتابيز ولكن ليس مصرح له اني يعمل اي عمليه على البيانات الموجوده في الداتابيز وشغله ينحصر بس في ال DDL , كيف ممكن امنع هذا المستخدم من ان يغير او يشوف اي من البيانات الموجوده في الداتابيز مع العلم انو هوه ال DBA .

الرجاء الاجابه على هذا الاستفسار بشكل مفصل .

شكرا

بتاريخ:

الذي يحمل صلاحيات DBA لا يمكن منعه من شئ

يفضل اعطاء المستخدم صلاحيات للعمل علي DLL ولكن ليس DBA

  • بعد 2 أسابيع...
بتاريخ:

الذي يحمل صلاحيات DBA لا يمكن منعه من شئ

يفضل اعطاء المستخدم صلاحيات للعمل علي DLL ولكن ليس DBA



أخي الفاضل
الموضوع بسيط جدا يوجد مجموعة طرق وليست طريقة واحدة:
1- يمكنك استخدام منتج لأوراكل وهو Oracle Database Vault ويمكنك حصر ال DBA user في ال DBA Schema فقط كما يمكنك التحكم في صلاحياته.
2- يمكنك انشاء Database Trigger on user لمنع هذا اليوزر من DML مثلا
3- يمكنك مراقبة هذا المستخدم بطريقة مفصلة وهذا موضوع طويل ساقوم بشرحه لاحقا
يمكنك الاطلاع على موضوعاتي بالكامل من خلال:
http://securedb.blogspot.com

أو
http://securedb.wordpress.com

ولك التحية 
بتاريخ:

- يمكنك استخدام منتج لأوراكل وهو Oracle Database Vault ويمكنك حصر ال DBA user في ال DBA Schema فقط كما يمكنك التحكم في صلاحياته

يمكنني ؟؟ من أنا؟ وماذا لو لم يسمح لي DBA ؟؟ ومن يستطيع ان يحصر ال DBA user ؟؟ وماذا لو قام هو بتجريد كل المستخدمين من الصلاحيات التي تخولهم التحكم في DBA roles? ومن يستطيع التحكم أصلا في صلاحيات SYSDBA واسمح لي اسأل سعادتك سؤال ماذا لو منحك admin القدرة علي selec فقط فماذا بوسعك أن تفعل كمستخدم؟

- يمكنك انشاء Database Trigger on user لمنع هذا اليوزر من DML مثلا
ماذا لو قام sysdba بحف ال trigger الذي صنعه المستخدم و جردك مدير قاعدة البيانات من عمل Database Trigger on user اصلا؟؟


- يمكنك مراقبة هذا المستخدم بطريقة مفصلة وهذا موضوع طويل ساقوم بشرحه لاحقا
كذلك اذا لم يسمح لك مدير قاعدة البيانات بتتبعه فلن تستطيع وتم شرح ال auditing بالكامل في أول موضوع مثبت

أخي الكريم
باعتبار أننا نتحدث عن sys dba فنحن تتحدث عن مدير قاعدة البيانات
لا يمكن منعه من شئ لانه هو المتحكم فيها وليس المستخدم ولو كما تقول اتيحت الفرصة لمستخدم أن يمنع مدير قاعدة البيانات من شئ فاعذرني ستكون قاعدة بس اكيد مش قاعدة بيانات

تحياتي

بتاريخ:

السلام عليكم
اسمح لي سيدي أريد منك شرح واف عن طبيعة عملك مع قاعدة البيانات,
ساكتب انجليزي اسهل

What do you want from DBA, as far I understand you are gonna revoke DBA privs. or gonna udit DBA activities, YES you can
there is a difference between DBA, SYSDBA and SYSOPER, but if you use Oracle Database vault you can restrict DBA from connecting to application schema as example

I think your question is how to audit DBA activities so I am not related to your company to know what's your job role, is your company is small or enterprise?

Database Security is long way, It's not related with constant rules, you can create your role
You said the DBA own all database objects it's not correct, you can say "DBA was own DB objects"
Now there are a lot of application and tools restrict DBA from Apps Schema

Kindly tell me what's your question


Thanks

Mohamed Tawfik

بتاريخ:

الأخ العزيز مجيد أحمد
ارجو ملاحظة انني متخصص بتأمين قواعد البيانات ولا اضيع وقتي هنا بل ابخث عن الفائدة للجميع والله أعلم.
كما ارجو قبول اعتذاري عن أي كلمة قد تكون شعرت بانها ضد شخصك لكن الله أعلم بهدفي وقصدي.
أرجو عرض كافة مواضيع تأمين قواعد البيانات على العبد لله وسوف اقوم بالرد تفصيليا ولا اقصد انني خبير دولي ولكنني مجتهد فهذا عملي.
كما ارجو توسيع المشاركة مع الاخوة المهتمين.
لك الشكر والتحية ولكل القائمين على المنتدى
محمد

بتاريخ:

أخي العزيز محمد أولا كل عام وانت بخير وجميع الاعضاء

عذرك مقبول وبسؤالك عن عملي فأنا تلميذ اتعلم من أمثالك من الذين من الله عليهم بالعلم النافع ويعلمونا اياه

أنا أعلم اخي الحبيب أن هناك فرق وربما سوء فهم بين ال "SYSDBA" and "DBA" لذلك كتبت في ردي في السطر الرابع من الاخر وهو بالنص

باعتبار أننا نتحدث عن sys dba فنحن تتحدث عن مدير قاعدة البيانات

وباعتبارك متخصص في تأمين قواعد البيانات اسمح لي أن أسرد عليك معلوماتي بخصوص الفرق وأرجوأ ان تصحح لي ما أجهل فمن قال اني اكتفيت علما فقد جهل وفوق كل ذي علم عليم

يوجد سوء فهم وخلط بين Sysdba و DBA فالاولي هي privilege والثانية role والتي لا تحوي ال privileges الموجوده ب SYSDBA أو حتي SYSOPER واللذان يعتبرا ك administrative privileges من نوع خاص ليسمحان بدورهما ل administrator بعمل basic database administration tasks كعمل قاعدة بيانات وحذفهاوفتحها أو عمل mount لها أو حتي وضعها في archivelog mode أو تجريدها من هذا الوضع و تشغيل ال instance وايقافه

أما عن SYSDBA system privilege وكذلك SYSOPER system privilege فهي تسمح بالوصول الي database instance حتي وان كانت غير مفتوحه ومعلوم أخي الحبيب أن التحكم في هذه ال privileges خارج قاعدة البيانات نفسها في نفس الوقت يمكن الاتصال عبرهما لعمل ما يمكن أن اعبر عنه ب certain database operations ولو أن هناك مستخدم لديه SYSDBA privilege يمكنه الاتصال بتحديد الاتصال ب AS SYSDBA.

الاستعلام عن المستخدمين ذوي SYSDBA or SYSOPER privileges

select * from v$pwfile_users;


أما عن DBA Role اللي كانت لا قدر الله حتوقعنا في بعض بنت الايه دي

فهي role معرفة مسبقا اسمها "DBA" وتوجد بصفة اوتوماتيكية عند عمل قاعدة البيانات وهي تحوي جميع صلاحيات قاعدة البيانات عدا الصلاحيتان SYSDBA و SYSOPER وبالتالي فهي role لو أعطيت لمستخدم فسيكون very powerful وبالتالي يجب منحها فقط لما يمكن أن نسميه ب fully functional database administrators.

اذا أحببنا استعراض كل ال roles الموجوده في قاعدة البيانات

select role from dba_roles;

طيب لو أردنا معرفة كل المستخدمين الممنوحين DBA role
select * from dba_role_privs where granted_role = 'DBA';

طيب لو واحد قال انا حاعملها وأمنح ال privilege اللي اسمها SYSDBA ل role اللي اسمها DBA
مش حيعرف وحيواجه خطأ
01.SQL> grant sysdba to dba;
02.grant sysdba to dba
03.*
04.ERROR at line 1:
05.ORA-01931: cannot grant SYSDBA to a role

المستخدم يمكن أن يمنح كلا من DBA and SYSDBA privilege

select * from dba_role_privs where granted_role = 'DBA';

عموما ممكن نقول role is a collection of one or more privileges أو انها طريقة منح الصلاحيات لمجموعة مستخدمين بدون اعطائهم صلاحيات مفرده يعني تجميعها ثم منحها لهم مرة

والان أدعوا سعادتك والاخ علاء علي والجميع لقراءة موضوع مشابه ولنلحظ ردود الناس عليه

http://stackoverflow.com/questions/2673970/how-can-we-secure-our-data-from-dba

(لِلْفُقَرَاءِ الْمُهَاجِرِينَ الَّذِينَ أُخْرِجُوا مِنْ دِيَارِهِمْ وَأَمْوَالِهِمْ يَبْتَغُونَ فَضْلاً مِنَ اللَّهِ وَرِضْوَاناً وَيَنْصُرُونَ اللَّهَ وَرَسُولَهُ أُولَئِكَ هُمُ الصَّادِقُونَ * وَالَّذِينَ تَبَوَّأُوا الدَّارَ وَالْأِيمَانَ مِنْ قَبْلِهِمْ يُحِبُّونَ مَنْ هَاجَرَ إِلَيْهِمْ وَلا يَجِدُونَ فِي صُدُورِهِمْ حَاجَةً مِمَّا أُوتُوا وَيُؤْثِرُونَ عَلَى أَنْفُسِهِمْ وَلَوْ كَانَ بِهِمْ خَصَاصَةٌ وَمَنْ يُوقَ شُحَّ نَفْسِهِ فَأُولَئِكَ هُمُ الْمُفْلِحُونَ * وَالَّذِينَ جَاءُوا مِنْ بَعْدِهِمْ يَقُولُونَ رَبَّنَا اغْفِرْ لَنَا وَلِإِخْوَانِنَا الَّذِينَ سَبَقُونَا بِالْأِيمَانِ وَلا تَجْعَلْ فِي قُلُوبِنَا غِلاًّ لِلَّذِينَ آمَنُوا رَبَّنَا إِنَّكَ رَؤُوفٌ رَحِيمٌ) [الحشر:8- 11]

بتاريخ:
  • كاتب الموضوع

السلام عليكم

انا اشكركم على ردودكم على الموضوع .

اولا اود بس اني اعرفكم على نفسي انا مدير قواعد بيانات لمده تزيد عن 9 سنوات واعمل حاليا مدرس في جامعة اوراكل دبي متخصص بقواعد البيانات والامن والتطبيقات .
اما بالنسبه للموضوع المطروح فلقد كان مجرد رغبه مني بمعرفت اذا كان هناك اي شخص مهتم بمثل هذه المواضيع حتى يتسنى لي شرحها بالكامل واعطاء دروس عليها بهذا القسم بالمنتدى .

هذا هيه الدورات اللتي اقدمها للطباب و اللتي تخص هذا الموضع وارغب بأن يستفيد الجميع منها .
Oracle Database 10g: Implementing Database Vault
Oracle Database 10g: Implementing Audit Vault


شكرا للجميع

وانا جاهز للرد على اي استفسار

علاء علي

بتاريخ:

طيب شئ رائع أخ علاء تشرفنا بك ويشرفنا أن تبدأ في عمل موضوع والشرح علي مراحل ويمكن ان يثبت الموضوع لتعم الفائدة وشرف لنا جميعا أن نكون طلابا لعلمك زادك الله اياه

بتاريخ:

الأخ علاء

مرحبا بك معلما للجميع وكلنا في انتظار خطتكم والاستفاده مما بحوزتكم

وعفا الله عما سلف من الجميع

بتاريخ:

Securing oracle from Oracle is something worse

although

Oracle database vault is somewhat deserved features but if you are professional DBA you can create all db security scripts (triggers, stored procedures, db links...etc) without Oracle database vault.
because Oracle database vault is not a new product it's build on DBA experience...


Is Oracle Database Vault will report my database affected with SQL Injection in DBMS_ASSERT ? will support me in Zero-Day Exploit
Will report complete DB Vulnerability assessment report based on my compliance or Oracle will support the compliance and report that everything id OK

Security is not an application it's mentality
I believe that man should be liberal when gonna DB security guy, liberal from vendor tools because Oracle is a db technology company not a security association such as SANS, ISACA, ISSA...etc.
Kindly think in that: after Oracle PCI, Encryption DB Masking.....etc, Why Oracle BUYS SECERNO, GOLDEN GATE , SILVER CREEK and why Oracle deals with MIRO consulting last week for new Security approach???!!! to answer this question you need to feel liberal from vendor jail
thank you
 

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.