چک لیست امنیت دیتابیس با خروجی html

همیشه داشتن یک چک لیست میتونه بهمون کمک کنه که بفهمیم آیا تمام کارهایی که قرار هست انجام بشه، انجام شده؟! شاید ساده به نظر برسه، اما یک مثال که خودم خیلی بهش سعی میکنم عمل کنم اینه "کم رنگ ترین قلمها بهتر از پر رنگ ترین حافظه ها". حالا یک چک لیست آماده کردم که نگاه کلی به موارد امنیتی که از طریق جستجو زدن در دیتابیس به دست میاد رو میتونه در قالب یک فایل html بهمون بده: این نمونه ای از خروجی این sql هست:

نمای کلی چک‌لیست

  1. جزئیات پایگاه داده:

    • نام پایگاه داده
    • Hostname
    • نقش پایگاه داده
    • RAC یا SINGLE
  2. بررسی آخرین PATCH:

    • اطلاعات مربوط به آخرین PATCH اعمال شده
  3. بررسی پارامترها:

    • پارامترهای حیاتی مختلف و مقادیر مورد انتظار:
      • audit_sys_operations باید TRUE باشد
      • global_names باید TRUE باشد
      • 07_dictionary_accessibility باید FALSE باشد
      • os_roles باید FALSE باشد
      • remote_login_passwordfile باید EXCLUSIVE باشد
      • sec_max_failed_login_attempts باید 3 باشد
      • sec_protocol_error_further_action باید DELAY باشد
      • trace_files_public باید FALSE باشد
      • remote_os_authent باید FALSE باشد
      • sql92_security باید TRUE باشد
  4. نام Instance و فایل‌های REDO LOG:

    • اطمینان حاصل کنید که نام Instance/SID شامل نسخه اوراکل نباشد.
    • بررسی گروه‌های ردو لاگ و فایل‌های کنترلی:
      • گروه‌های REDO LOG باید حداقل دو عضو داشته باشند.
      • MEMBER ها باید در مکان‌های مختلف باشند.
  5. دسترسی‌های کاربران و ROLE:

    • دسترسی‌های مستقیم به کاربران
    • ROLE اختصاص داده شده به کاربران
  6. AUDIT POLICY:

    • بررسی فعال بودن گزینه‌های AUDIT مورد نیاز:
      • CREATE USER, DROP USER, ALTER USER
      • CREATE ROLE, DROP ROLE, ALTER ROLE
      • DROP PROFILE, CREATE PROFILE, ALTER PROFILE
      • CREATE DATABASE LINK, DROP DATABASE LINK, ALTER DATABASE LINK
      • CREATE SYNONYM, DROP SYNONYM, ALTER SYNONYM
      • SELECT ANY DICTIONARY
      • CREATE INDEX, ALTER INDEX, DROP INDEX
      • CREATE DIRECTORY, ALTER DIRECTORY, DROP DIRECTORY
      • ALTER SYSTEM, AUDIT SYSTEM
      • CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE
  7. حساب‌های اسکیمای پیش‌فرض و دسترسی‌ها:

    • اسکیمای پیش‌فرض OPEN
  8. DATABASE LINK و لینک‌های عمومی:

    • DATABASE LINK
    • PUBLIC DATABASE LINK
  9. دسترسی با گزینه ADMIN:

    • دسترسی با گزینه ADMIN
  10. دسترسی‌های ویژه:

    • دسترسی‌هایی مانند ANY، ALTER SYSTEM و غیره.

من این چک لیست رو برای نسخه 12 به بعد نوشتم. اگر براتون مفید هست، می تونید از طریق آدرس زیر تو کانال تلگرام vahiddb دانلودش کنید:

https://t.me/vahiddb_dba/27

برای اینکه بتونید به راحتی دانلودش کنید، فرمت فایل رو بصورت txt گذاشتم. همه قسمت ها می تونند بصورت جداگانه هم اجرا بشن.

خوشحال میشم اگر مطلبی به ذهنتون میرسه که میتونیم بهش اضافه کنید، بهم بگید که اینکار رو انجام بدم.

برای اطلاع از لیست کامل مقالات هم میتونید در کانال عضو بشید.