مقالات

اسکن ممیزی های انطباق مداوم (MySQL DB، داده های کارت اعتباری و غیره) – 51 امنیت


Tenable Vulnerability Management می‌تواند اسکن آسیب‌پذیری‌ها را روی سرویس‌های شبکه انجام دهد و همچنین برای یافتن وصله‌های گمشده به سرورها وارد شود. با این حال، عدم وجود آسیب‌پذیری به این معنا نیست که سرورها به درستی پیکربندی شده‌اند یا با استاندارد خاصی «تطابق» دارند.

می‌توانید از مدیریت آسیب‌پذیری Tenable برای انجام اسکن آسیب‌پذیری و ممیزی‌های انطباق استفاده کنید تا همه این داده‌ها را به یکباره دریافت کنید. اگر می دانید سرور چگونه پیکربندی شده است، چگونه وصله شده است و چه آسیب پذیری هایی دارد، می توانید اقدامات کاهش خطر را تعیین کنید.

هنگامی که یک اسکن یا خط‌مشی را پیکربندی می‌کنید، می‌توانید یک یا چند بررسی انطباق را که به عنوان ممیزی نیز شناخته می‌شود، اضافه کنید. هر بررسی انطباق به اعتبار خاصی نیاز دارد.

برخی از بررسی‌های انطباق توسط Tenable از پیش پیکربندی شده‌اند، اما می‌توانید ممیزی‌های سفارشی را نیز ایجاد و آپلود کنید.

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

https://docs.tenable.com/vulnerability-management/Content/Scans/Compliance.htm

اسکن جزئیات کارت اعتباری

توجه: https://community.tenable.com/s/question/0D53a00008SyrMgCAJ/credit-card-data-scanning?language=en_US

  1. روی دکمه New Scan کلیک کنید.
  2. روی الگوی حسابرسی انطباق با سیاست کلیک کنید.
  3. تنظیمات و اعتبارنامه ها را برای هدفی که می خواهید اسکن کنید پر کنید.
  4. روی تب Compliance کلیک کنید.
  5. دسته بندی ها را در محتوای فایل یونیکس یا محتوای فایل ویندوز بر اساس هدف خود فیلتر کنید.
  6. ورودی TNS File Analysis – Credit Card Number را پیدا کنید و روی آن کلیک کنید تا به پانل سمت راست اضافه شود.
  7. اسکن خود را ذخیره یا اجرا کنید.

استفاده از American Express به عنوان مثال … چک دارای قوانین زیر است.

  1. file_extension : "pdf" | "doc" | "xls" | "xlsx" | "xlsm" | "xlsb" | "xml" | "xltx" | "xltm" | "docx" | "docm" | "dotx" | "dot" | "txt"
  2. regex : "([^0-9-]|^)(3[47][0-9]{2}( |-|)[0-9]{6}( |-|)[0-9]{5})([^0-9-]|$)"
  3. expect : "American Express" | "CCAX" | "amex" | "credit" | "AMEX" | "CCN"
  4. max_size : "50K"

  • باید فایلی با file_extension مشخص شده باشد
  • محتوای جایی در فایل باید با عبارت معمولی مطابقت داشته باشد.
  • یکی از کلمات کلیدی مورد انتظار نیز باید در فایل وجود داشته باشد.
  • همه آنها باید در 50 هزار بایت اول فایل وجود داشته باشند.

من یک فایل متنی دارم که حاوی داده های زیر است

CCN# 1122-3344-5566-7788

CCN 1122-3344-5566-7788

American Express 1133-2244-5566-7788

امریکن اکسپرس 3714-4963-5398-431

امریکن اکسپرس 371449635398431

و فایل تایید پیکربندی زیر را دارد

نوع: FILE_CONTENT_CHECK

توضیحات : “داده های شناسایی – تعیین کنید که آیا یک فایل دارای شماره کارت اعتباری American Express معتبر است.”

file_extension : “pdf” | “اسکله” | “xls” | “xlsx” | “xlsm” | “xlsb” | “xml” | “xltx” | “xltm” | “docx” | “docm” | “dotx” | “نقطه” | “txt”

عبارت منظم: “([^0-9-]|^)(3[47][0-9]{2}( |-|)[0-9]{6}( |-|)[0-9]{5})([^0-9-]|$)”

regex_replace: “\3”

انتظار : “امریکن اکسپرس” | “CCAX” | “amex” | “اعتبار” | “AMEX” | “CCN”

حداکثر_اندازه: “50K”

only_show : “4”

عبارت “nessus” را در یک فایل متنی جستجو کنید

نوع: FILE_CONTENT_CHECK

description : “فایل متنی حاوی کلمه Nessus”

file_extension: “txt”

انتظار: “نسسوس”

include_paths : “D:\”

نسوس پایدار:

1 یک اسکن جدید با استفاده از یک الگوی اسکن پیشرفته ایجاد کنید

2 هدف(های) خود را با fqdn یا ip اضافه کنید

3 اگر MySQL DB شما از پورت سفارشی استفاده می کند، محدوده اسکن پورت را سفارشی کنید

در این اسکرین شات، من از پورت 30334 به عنوان نمونه برای این MySQL DB استفاده می کنم

4 ایجاد اعتبار پایگاه داده

5 افزودن آخرین فایل بررسی کننده سازگاری MYSQL

6 ذخیره کنید و سپس اسکن را اجرا کنید

