سرور اصلی بهعنوان نقطه شروع برای تمام درخواستهای انجامشده برای یک وبسایت، وظیفه اصلی آن دسترسی به منبع درخواست شده از سیستم فایل سرور و ارسال آن به مشتری است.
دو دسته متمایز از سرورهای اصلی وجود دارد: عمومی و خصوصی. سرورهای اصلی عمومی در درجه اول برای ارائه محتوای استاتیک مانند اسناد HTML و تصاویر طراحیشدهاند. آنها به درخواستهای هر مشتری، صرفنظر از موقعیت مکانی آنها پاسخ میدهند.
از سوی دیگر، سرورهای اصلی خصوصی محتوایی را ارائه میدهند که منحصراً برای گروهی از کاربران از پیش تعریفشده قابلدسترسی است. آنها قبل از اعطای دسترسی به منبع درخواست شده، هویت هر مشتری را تأیید میکنند. سرورهای اصلی خصوصی همچنین برای ارائه محتوای پویا، مانند پرسوجوهای پایگاه داده و محتوای تولیدشده توسط کاربر استفاده میشوند.
ویژگیهای کلیدی سرور اصلی
• منبع داده اولیه: سرور اصلی نسخه اصلی یا اصلی محتوای وبسایت، ازجمله فایل های HTML، تصاویر، ویدیوها، اسکریپتها و پایگاههای داده را نگه میدارد.
• تولید محتوا: مسئول تولید پویای محتوا، پردازش اسکریپتهای سمت سرور (مانند PHP، Python یا Node.js) و تعامل با پایگاههای داده برای ارائه محتوای شخصیساز یا بهروز به کاربران است.
• ذخیرهسازی دادهها: سرور دادهها را در سیستم فایل یا پایگاههای داده خود ذخیره میکند و در پاسخ به درخواستهای مشتری آن را ارائه میدهد. این دادهها میتواند شامل صفحات وب، فایل های رسانه، حسابهای کاربری و موارد دیگر باشد.
• امنیت: محافظت از سرور اصلی برای جلوگیری از دسترسی غیرمجاز، نقض دادهها و سایر تهدیدات امنیتی بسیار مهم است. اقدامات امنیتی مانند فایروالها، کنترل دسترسی، رمزگذاری و بهروزرسانیهای منظم نرمافزار ضروری هستند. در اینجا نگاهی به شش تکنیک ضروری برای حفاظت از سرور اصلی آورده شده است.
• در دسترس بودن: اطمینان از در دسترس بودن بالای سرور اصلی برای جلوگیری از خرابی مهم است. این ممکن است شامل افزونگی، توزیع بار و مکانیسمهای failover باشد.
• تحویل محتوا: گاهی اوقات، از شبکههای تحویل محتوا (CDN) برای توزیع و کش کردن محتوا نزدیکتر به کاربران استفاده میشود. CDN ها میتوانند ترافیک را از سرور اصلی خارج کنند و عملکرد را بهبود بخشند و تأخیر را کاهش دهند.
سرور اصلی چگونه کار میکند؟
سرورهای اصلی با مدیریت درخواستهای ورودی و ارائه محتوای وبسایت به کاربران، در اکوسیستم وب نقش حیاتی دارند. هر زمان که کاربری به یک صفحه وب دسترسی پیدا میکند، درخواستی به سرور اصلی برای دریافت محتوای موردنظر ارسال میشود. فاصله جغرافیایی بین کاربر و سرور اصلی میتواند باعث ایجاد تأخیر شود و باعث تأخیر در بازیابی محتوا شود.
علاوه بر این، برقراری یک اتصال امن SSL/TLS بین کلاینت کاربر و سرور اصلی، زمان رفتوبرگشت (RTT) اضافی را ایجاد میکند، که بهطورکلی زمان کل را برحسب میلیثانیه از لحظه درخواست اطلاعات توسط مرورگر تا زمانی که پاسخی دریافت میکند، اندازهگیری میکند.
عوامل مختلفی ازجمله فاصله فیزیکی، تراکم شبکه، گرههای واسط و سرورهای وب واسط میتوانند بر RTT تأثیر بگذارند.
برای مالکان وبسایت، مهم است که سرورهای اصلی خود را بهطور منظم حفظ و بهروز کنند زیرا این سرورها ظرفیت محدودی دارند. فراتر رفتن از این ظرفیت میتواند منجر به خرابی شود. زمانی که سرور اصلی دچار خرابی یا عملکرد ضعیف میشود، کاربران نهایی ممکن است با تأخیر یا اختلال در ارائه محتوا مواجه شوند.
درحالیکه یک سرور اصلی میتواند تمام درخواستهای انجامشده برای یک وبسایت را مدیریت کند، این رویکرد ناکارآمد و غیرقابل مدیریت خواهد بود.
بنابراین، اکثر سرورهای اصلی برای واگذاری درخواستهای خاص به سرورهای دیگر، مانند سرورهای لبه یا سرورهای کش پیکربندی میشوند.
چرا محافظت از سرورهای اصلی مهم است؟ توجه به اهمیت محافظت از سرورهای اصلی بسیار مهم است، زیرا قطعی سرور عواقب گستردهتری نسبت به خرابی مجزای یک برنامه دارد.
آسیبپذیریهایی که سرورهای اصلی را در معرض خطر قرار میدهند عبارتاند از:
• برنامههای ناشناخته: موارد آسیبپذیری اجرای کد از راه دور (RCE) یا اسکریپتنویسی بینسایتها (XSS) ممکن است در برنامههایی که بازنشسته شدهاند اما همچنان در دسترس عموم هستند، باقی بمانند. ازآنجاییکه این برنامهها در همان سرور اصلی همزیستی دارند، یک نقص دریکی از آنها میتواند همه آنها را به خطر بیندازد.
• ضعفهای برنامه: یک آسیبپذیری تزریق SQL (SQLi) در یک برنامه میتواند بهعنوان دروازهای برای هکرها برای سرقت دادهها از تمام برنامههای دیگر موجود در همان سرور اصلی باشد.
• حملات Brute Force: مهاجمان ممکن است با تلاش مکرر برای نامهای کاربری و رمزهای عبور مختلف، سعی در دستیابی به دسترسی غیرمجاز به سرور اصلی داشته باشند. خطمشیهای قوی رمز عبور، احراز هویت چندعاملی (MFA) و مکانیسمهای قفل حساب میتوانند به جلوگیری از حملات brute force کمک کنند.
• حملات DDoS: حتی یک حمله DDoS که یک برنامه را هدف قرار میدهد، میتواند از منابع سرور سوءاستفاده کند و باعث شود سایر برنامهها غیرقابلدسترسی شوند.
چگونه از سرور اصلی محافظت کنیم؟
استفاده از CDN یکی از روشهای مؤثر برای محافظت از سرور اصلی است زیرا IP سرور اصلی را پنهان میکند و درخواستهای ورودی را بین سرورهای لبه توزیع میکند تا از اضافهبار در هنگام افزایش ترافیک جلوگیری شود. همچنین بازرسی اولیه درخواستهای HTTP/S را انجام میدهد و بهطور مؤثر حملات DoS را که هدف سرور اصلی هستند مسدود میکند و در دسترس بودن خدمات بدون وقفه را تضمین میکند.
باوجود مزایای محافظتی که یک CDN برای سرور اصلی شما ارائه میدهد، فقط برای محتوای استاتیک قابلاستفاده است و درصورتیکه برنامههای شما دارای محتوای پویا و API های زیادی باشند، CDN نمیتواند از سرورهای اصلی محافظت کند. این امر بر اهمیت پیادهسازی فایروال برنامههای وب (WAF) و تنظیمات امنیتی قوی در سرور اصلی شما تأکید میکند. چنین احتیاطهایی لایههایی از پیچیدگی را برای مهاجمان ایجاد میکند و کشف و سوءاستفاده از آسیبپذیریهای سرور را دشوارتر میکند.
WAF با عمل بهعنوان یک سپر محافظ در مقابل برنامه، نقش محوری در محافظت از برنامهها ایفا میکند. این سپر با دقت فیلتر میکند و فقط به درخواستهای مشروع اجازه میدهد تا به برنامه برسند و بهطور مؤثر ترافیک مخرب را مسدود میکند.
بااینحال، مهم است که توجه داشته باشید که باوجود محافظتی که WAF ارائه میدهد، راههایی وجود دارد که میتواند به مهاجمان اجازه دهد مستقیماً به سرور اصلی دسترسی پیدا کنند.
بهعنوانمثال، برخی از مهاجمان از ابزارهایی برای کشف تنظیمات DNS قدیمی استفاده میکنند که ممکن است آدرس IP سرور اصلی را فاش کند و اجازه حملات مستقیم به سرور اصلی را بدهد و از WAF عبور کند. برای جلوگیری از این، ارزیابی وضعیت حفاظت از سرور اصلی را بهعنوان بخشی از پیکربندی WAF خود به یک عمل استاندارد تبدیل کنید. برخلاف بسیاری از راهحلهای پیشرو WAF که در آن حفاظت از سرور اصلی اختیاری است، AppTrana با فعال کردن حفاظت از سرور اصلی بهطور پیشفرض متمایز میشود.
مطالب برتر
فایلهای خود را در برابر اشکالات OneDrive ایمن نگه دارید
انقلابی کردن نظارت بر شبکه: کاهش هزینههای اتوماسیون و افزایش عملیاتی کارایی
نکات مهم امنیت سایبری برای مشاغلی که از راه دور استفاده میکنند