اسکن ممیزی های انطباق مداوم (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
- روی دکمه New Scan کلیک کنید.
- روی الگوی حسابرسی انطباق با سیاست کلیک کنید.
- تنظیمات و اعتبارنامه ها را برای هدفی که می خواهید اسکن کنید پر کنید.
- روی تب Compliance کلیک کنید.
- دسته بندی ها را در محتوای فایل یونیکس یا محتوای فایل ویندوز بر اساس هدف خود فیلتر کنید.
- ورودی TNS File Analysis – Credit Card Number را پیدا کنید و روی آن کلیک کنید تا به پانل سمت راست اضافه شود.
- اسکن خود را ذخیره یا اجرا کنید.
استفاده از American Express به عنوان مثال … چک دارای قوانین زیر است.
- file_extension : "pdf" | "doc" | "xls" | "xlsx" | "xlsm" | "xlsb" | "xml" | "xltx" | "xltm" | "docx" | "docm" | "dotx" | "dot" | "txt"
- regex : "([^0-9-]|^)(3[47][0-9]{2}( |-|)[0-9]{6}( |-|)[0-9]{5})([^0-9-]|$)"
- expect : "American Express" | "CCAX" | "amex" | "credit" | "AMEX" | "CCN"
- 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 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;