7 نتیجه بررسی انطباق

معیار CIS که منتشر شد برای MySQL Enterprise مشخص شده است و حاوی توصیه‌های نسخه‌سازی انجمن نیست.

ممیزی 2 بررسی دارد تا ببیند آیا برای هدفی که اسکن می‌کنید مناسب است یا خیر:

  • MySQL 8.0 نصب شده است – “نمایش متغیرهایی مانند “نسخه” ;” را اجرا کنید و “”نسخه”، regex:”8\..*” را جستجو کنید.
  • MySQL 8.0 Enterprise Edition نصب شده است – “نمایش متغیرهایی مانند “لیسانس” را اجرا کنید و “”مجوز”، “تجاری” را جستجو کنید.

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

اگر می خواهید سعی کنید ممیزی های این هدف را انجام دهید، می توانید موارد زیر را انجام دهید:

مجوزهای اسکن Credtails کاربر:

https://docs.tenable.com/nessus/compliance-checks-reference/Content/MySQLComplianceChecks.htm

  • mysql> ایجاد کاربر ‘scan_user’@’host’;
    • اتصال از “میزبان” این دستگاه
  • mysql> ایجاد کاربر ‘new_user’@’localhost’ شناسایی شده توسط ‘new_password’;
    • فقط از لوکال هاست متصل شوید
  • mysql> حذف کاربر ‘scan_user’@’host’;
  • mysql> ایجاد کاربر ‘scan_user’@’%’ شناسایی شده توسط ‘DB_Password1234!’;
  • MySQL:

    • با یک حساب کاربری وارد شوید امتیازات انتخاب جهانی

      مثال: > ارائه انتخاب . به ‘scan_user’@’%’;

    • دادن *.* به ‘scan_user’@’%’;

عیب یابی

تست پورت MySQL:


PS C:\Users\NETSEC> Test-NetConnection -port 30334 -Computername "dbprovider.us-east-1.clawcloudrun.com"                                                                                                                                                                                                                                                            ComputerName     : dbprovider.us-east-1.claw.com
RemoteAddress    : 47.91.114.12
RemotePort       : 30334
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.0.9
TcpTestSucceeded : True

MySQL Shell را روی ویندوز نصب کنید:

برای نصب MySQL Shell روی Microsoft Windows با استفاده از MSI Installer، موارد زیر را انجام دهید:

MYSQL Shell Connect از ویندوز

MySQL Shell را از برنامه ویندوز راه اندازی کنید.

MySQL  JS > \connect [email protected]
Creating a session to '[email protected]'
Please provide the password for '[email protected]': ****************
Save password for '[email protected]'? [Y]es/[N]o/Ne[v]er (default No): yes
Fetching schema names for auto-completion... Press ^C to stop.
Your MySQL connection id is 10060431
Server version: 8.0.40-azure Source distribution
No default schema selected; type \use  to set one.
MySQL  mysql-test.mysql.database.azure.com:3306 ssl  JS >

برای اجرای دستورات SQL به حالت SQL بروید:

MySQL test.mysql.database.azure.com:3306 ssl JS > \ sql

به حالت SQL بروید… دستورات با ;

در حال واکشی نام های جهانی برای تکمیل خودکار… برای توقف، ^C را فشار دهید.

خطا هنگام به‌روزرسانی حافظه پنهان تکمیل خودکار: دسترسی ممنوع است. برای این عملیات به (حداقل یکی از) امتیاز(های) PROCESS نیاز دارید

MySQL test.mysql.database.azure.com:3306 ssl SQL > نشان دادن کمک های مالی برای CURRENT_USER؛

+————————————————————–+

| کمک های مالی برای tenable_securityscan@% |

+————————————————————–+

| GRANT SELECT ON *.* ON `tenable_securityscan`@`%` |

+————————————————————–+

1 ردیف پشت سر هم (0.0180 ثانیه)

MySQL test.mysql.database.azure.com:3306 ssl SQL >

MySQL Docker را راه اندازی کنید

برخی از دستورات برای اجرای MYSQL Docker:

docker pull mysql:8.2

docker run –name test-mysql -e MYSQL_ROOT_PASSWORD=Password1234! -d mysql

docker run –name test-mysql -e MYSQL_ROOT_PASSWORD=Password1234! -d mysql: 8.2

docker run -p 3306:3306 –name test-mysql -e MYSQL_ROOT_PASSWORD=JonNetsecPassword1234! -d mysql: 8.2

docker exec -it test-mysql bash

$mysql –تو روت –ص
رمز عبور را وارد کنید:
...
mysql
>


mysql> status
--------------
mysql  Ver 9.3.0 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:          9
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         9.3.0 MySQL Community Server - GPL
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysqld/mysqld.sock
Binary data as:         Hexadecimal
Uptime:                 3 min 14 sec

Threads: 2  Questions: 6  Slow queries: 0  Opens: 119  Flush tables: 3  Open tables: 38  Queries per second avg: 0.030
--------------

mysql>

mysql> select version();

+————+

| نسخه() |

+————+

| 8.2.0 |

+————+

1 ردیف پشت سر هم (0.01 ثانیه)

mysql> SELECT * FROM mysql.user;

ویدیوها

یک بررسی سازگاری پایگاه داده (MySQL) را با استفاده از Tenable Nessus اجرا کنید:

https://www.youtube.com/watch?v=cqCgwGn5Q4o


Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا