چک لیست Hardening انواع دیتابیس ها و انوع وب سرور ها
- بهروزرسانی سیستمعامل به آخرین نسخه پایدار
- نصب آخرین نسخه پایدار وبسرور (Apache/Nginx/IIS)
- نصب آخرین نسخه پایدار پایگاهداده (MySQL/PostgreSQL/SQL Server)
- غیرفعالسازی سرویسها و ماژولهای غیرضروری
- پیکربندی فایروال برای محدودسازی دسترسی به پورتهای وب و دیتابیس
- استفاده از حساب کاربری غیر ریشه برای اجرای سرویسها
- غیرفعالسازی فهرستگذاری (Directory Listing) در وبسرور
- تنظیم محدودیت اندازه آپلود فایلها در وبسرور
- پیکربندی HTTPS با استفاده از گواهی معتبر و TLS 1.2 یا 1.3
- غیرفعالسازی SSL و پروتکلهای قدیمی (TLS 1.0/1.1)
- محدودسازی آدرس IP مجاز برای دسترسی به phpMyAdmin یا ابزارهای مدیریت DB
- استفاده از رمز عبور قوی برای حسابهای root و admin در دیتابیس
- غیرفعالسازی دسترسی ریموت به root در MySQL
- فعالسازی فایروال اپلیکیشن وب (WAF)
- محدودسازی روشهای HTTP (فقط GET و POST)
- پیکربندی ماژول امنیتی mod_security برای Apache
- پیکربندی ماژول امنیتی ngx_http_limit_req_module برای Nginx
- استفاده از SELinux یا AppArmor برای کنترل سطح دسترسی
- پیکربندی Fail2Ban برای جلوگیری از Brute Force
- پیکربندی سیستم لاگینگ مرکزی و فعالسازی audit logs
- پیکربندی logrotate برای مدیریت حجم لاگها
- محدودسازی دسترسی پوشههای حساس سایت به IP مشخص
- استفاده از Content-Security-Policy (CSP) در هدرها
- پیکربندی امنیتی HSTS در وبسرور
- غیرفعالسازی توابع خطرناک در PHP (exec, shell_exec, system)
- محدودسازی سطح دسترسی فایلهای config (مانند wp-config.php)
- استفاده از ابزارهای بررسی آسیبپذیری مانند Lynis یا OpenVAS
- ایجاد کاربران جداگانه دیتابیس با حداقل سطح دسترسی برای هر اپلیکیشن
- غیرفعالسازی Anonymous Access در SQL Server
- غیرفعالسازی Remote Admin Interfaces اگر استفاده نمیشوند
- فعالسازی Audit Trails در DBMS
- پیکربندی رمزنگاری ارتباطات پایگاهداده (SSL/TLS)
- محدودسازی زمان اجرای کوئری در سرور دیتابیس
- تنظیم محدودیت حداکثر تعداد اتصال همزمان به DBMS
- پیکربندی ACL دقیق روی فایلها و فولدرهای دیتابیس و وبسرور
- غیرفعالسازی Directory Browsing در IIS
- پیکربندی Request Filtering در IIS برای جلوگیری از درخواستهای غیرمجاز
- محدود کردن طول URL و Header برای کاهش خطرات DoS
- ایجاد نسخه پشتیبان منظم و ذخیره امن در محل جداگانه
- فعالسازی Data-at-Rest Encryption برای پایگاه داده
- فعالسازی Data-in-Transit Encryption برای اتصال کلاینتها
- استفاده از ابزارهایی مانند Fail2Ban یا RdpGuard روی سرور
- استفاده از ابزارهای تغییر نام صفحه لاگین مدیریتی
- پیکربندی alert در زمان تغییرات مشکوک در فایلها و پایگاه داده
- پیکربندی حداقل طول و پیچیدگی رمز عبور در DBMS
- پیکربندی احراز هویت چند مرحلهای (MFA) در پنل مدیریت
- غیرفعالسازی اجرای اسکریپت در پوشه Upload سایت
- محدودسازی دسترسی از سرور دیتابیس فقط به آدرسهای مجاز
- استفاده از تغییر پورتهای پیشفرض در DBMS و وبسرور
- بررسی مرتب فایلهای لاگ برای الگوهای حمله
- تنظیمات سطح دسترسی خواندن/نوشتن روی فایلهای لاگ
- پیکربندی اقدامات اتوماتیک در زمان مشاهده حمله (IP Block)
- استفاده از Static Code Analysis برای اپلیکیشن وب
- پیکربندی حفاظت در برابر SQL Injection در لایه برنامه
- استفاده از View به جای دسترسی مستقیم به جداول در SQL
- استفاده از Stored Procedure برای کوئریهای مهم
- غیرفعالسازی Extended Stored Procedures غیرضروری در SQL Server
- فعالسازی رمزنگاری Transparent Data Encryption (TDE) در SQL
- فعالسازی محافظت از پورت 3306 در MySQL با فایروال
- محدود کردن زمان Session Timeout برای پنلهای مدیریت
- استفاده از Web Application Scanner بهصورت دورهای
- استفاده از محیط Stage/Testing مجزا از محیط Production
- پاکسازی اطلاعات پیشفرض از وبسرور (index.html نمونه، README)
- حذف اکانتهای پیشفرض یا تستی از DBMS و سرور
- نصب ضدویروس/ضدبدافزار بهروز شده روی سرور
- غیرفعالسازی ارتباطات خروجی غیرضروری از سرور
- تنظیم alert برای افزایش ناگهانی مصرف منابع سیستم
- بررسی سطح دسترسی روی دایرکتوریهای اپلیکیشن
- تنظیم Logging مناسب برای MySQL/PostgreSQL
- تنظیم قواعد Row-level Security در پایگاههای داده حساس
- پیکربندی password expiration برای حسابهای دیتابیس
- استفاده از ابزارهای بررسی تغییرات فایل (AIDE یا OSSEC)
- تنظیم محدودیتهای زمانبندی Cron برای Backup
- غیرفعالسازی بازتاب خطاهای دقیق SQL در صفحات وب
- ایجاد Snapshot امن از کانفیگهای وبسرور و دیتابیس
- استفاده از Reverse Proxy برای محافظت از وبسرور اصلی
- پیکربندی Failover و Replication امن بین سرورهای دیتابیس
- محدودسازی تغییر ساختار جداول به ادمینهای خاص
- بررسی تطبیق هش فایلها با نسخههای امن قبلی
- پیکربندی امنیتی مناسب فایلهای `robots.txt` و `.htaccess`
- استفاده از ابزارهای تشخیص نفوذ (IDS/IPS)
- پیکربندی Logging جداگانه برای خطاهای اپلیکیشن و وبسرور
- بررسی تنظیمات cache و session در اپلیکیشن
- استفاده از DNS امن (DNSSEC) و جلوگیری از DNS Rebinding
- محدودسازی اتصال به پایگاه داده از یک subnet خاص
- مدیریت و نگهداری کلیدهای رمزنگاری در محیط امن (HSM)
- تست نفوذ برنامهنویسیشده در دورههای زمانی مشخص
- آموزش امنیت به مدیران سیستم و برنامهنویسان در مورد تنظیمات امن
- فعالسازی Cross-Site Request Forgery (CSRF) Token در فرمها
- بررسی تنظیمات زمانبندی برای Update خودکار نرمافزارها
- غیرفعالسازی دسترسی فایلها با پسوند sql, inc, bak از مرورگر
- حذف دادههای آزمایشی از پایگاه داده قبل از انتشار
- فعالسازی ویژگی FORCE_SSL در پایگاه دادهها
- غیرفعالسازی Remote Execution در سرورهای MySQL و MSSQL
- ایجاد رویه تست امنیتی قبل از هر انتشار نرمافزار
- تنظیم محدودیت حجم پاسخدهی در وبسرور برای جلوگیری از حملات Buffer Overflow
- پیکربندی Secure Cookie برای جلوگیری از سرقت Session
- استفاده از Subresource Integrity (SRI) برای بارگذاری فایلهای خارجی
- بستن پورتهای اضافی در سرور با استفاده از ابزار nmap و firewall
- پیکربندی Strict-Transport-Security با مدت زمان مناسب
- استفاده از ابزار Tripwire برای بررسی تغییرات فایلهای حساس
- فعالسازی System Integrity Protection در سیستمعاملهای پشتیبانیشده
- جدا کردن سرویس دیتابیس و وبسرور در دو سرور مختلف
- فعالسازی TLS Perfect Forward Secrecy (PFS) در وبسرور
- استفاده از ابزار NAXSI یا OWASP CRS برای امنیت Nginx
- پیکربندی محدودیت در تعداد کوئریهای دیتابیس در دقیقه برای کاربران عادی
- استفاده از ابزارهای مدیریت پچ خودکار برای سرور
- محدودسازی دسترسی به دستورات OS از درون دیتابیس
- استفاده از مکانیزمهای Quarantine در دیتابیس برای دادههای مشکوک
- پیکربندی WebDAV در IIS بهصورت امن یا غیرفعالسازی آن
- بررسی لیست Diffie-Hellman Key Exchange برای طول کلید امن
- تنظیم noexec, nosuid روی mount points مانند /tmp و /var/tmp
- بررسی منظم Signature آنتیویروس روی سرور
- استفاده از ابزارهای بررسی پورت مانند netstat و ss برای پایش اتصالات مشکوک
- محدود کردن امکان مشاهده ساختار دایرکتوریها از طریق خطای 403
- پیکربندی ویژگیهای امنیتی برای فایلهای رسانهای (مثلاً MIME Sniffing)
- پیکربندی SameSite=Strict برای کوکیها
- بررسی تنظیمات محدودیت سرعت دانلود فایل برای جلوگیری از حملات DoS
- استفاده از Application Gateway جهت جداسازی ترافیک داخلی و خارجی
- پیکربندی Redundant DNS Resolver با تنظیمات امن
- عدم استفاده از IP Public برای سرور دیتابیس در محیط Production
- بررسی هش فایلهای اجرایی با SHA-256 قبل از اجرای آنها
- فعالسازی قابلیت System Resource Control در سیستمعامل
- غیرفعالسازی dynamic SQL مگر در موارد ضروری
- فعالسازی Limit Login Attempts در فرم ورود به سایت
- ایجاد محدودیت GeoIP برای دسترسی به سرور
- ایجاد رمز عبور اختصاصی برای Backup Encryption
- پیکربندی احراز هویت از طریق LDAP بهصورت امن (LDAPS)
- بررسی Rootkit ها با ابزارهایی مثل chkrootkit یا rkhunter
- محدودسازی قابلیت ایجاد یا حذف دیتابیس توسط کاربران غیرادمین
- تنظیم قفل خودکار حساب بعد از چند بار ورود اشتباه در دیتابیس
- بررسی حملات ساید چنل در پایگاههای داده ابری
- محدودسازی قابلیت ذخیره اسکریپت در فیلدهای دیتابیس (XSS Stored)
- پیکربندی مانیتورینگ رفتار کاربران دیتابیس با ابزارهایی مانند Oracle Audit Vault
- استفاده از Security Baselineهای CIS برای تنظیمات پیشفرض سرور
- پیکربندی سرور جهت پاسخ ندادن به پکتهای malformed
- ایزولهسازی سرورهای دیتابیس در Subnet مجزا
- استفاده از رمزنگاری ستونهای حساس (Column-level encryption)
- محدودسازی Query Timeout برای جلوگیری از حملات طولانی
- پیکربندی Log Shipping امن بین دیتابیسهای Master و Slave
- اجرای تستهای Fuzzing روی ورودیهای وباپلیکیشن
- پیکربندی محتوای `X-Frame-Options` برای جلوگیری از Clickjacking
- بررسی فعال بودن DEP و ASLR روی سیستمعامل
- پیکربندی Policy برای عدم ذخیرهسازی کوکی در مرورگرهای Third-Party
- استفاده از رمزگذاری کلید عمومی برای ارسال اطلاعات login به سرور
- پیکربندی جلوگیری از HTTP Parameter Pollution
- بررسی وجود فایلهای مخرب در مسیرهای قابلدسترسی وب
- پیکربندی حداکثر نرخ مصرف CPU برای SQL Engine
- استفاده از مکانیسمهای Containerization (Docker) با تنظیمات امن
- نصب نسخه Hardened از توزیع لینوکس مانند Alpine یا SELinux-enabled CentOS
- پیکربندی Alarm در صورت افزایش غیرعادی تعداد Query
- بررسی و حذف دستورات Drop/Truncate غیرمجاز در کد اپلیکیشن
- تنظیم عدم Allow File Inclusion در پارامترهای URL
- استفاده از سرویس اسکن بدافزار در فایلهای آپلودی
- پیکربندی گزارشهای خطای سفارشی برای جلوگیری از نمایش اطلاعات سیستمی
- پیکربندی Token-based Authentication به جای Session-based
- بررسی وجود فایلهای پنهان یا backup روی سرور
- پیکربندی Rate Limit در لاگین پنل مدیریت سرور
- بررسی تاریخچه دستورات SQL اجراشده توسط کاربران
- محدودسازی قابلیت ارسال ایمیل از سرور به دامنههای خاص
- پیکربندی لاگبرداری برای کوئریهای کند (Slow Queries)
- ایجاد گروههای کاربری جداگانه در DBMS برای نقشهای مختلف
- تنظیم خطمشی حساب کاربری بدون قابلیت رمزعبور خالی
- محدودسازی سطح دسترسی از طریق Application Role در SQL
- پیکربندی محدودیت بارگیری فایل از طریق HTTP
- استفاده از نسخه رمزنگاریشده Remote Desktop یا SSH فقط با کلید
- بررسی صحت کلیدهای SSH سرور بهصورت دورهای
- پیکربندی امنیتی مربوط به WebSocket در اپلیکیشنهای بلادرنگ
- ایزولهسازی Process های سرور با استفاده از chroot یا jail
- غیرفعالسازی MIME Sniffing در مرورگرها با `X-Content-Type-Options: nosniff`
- پیکربندی یکپارچهسازی لاگها با سیستم SIEM
- پیکربندی Extended Logging در Nginx یا IIS
- استفاده از IP Whitelisting برای محیطهای مدیریت دیتابیس
- ایجاد حساب کاربری مجزا برای هر توسعهدهنده یا DBA
- بررسی تغییرات مشکوک در حجم فایلهای لاگ
- تنظیم Auto Kill Connection در صورت شناسایی رفتار مشکوک
- محدودسازی امکان اجرای Job در SQL Server به نقش sysadmin
- پیکربندی Secure Headers در CDN نیز همزمان با وبسرور
- محدودسازی امکان Mount کردن دیسکهای خارجی در سرور
- ایجاد مجوزهای مبتنی بر Least Privilege در تمام سطوح سیستم
- بررسی وجود اسکریپتهای مخرب در صفحات خطا (404, 500)
- ایجاد فرآیند Patch Management برای پایگاه داده و وبسرور
- استفاده از ابزارهایی مانند CrowdSec برای دفاع مبتنی بر جامعه
- بررسی تنظیمات استفاده از تایمزون درست برای Logging
- استفاده از DLP برای جلوگیری از نشت اطلاعات حساس
- نصب کنترل پنل امن مانند CyberPanel یا aaPanel با حداقل سطح دسترسی
- ایجاد snapshot قبل از اعمال تغییرات بزرگ روی کانفیگها
- تنظیم هش کردن رمزهای عبور با bcrypt یا Argon2 در اپلیکیشن
- پیکربندی محدودیت Max Concurrent Connections به سرور
- محدودسازی درخواستهای همزمان به API از یک IP خاص
- استفاده از رمزنگاری فایلهای لاگ با کلیدهای امن
- تنظیم بازههای محدود زمانی برای اتصال کاربران به دیتابیس
- پیکربندی لاگینگ SQL Injection detection در فایروال برنامه وب (WAF)
- غیرفعالسازی پشتیبانی از روشهای احراز هویت ضعیف مانند Basic Auth
- تنظیم خطمشی Password History در دیتابیس
- پیکربندی Content Security Policy با محدودیت منابع دقیق
- استفاده از IDS/IPS برای تحلیل رفتار ترافیک دیتابیس
- تنظیم Secure Boot در BIOS سرور
- غیرفعالسازی Clipboard در Remote Desktop
- تنظیم گزارشگیری از بازنشانی رمز عبور کاربران
- بررسی فایلهای کانفیگ برای اطلاعات hardcoded مانند رمز عبور
- پیکربندی fail2ban برای مسدودسازی IP در صورت تلاش ورود ناموفق
- پایش دسترسی به منابع با استفاده از SIEM
- فعالسازی ویژگی SQL Server Extended Protection
- استفاده از دستور GRANT محدود به حداقل دسترسی در MySQL
- غیرفعالسازی تابع xp_cmdshell در SQL Server
- پیکربندی مانیتورینگ استفاده از منابع توسط یوزرها در دیتابیس
- پیکربندی آنتیویروس با اسکن real-time برای پوشههای حساس
- پیکربندی Transport Encryption بین دیتابیس و اپلیکیشن
- پیکربندی outbound firewall برای سرور جهت جلوگیری از تماس مشکوک
- بررسی تنظیمات Service Principal Name در Windows Authentication
- ایجاد هش رمز عبور با الگوریتم bcrypt یا Argon2
- استفاده از پیامهای خطای عمومی برای جلوگیری از افشای ساختار داخلی
- محدودسازی امکان استفاده از iframe در سایت
- پیکربندی alert برای اجرای commandهای خطرناک در bash history
- استفاده از نسخه Hardened Kernel در لینوکس سرور
- بررسی و حذف فایلهای .bak و .old از دایرکتوریهای وب
- فعالسازی Transaction Audit Trail در DBMS
- پیکربندی اجباری بودن استفاده از VPN برای اتصال به سرور
- استفاده از Application Whitelisting برای فایلهای اجرایی
- جلوگیری از استفاده از توابع خطرناک مانند `eval()` در کد بکاند
- تنظیم محدودیت حجم فایل آپلودی برای پیشگیری از حملات DOS
- پیکربندی سیستم هشدار هنگام دسترسی غیرمجاز به root
- پیکربندی auditd در لینوکس برای پایش فعالیتهای حساس
- بررسی تغییرات فایلهای کانفیگ با استفاده از ابزارهایی مانند AIDE
- بررسی و جلوگیری از استفاده از Encodingهای نامعمول در درخواستها
- تنظیم Certificate Pinning در کلاینتها
- غیرفعالسازی سرویسهای نامرتبط مانند FTP یا Telnet در سرور
- استفاده از ابزار Static Code Analysis برای کشف آسیبپذیریها
- پیکربندی Secure Session Timeout در اپلیکیشن وب
- پیکربندی no-root execution برای دیتابیس و وبسرور
- استفاده از کلمات عبور Expiring برای کاربران سطح پایین
- غیرفعالسازی Web Server Signature در Apache/Nginx
- بررسی وجود Shell یا بکدور در فایلهای js یا php سایت
- استفاده از ابزارهای مثل Lynis برای ارزیابی امنیتی سرور
- محدودسازی تعداد Login Session های همزمان یک کاربر
- تنظیم محدودیت تعداد نتایج قابل نمایش در کوئریهای جستجو
- بررسی استفاده از توابع insecure hash مانند MD5 و جایگزینی آنها
- ایجاد ساختار امن برای دایرکتوری آپلود فایلها با دسترسی محدود
- جلوگیری از اجرای فایلهای .php در دایرکتوری upload
- پیکربندی سیستم هشدار برای فعالیتهای خارج از ساعت کاری
- استفاده از یک الگوریتم تعیین نرخ رفتار کاربر برای کشف نفوذ
- غیرفعالسازی فشردهسازی gzip در صفحات حساس برای جلوگیری از BREACH
- بررسی خودکار certificate expiration در وبسرورها
- تنظیم اجرای سیستم در حالت read-only mount هنگام بروز تهدید
- پیکربندی هشدار هنگام تلاش برای دسترسی به فایلهای .env
- استفاده از VPN دارای احراز هویت دو عاملی برای مدیریت دیتابیس
- پیکربندی scrub کردن دادههای حساس از لاگها
- استفاده از سیستم هشدار دهنده برای افزایش ناگهانی حجم دیتابیس
- تنظیم alert در هنگام تغییر سطح دسترسی کاربران
- پیکربندی حذف اتوماتیک فایلهای موقت و کش شده در وبسرور
- پایش دسترسی به سرور از طریق اپلیکیشنهای تلفن همراه
- ایجاد Audit Log برای کلیه تراکنشهای مدیریتی در دیتابیس
- استفاده از الگوریتم امضای دیجیتال برای APIهای حساس
- تنظیم sandbox برای اجرای کدهای پردازش فایل
- استفاده از Container Imageهای Signشده و امن
- تنظیم alert در صورت باز شدن پورت غیراستاندارد در فایروال
- استفاده از ابزارهای Dynamic Application Security Testing (DAST)
- محدودسازی دسترسی به API از طریق Access Token منقضیشونده
- استفاده از الگوریتم بررسی عدم دستکاری دادهها در انتقال
- پیکربندی File Integrity Monitoring برای فایلهای سیستمی
- پیکربندی محافظت از فایلهای لاگ با permissionهای دقیق
- ایجاد مکانیزم احراز هویت مبتنی بر hardware key (مانند YubiKey)
- غیرفعالسازی پردازش جاوااسکریپت برای صفحات ورود
- بررسی اعتبار ایمیلها در فرمهای ثبتنام با الگوریتمهای MX lookup
- جلوگیری از اجرای همزمان چند درخواست POST از یک کاربر
- پیکربندی CORS دقیق و محدود در backend
- پایش تغییرات در certificate chain با استفاده از ابزارهایی مانند Certwatch
- بررسی و غیرفعالسازی ماژولهای استفادهنشده در وبسرور
- پیکربندی احراز هویت ترکیبی برای دسترسی به محیطهای production
- تنظیم محدودیت استفاده از منابع (CPU، RAM) برای هر کاربر دیتابیس
- ایجاد برنامه Disaster Recovery برای سیستمهای دیتابیس و وبسرور
- بررسی تغییرات غیرمجاز در فایلهای init script سرور
- ایجاد ساختار هشدار برای تغییر مسیرهای Routing در backend
- تنظیم بهروزرسانی خودکار Certificateها با ابزارهایی مثل Certbot
- تنظیم role-based access در dashboard مدیریت سرور
- ایجاد honeypot در سطح اپلیکیشن برای شناسایی رباتها
- پایش برخط ترافیک ورودی و تطبیق با baseline نرمال
- استفاده از امضای دیجیتال برای تایید صحت فایلهای config