هکهای مختلف ثابت کردهاند که امنیت سرور شبکه مهمترین مساله برای هر کسبوکاری است که عملیات خود را به صورت آنلاین انجام میدهد. سرورهای شبکه، یکی از مواردی هستند که به دلیل دادههای حساسی که میزبان آنها هستند، معمولاً بیش از هر بخش دیگری از یک سازمان مورد هدف قرار میگیرند. امنیت سرور شبکه به اندازه امنیت شبکه که شامل وبسایت یا نرمافزار تحت شبکه است، اهمیت دارد. اگر یک برنامه امن و یک سرور شبکه ناامن دارید یا بالعکس، کسبوکار شما در معرض خطر بزرگی قرار میگیرد. میزان امنیت شرکت شما به اندازه امنیت ضعیفترین بخش است.
اگرچه امنیت سرور شبکه میتواند یک عملیات دلهرهآور و نیازمند متخصصان باشد، اما یک کار غیرممکن نیست. ساعتهای طولانی جستجو، مصرف زیاد قهوه و خوردن غذای بیرون میتواند شما را از گذراندن شبهای طولانی در دفتر، سردرد و لو رفتن اطلاعات در آینده نجات دهد. صرفنظر از اینکه چه نرمافزار سرور شبکه و سیستمعاملی را استفاده میکنید، یک پیکربندی خارج از چهارچوب معمولا ناامن است. بنابراین باید گامهای لازم برای افزایش امنیت سرور شبکه برداشته شود. در ادامه لیستی از کارهایی که باید برای امنیت سرور شبکه انجام شود، آورده شدهاست.
1. حذف خدمات غیرضروری
تاسیسات و پیکربندیهای پیشفرض سیستمهای عامل، ایمن نیستند. در یک نصب پیشفرض، بسیاری از سرویسهای شبکه که در پیکربندی سرور شبکه استفاده نمیشود نصب میشوند، مانند سرویسهای ثبت از راه دور، سرویس چاپ و سرویس دسترسی از راه دور(RAS). هرچه سرویسهای بیشتری روی یک سیستم عامل فعال باشند، درگاههای بیشتری باز گذاشته خواهند شد، در نتیجه درهای باز بیشتری برای سوء استفاده کاربران بدخواه باقی میماند. تمام سرویسهای غیرضروری را خاموش کنید و آنها را غیرفعال کنید تا دفعه بعد که سرور مجدداً راهاندازی میشود، به طور خودکار شروع به کار نکنند. خاموشکردن سرویسهای غیرضروری با آزاد کردن برخی منابع سختافزاری به عملکرد سرور شما کمک خواهد کرد.
۲. دسترسی از راه دور
مدیران باید در صورت امکان، به صورت محلی به سرورهای شبکه وارد شوند. اگر دسترسی از راه دور مورد نیاز است، باید با استفاده از پروتکلهای تونلسازی و رمزگذاری، اطمینان حاصل شود که دسترسی از راه دور به خوبی ایمنسازی شدهاست. استفاده از نشانههای امنیتی و دیگر علائم بر روی تجهیزات و نرمافزار، یک روش امنیتی بسیار خوب است. همچنین دسترسی از راه دور باید به تعداد مشخصی IP و تنها به حسابهای خاص دادهشود. بسیار مهم است که از کامپیوترها یا شبکههای عمومی مانند کافینتها یا شبکههای وایرلس عمومی برای دسترسی از راه دور به سرورهای شرکت استفاده نشود تا امنیت سرور در خطر قرار نگیرد.
3. محیط های جداگانه توسعه، آزمایش و تولید
از آنجا که توسعه یک نسخه جدیدتر از یک نرمافزار تحت شبکه بر روی یک سرور تولیدی برای یک توسعهدهنده آسانتر و سریعتر است، کاملاٌ رایج است که توسعه و تست نرمافزارهای تحت شبکه به طور مستقیم بر روی خود سرورهای تولیدی انجام شود. پیدا کردن نسخههای جدیدتر از یک وبسایت خاص، یا برخی محتواها که نباید در دسترس عموم قرار داشته باشند، در دایرکتوریهایی مانند /test/، /new/ یا دیگر زیرشاخههای مشابه، یک اتفاق رایج در اینترنت است. از آنجا که چنین نرمافزارهای تحت شبکه در مراحل اولیه توسعه خود قرار دارند، محتمل است که تعدادی نقطه آسیبپذیر داشته باشند، اعتبارسنجی ورودی مناسبی نداشته باشند و استثناها را به درستی مدیریت نکنند. چنین برنامههایی به سادگی با استفاده از ابزارهای رایگان موجود در اینترنت توسط یک کاربر بدخواه کشف و مورد سوء استفاده قرار میگیرند.
برای تسهیل بیشتر توسعه و آزمایش نرمافزارهای تحت شبکه، توسعهدهندگان برنامههای کاربردی داخلی خاصی را توسعه میدهند که به آنها امکان دسترسی به نرمافزارهای تحت شبکه، پایگاههای اطلاعاتی و دیگر منابع سرور شبکه را میدهد، که یک کاربر ناشناس معمولی به آنها دسترسی ندارد. چنین برنامههایی معمولاً هیچ گونه محدودیتی ندارند، زیرا آنها فقط برنامههای آزمایشی هستند که تنها باید از سوی توسعهدهندگان در دسترس قرار گیرند. متاسفانه، اگر توسعه و تست بر روی یک سرور تولید انجام شود، چنین نرمافزارهایی به راحتی میتوانند توسط یک کاربر بدخواه کشف شوند و از این طریق بتوانند به سرور تولید دسترسی پیدا کنند.
بهتر است توسعه و تست برنامههای کاربردی شبکه همیشه بر روی سرورهایی که به اینترنت متصل نیستند، انجام شود و هرگز نباید از دادهها و پایگاههای اطلاعاتی واقعی استفاده کند یا به آنها متصل شود تا امنیت سرور تضمین شود.
4. محتوای نرمافزار تحت شبکه و اسکریپتهای روی سرور
نرمافزار تحت شبکه یا فایلها و اسکریپتهای وبسایت باید همیشه در پارتیشنها یا درایوهای متفاوتی با سیستمعامل، سوابق دادهها و هر فایل سیستمی دیگری نگهداری شوند. تجربه نشان دادهاست که هکرهایی که به دایرکتوری ریشه وب دسترسی پیدا کرده بودند، قادر به بهرهبرداری از دیگر نقاط آسیبپذیر بودهاند، و توانستهاند گامی فراتر رفته و دسترسی خود را به دادههای کل دیسک، از جمله سیستمعامل و دیگر فایلهای سیستم افزایش دهند. از آنجا به بعد، کاربران بدخواه به اجرای هر فرمان سیستمعامل دسترسی دارند که منجر به کنترل کامل سیستم شبکه میشود.
۵. سطوح دسترسی و امتیازها
سطوح دسترسی سرویسهای فایل و شبکه نقش مهمی در امنیت سرور شبکه ایفا میکنند. اگر موتور سرور شبکه از طریق نرمافزار سرویس شبکه به خطر بیفتد، کاربر بدخواه میتواند از حساب درحال اجرا برای انجام وظایف سرویس شبکه استفاده کند، مانند اجرای فایلهای خاص. بنابراین بسیار مهم است که همیشه حداقل امتیازات مورد نیاز برای اجرای یک سرویس شبکه مانند نرمافزار سرور شبکه تعیین شود. همچنین بسیار مهم است که حداقل امتیازات مورد نیاز برای دسترسی به وبسایت، فایلهای نرمافزارهای تحت وب و همچنین دادههای عقبه و پایگاه دادهها به کاربر ناشناس داده شود.
۶. تمام وصلههای امنیتی را به موقع نصب کنید
با اینکه داشتن نرمافزار کاملاً اصلاح شده توسط وصلههای امنیتی، لزوماً به این معنی نیست که امنیت سرور شما تضمین شده است، با این حال بهروز رسانی برای دریافت آخرین وصلههای امنیتی برای سیستمعامل و هر نرمافزار دیگری که روی آن اجرا میشود، بسیار مهم است. هک رخ میدهد زیرا هکرها از عدم امنیت سرور و نرمافزارهایی که اصلاح نشدهاند سوء استفاده میکنند.
9. نظارت و رسیدگی به سرور
تمام لاگهای موجود در یک سرور شبکه، باید در یک منطقه تفکیکشده ذخیره شوند. تمام لاگهای خدمات شبکه، لاگهای دسترسی به وبسایت، لاگهای پایگاه داده (به عنوان مثال Microsoft SQL Server، MySQL و Oracle) و لاگهای سیستمعامل باید کنترل شود و به طور مرتب مورد بررسی قرار بگیرد. همیشه باید مراقب لاگهای عجیب بود. فایلهای لاگ معمولاً تمام اطلاعات درباره تلاش برای حمله و حتی یک حمله موفق را دارند، اما در اغلب مواقع این موارد نادیده گرفته میشوند. اگر متوجه فعالیت عجیبی از لاگها شدید، این امر باید فوراً در اولویت قرار بگیرد تا بررسی شود که چه اتفاقی در حال رخ دادن است.
۸. حسابهای کاربری
حسابهای کاربری پیشفرض استفاده نشده ایجاد شده در طول نصب سیستمعامل باید از کار انداخته شوند. همچنین فهرست بلندی از نرمافزارها وجود دارد که در هنگام نصب، حسابهای کاربری بر روی سیستمعامل ایجاد میکند. چنین حسابهایی باید به درستی بررسی شوند و اجازهها باید تغییر داده شوند. حساب مدیر باید تغییر نام داده شود و نباید استفاده شود (همچنین برای کاربر ریشه در نصب linux یا unix). هر مدیری که به سرور شبکه دسترسی دارد باید حساب کاربری خودش را با امتیازات مورد نیاز داشته باشد. این کار یک روش امنیتی خوب است که حسابهای کاربری را به اشتراک نگذاریم.
۹. حذف همه ماژولهای استفاده نشده و پسوندهای نرمافزارها
نصب پیشفرض Apache دارای تعدادی ماژولهای از پیش تعریفشده فعال است، که در حالت عادی در سرور شبکه استفاده نمیشود، مگر اینکه به طور خاص مورد نیاز باشد. این ماژولها را خاموش کنید تا از حملات هدفمند علیه چنین ماژولهایی جلوگیری کنید.
همین امر در مورد سرور شبکه مایکروسافت نیز صادق است؛ خدمات اطلاعات اینترنتی (IIS). به طور پیشفرض، IIS طوری پیکربندی شدهاست که تعداد زیادی از انواع نرمافزارها مانند ASP و ASP.NET را ارائه دهد. فهرست پسوندهای نرمافزار تنها باید شامل فهرستی از پسوندهای مورد استفاده در وبسایت یا نرمافزار تحت وب باشد. هر توسعه نرمافزاری نیز در صورت امکان باید تنها به استفاده از پروتکل HTTP، محدود شود.
10. استفاده از ابزارهای امنیتی ارائهشده توسط نرمافزارهای تحت شبکه سرور
مایکروسافت تعدادی ابزار برای کمک به مدیران برای امنیت سرور شبکه IIS، مانند اسکن URL منتشر کردهاست. همچنین یک ماژول به نام mod_security برای Apache وجود دارد. اگر چه پیکربندی چنین ابزارهایی یک فرآیند خستهکننده است و میتواند زمانبر باشد، به خصوص با نرمافزارهای تحت شبکه سفارشی، استفاده از آنها امنیت سرور و آرامش ذهن برای شما ایجاد میکند.
11. اطلاعات خود را به روز نگه دارید
امروزه، اطلاعات و نکاتی در مورد نرمافزار و سیستمعامل مورد استفاده میتواند به راحتی در اینترنت یافت شود. بسیار مهم است که با خواندن مجلات مربوط به امنیت سرور و اشتراک در خبرنامهها، فروم ها یا هر نوع انجمن دیگر، در مورد حملات و ابزارهای جدید آگاه بمانید.
12. از اسکن کنندهها استفاده کنید
اسکن کنندهها برنامههایی کاربردی هستند که در خودکارسازی و راحتی بیشتر انجام فرایندهای امنیت سرور شبکه و نرمافزارهای تحت شبکه، به شما کمک میکنند. Acunetix Web Vulnerability Scanner به همراه خود یک اسکنکننده درگاه دارد که زمانی که فعال میشود، درگاههای سرور شبکهای که نرمافزار مورد اسکن را میزبانی میکند، اسکن مینماید. به مانند یک اسکنکننده امنیت شبکه، Acunetix WVS تعدادی بررسی امنیتی پیشرفته بر روی درگاههای باز و سرویسهای شبکه فعال روی سرور شبکه شما را انجام میدهد.
Acunetix Web Vulnerability Scanner ، امنیت سرور شبکه و وبسایت را با چک کردن برای SQL Injection، اسکریپتگذاری کراس سایت، مشکلات پیکربندی سرور شبکه و دیگر نقاط آسیبپذیر تضمین میکند. این برنامه قدرت گذرواژهها را در صفحات احراز هویت بررسی میکند و بهطور خودکار کارتهای خرید، فرمها، محتوای وب 2.0 پویا و دیگر برنامههای شبکه را بررسی میکند. هنگامی که اسکن کامل میشود، نرمافزار گزارشهای دقیقی ارائه میدهد که نقاط آسیبپذیر را نشان میدهد و به این طریق به ایجاد امنیت سرور کمک میکند.