دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
امنیت

آموزش Hardening پایگاه داده MySQL

آموزش Hardening پایگاه داده MySQL

مقدمه

نکته مهم : این مقاله برای hardening سرویس mysql بروی لینوکس بدون کنترل پنل است ، بسیاری از موارد این مقاله را کنترل پنل هایی مانند cpanel یا directadmin مدیریت میکند و تغییرات آن باعث بهم ریختگی سرور خواهد شد .

MySQL یکی از محبوب‌ترین سیستم‌های مدیریت پایگاه داده است و بسیاری از وب‌سایت‌ها و نرم‌افزارهای تحت وب از آن استفاده می‌کنند. از آنجا که اطلاعات حساس کاربران، داده‌های مالی و تنظیمات برنامه‌ها معمولاً در MySQL ذخیره می‌شوند، ایمن‌سازی این سرویس اهمیت بالایی دارد.

تنظیمات پیش‌فرض MySQL برای همه محیط‌ها مناسب نیست و بهتر است پس از نصب، مجموعه‌ای از تنظیمات امنیتی روی آن اعمال شود. این فرآیند با عنوان MySQL Hardening شناخته می‌شود.

در این مقاله مهم‌ترین اقدامات برای ایمن‌سازی MySQL را بررسی می‌کنیم.


بررسی نسخه MySQL

ابتدا نسخه نصب‌شده را بررسی کنید:

mysql --version

یا:

mysql -V

همیشه از نسخه‌ای استفاده کنید که همچنان بروزرسانی‌های امنیتی دریافت می‌کند.


اجرای اسکریپت امنیتی MySQL

پس از نصب MySQL، اولین اقدام اجرای ابزار امنیتی داخلی آن است.

sudo mysql_secure_installation

این ابزار موارد زیر را انجام می‌دهد:

  • حذف کاربران ناشناس
  • غیرفعال کردن ورود Root از راه دور
  • حذف دیتابیس Test
  • بارگذاری مجدد سطح دسترسی کاربران

حذف کاربران ناشناس

برای بررسی کاربران:

SELECT User,Host FROM mysql.user;

در صورت وجود کاربر Anonymous:

DROP USER ''@'localhost';

حذف دیتابیس Test

بررسی:

SHOW DATABASES;

در صورت وجود:

DROP DATABASE test;

جلوگیری از ورود Root از راه دور

بررسی:

SELECT User,Host FROM mysql.user WHERE User='root';

در بیشتر سرورها بهتر است فقط مقدار زیر وجود داشته باشد:

root | localhost

استفاده از رمز عبور قوی

برای تغییر رمز:

ALTER USER 'root'@'localhost'
IDENTIFIED BY 'StrongPassword';

از رمزهای طولانی و غیرقابل حدس استفاده کنید.


استفاده از کاربران مجزا

به‌جای استفاده از Root برای اتصال برنامه‌ها، برای هر نرم‌افزار یک کاربر اختصاصی ایجاد کنید.

نمونه:

CREATE USER 'website'@'localhost'
IDENTIFIED BY 'StrongPassword';

اعطای حداقل سطح دسترسی

به‌جای:

GRANT ALL PRIVILEGES ON *.* TO 'website'@'localhost';

فقط دسترسی موردنیاز را بدهید:

GRANT SELECT, INSERT, UPDATE, DELETE
ON website_db.*
TO 'website'@'localhost';

حذف دسترسی‌های غیرضروری

بررسی سطح دسترسی:

SHOW GRANTS FOR 'website'@'localhost';

در صورت نیاز:

REVOKE privilege_name
ON database_name.*
FROM 'website'@'localhost';

محدود کردن اتصال از راه دور

بررسی فایل تنظیمات:

/etc/mysql/mysql.conf.d/mysqld.cnf

یا:

/etc/my.cnf

برای محدود کردن اتصال فقط به سیستم محلی:

bind-address = 127.0.0.1

در صورتی که نرم‌افزار روی همان سرور اجرا می‌شود، نیازی به باز بودن پورت MySQL روی اینترنت نیست.


محدود کردن دسترسی توسط Firewall

اگر اتصال از راه دور لازم نیست، پورت 3306 را روی فایروال مسدود کنید.

نمونه با UFW:

sudo ufw deny 3306

غیرفعال کردن Symbolic Link

در فایل تنظیمات:

symbolic-links=0

فعال کردن لاگ خطا

بررسی:

log_error=/var/log/mysql/error.log

فعال کردن Slow Query Log

slow_query_log=ON

slow_query_log_file=/var/log/mysql/slow.log

long_query_time=2

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


حذف فایل‌های قدیمی Backup

اطمینان حاصل کنید فایل‌های SQL Backup در مسیر قابل دسترس وب قرار نگرفته باشند.

مسیرهای مانند:

/var/www/html
/public_html

نباید شامل فایل‌های:

backup.sql
database.sql
dump.sql

باشند.


بروزرسانی MySQL

Ubuntu:

sudo apt update

sudo apt upgrade mysql-server

AlmaLinux:

sudo dnf update mysql-server

بررسی وضعیت سرویس

sudo systemctl status mysql

یا:

sudo systemctl status mysqld

بررسی کاربران

SELECT User,Host FROM mysql.user;

کاربران ناشناس یا بلااستفاده را حذف کنید.


تهیه نسخه پشتیبان

قبل از اعمال تغییرات مهم:

mysqldump -u root -p --all-databases > backup.sql

تست امنیت

پس از اعمال تنظیمات، موارد زیر را بررسی کنید:

  • ورود Root از راه دور غیرفعال است.
  • کاربران ناشناس وجود ندارند.
  • دیتابیس Test حذف شده است.
  • فقط کاربران موردنیاز ایجاد شده‌اند.
  • دسترسی‌ها محدود شده‌اند.
  • پورت 3306 فقط در صورت نیاز در دسترس است.
  • لاگ‌ها فعال هستند.

بهترین روش‌ها

  • همیشه از آخرین نسخه پایدار MySQL استفاده کنید.
  • از کاربران مجزا برای هر نرم‌افزار استفاده کنید.
  • حداقل سطح دسترسی را اعمال کنید.
  • MySQL را فقط در صورت نیاز روی شبکه در دسترس قرار دهید.
  • از رمزهای عبور قوی استفاده کنید.
  • به‌صورت منظم نسخه پشتیبان تهیه کنید.
  • لاگ‌ها را به‌طور دوره‌ای بررسی کنید.

اشتباهات رایج

  • استفاده از Root برای اتصال وب‌سایت
  • باز بودن پورت 3306 روی اینترنت
  • استفاده از رمزهای عبور ضعیف
  • باقی ماندن دیتابیس Test
  • وجود کاربران ناشناس
  • اعطای دسترسی GRANT ALL بدون نیاز
  • قرار دادن فایل‌های Backup در مسیر قابل دسترس وب

چک‌لیست

پس از Hardening، موارد زیر را بررسی کنید:

  • نسخه MySQL بروزرسانی شده است.
  • mysql_secure_installation اجرا شده است.
  • کاربران ناشناس حذف شده‌اند.
  • دیتابیس Test حذف شده است.
  • ورود Root از راه دور غیرفعال است.
  • کاربران با حداقل سطح دسترسی ایجاد شده‌اند.
  • پورت 3306 فقط در صورت نیاز باز است.
  • لاگ‌های MySQL فعال هستند.
  • نسخه پشتیبان تهیه شده است.

جمع‌بندی

Hardening پایگاه داده MySQL یکی از مهم‌ترین مراحل ایمن‌سازی سرور است. با اجرای mysql_secure_installation، حذف کاربران ناشناس، غیرفعال کردن ورود Root از راه دور، اعمال اصل حداقل دسترسی، محدود کردن دسترسی شبکه و بروزرسانی منظم سرویس، می‌توان خطر بسیاری از حملات را کاهش داد.

این اقدامات زمانی بیشترین تأثیر را دارند که در کنار Hardening سیستم‌عامل، وب‌سرور، PHP، فایروال و مانیتورینگ مداوم اجرا شوند.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • تفاوت دامنه و هاست چیست؟
  • انتقال اطلاعات بین دو سرور لینوکس با Transfer Tool
  • تفاوت DNS و نیم‌سرور چیست؟
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش Hardening پایگاه داده MySQL

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام