بالا بردن امنیت سرور : علاوه بر استعلام قیمت سرور و هزینههای مربوط به آن، امنیت سرور نیز یکی از دغدغههای اصلی مدیران شبکه است. کسبوکارها همواره با تهدیدات بسیاری روبرو هستند و هر چه تعداد کاربران و دستگاه ها و برنامه ها بیشتر باشد باید حواسمان بیشتر جمع باشد. هر سازمانی که سرویس هایی به مشتریان و کارمندانش ارایه میدهد باید بتواند از شبکه خودش حفاظت کند. امنیت شبکه به شما در حفاظت از اطلاعات در برابر حملات کمک میکند و نگهبان شهرت شما است. با توسعه شبکه آداکهمراه باشید.
تامین امنیت سرور
هکرها همیشه سرورهایی را هدف قرار میدهند که آسیبپذیرترند. پس اگر ادمین هستید و مسئولیت تامین امنیت سرور و اطلاعات آنها را دارید، باید خطرات و ریسکها را کاهش دهید. برای بالا بردن امنیت سرور رعایت نکاتی مانند امنیت اتصالات سرور، مدیریت کاربران سرور، امنیت پسورد سرور و … بسیار مهم است.
در زمینه ابتدا امنیت اتصالات سرور نکات زیر را در نظر بگیرید:
۱- ایجاد و استفاده از اتصال امن
وقتی به سرور ریموت وصل میشوید، باید کانال امنی برای اتصال ایجاد کنید. بهترین راه برای ایجاد اتصال محافظت شده، استفاده از پروتکل SSH یا Secure Shell است. برخلاف Telnet، در SSH تمام دیتای منتقل شده، رمزگذاری میشود. برای استفاده از پروتکل SSH شما باید SSH Daemon را نصب کنید و کلاینت SSH را داشته باشید تا بتوانید دستورات را استفاده و سرورها را مدیریت کنید. SSH به صورت پیش فرض از پورت ۲۲ استفاده میکند. همه و از جمله هکرها این را میدانند پس تغییر شماره پورت، راه آسانی است تا شانس هکر را برای حمله به سرورتان کم کنید. میتوانید برای SSH از شماره پورتهای ۱۰۲۴ تا ۳۲۷۶۷ استفاده کنید.
۲- استفاده از احراز هویت SSH Keys
به جای پسورد میتوانید سرور SSH را با استفاده از یک جفت SSH Key احراز هویت کنید. این کار بهترین جایگزین لاگینهای سنتی است. تعداد بیتهای Key ها از پسورد بیشتر است و به راحتی کرک نمیشوند. رمزگذاری متداول RSA 2048-bit برابر است با پسورد ۶۱۷ رقمی.
یک جفت Key شامل public key و private key است.
public key چند کپی دارد که یکی از آنها روی سرور میماند و بقیه با کاربران به اشتراک گذاشته میشود. هر کسی که public key دارد قدرت رمزگذاری دیتا دارد و فقط کاربر متناظر با private key میتواند دیتا را بخواند. private key با کسی به اشتراک گذاشته نمیشود و باید نزد کاربر به صورت امن نگه داشته شود. هنگام برقراری اتصال، سرور قبل از دادن دسترسی، private key کاربر را بررسی میکند. بدین ترتیب بدون پسورد لاگین میشوید.
۳- پروتکل امن FTPS
برای اینکه از خطر هکرها و دزدی اطلاعاتتان در امان باشید برای انتقال فایل از/به سرور از پروتکل FTPS یا File Transfer Protocol Secure استفاده کنید. این پروتکل فایلهای اطلاعاتی و اطلاعات احراز هویت را رمزگذاری میکند.
FTPS هم از command channel و هم از data channel استفاده میکند و کاربر از هر دو میتواند استفاده کند. توجه داشته باشید که از فایلها فقط هنگام انتقال، محافظت میشود و به محض اینکه به سرور برسند دیگر رمزگذاری شده نیستند. به همین دلیل قبل از ارسال فایلها، لایه امنیتی دیگری اضافه کنید.
۴- استفاده از SSL Certificate
برای بالا بردن امنیت در سرورهای وب از SSL یا Secure Socket Layer استفاده کنید. این پروتکل از اطلاعاتی که از طریق اینترنت بین سیستمها جابجا میشود، محافظت میکند. این پروتکل دیتا را به هم ریخته میکند؛ دیتایی مانند نامها و ID ها و شماره کارتها و دیگر اطلاعات شخصی؛ در نتیحه هنگام انتقال، قابل دزدیده شدن نیستند. وب سایتهایی که دارای SSL Certificate هستند در URL آنها HTTPS وجود دارد که نشاندهنده امن بودن آنهاست.
certificate به غیر از رمزگذاری دیتا، برای احراز هویت کاربر هم استفاده میشود. با مدیریت certificate در سرورهایتان میتوانید احراز هویت کاربر ایجاد کنید. ادمینها میتوانند سرورها را برای ارتباط با احراز هویت متمرکز و هر certificate دیگری پیکربندی کنند.
۵- استفاده از شبکه های خصوصی
یکی دیگر از راههای تامین ارتباطات امن استفاده از شبکه های خصوصی و شبکه های خصوصی مجازی – virtual private networks است. این شبکهها برخلاف شبکههای باز که به دنیای بیرون دسترسی دارند، هستند یعنی فقط در داخل شبکه خصوصی ارتباط برقرار است. شبکههای باز در برابر حمله هکرها آسیبپذیرترند. اما شبکه های خصوصی و شبکه های خصوصی مجازی به کاربران خاصی، دسترسی میدهد و در دسترسیها محدودیت ایجاد میکند.
شبکه های خصوصی از آی پی خصوصی استفاده میکنند تا کانالهای ارتباطی ایزوله بین سرورها با همان رِنج ایجاد کنند. در نتیجه چند سرور با یک اکانت، اطلاعات و دیتا را بدون اینکه در معرض فضای عمومی قرار گیرند، جابجا میکنند. با استفاده از virtual private networks وقتی قصد اتصال به سرور ریموت را دارید مثل این است که به صورت لوکال این کار را میکنید.
در ادامه نکات مربوط به مدیریت کاربران سرور را برمیشماریم.
۶- نظارت بر لاگینهای کاربر
با استفاده از نرم افزارهای جلوگیری از دسترسی غیرمجاز، بر تلاش های کاربر برای لاگین نظارت کنید. این کار به عنوان راهکاری برای بالا بردن امنیت سرور در برابر حمله Brute Force است. تئوری اصلی در این حمله این است که وقتی تعداد خاصی تلاش برای حدس زدن پسورد انجام گیرد، در نهایت دسترسی کاربر قطع میشود.
نرم افزارهای Intrusion prevention تمام فایلهای لاگ را بازبینی میکنند و تلاشهای مشکوک برای لاگین را تشخیص میدهند. اگر تعداد تلاشها از تعداد عادی فراتر رود، نرم افزار، آی پی آدرس را برای مدت کوتاه و یا برای همیشه بلاک میکند.
۷- مدیریت کاربران
هر سرور یک کاربر روت دارد که میتواند هر دستوری را اجرا کند. پس مراقب باشید این قدرت به دست فرد غیرمجاز نیفتد. پیشنهاد میشود لاگین به روت را در SSH غیرفعال کنید.
کاربر روت به عنوان قدرتمندترین کاربر همواره مورد توجه هکرها است و شما با غیرفعال کردن این کاربر، هکر را با درهای بسته مواجه میکنید در نتیجه سرورتان در برابر حملات در امان است.
برای اینکه مطمئن شوید که کاربر روت مورد سواستفاده نیست بهتر است اکانت کاربری محدودی ایجاد کنید که تمام قدرت روت را نداشته باشد اما بتوانید اغلب کارهای ادمینی را با آن انجام دهید و فقط در مواقع ضروری از کاربر روت استفاده کنید.
در ادامه به نکات امنیت پسورد سرور میپردازیم.
۸- پسورد سرور چگونه باشد؟
نکات مهم در انتخاب پسورد سرور عبارتند از:
- از پسورد پیشفرض و پسورد خالی استفاده نکنید.
- پسورد حتما باید دارای پیچیدگی و طول مناسبی باشد.
- از پالیسی یا سیاست Lockout استفاده کنید.
- پسوردها را با استفاده از رمزگذاری قابل بازگشت – reversible encryption ذخیره نکنید.
- پسورد ها را روی کاغذ ننویسید.
- احراز هویت دو مرحلهای تعیین کنید.
- برای نشستهای غیرفعال، زمان تایم اوت مشخص کنید.
- واضح است که اطلاعات شخصی مثل تاریخ تولد و شهر و هر چیزی که شما را به کاربر مربوط کند را برای پسورد در نظر نگیرید. چون حدس آن مخصوصا برای کسانی که شما را میشناسند راحت است.
- از سری کاراکترهای تکراری استفاده نکنید.
- از کلمات معنی دارد (کلماتی که در دیکشنری هست) استفاده نکنید.
- از یک پسورد برای چند اکانت استفاده نکنید. اگر یک اکانت هک شود احتمال هک شدن باقی اکانتها هم بالا است.
- برای پیگیری پسوردها از برنامه مدیر پسورد مانند KeePass استفاده کنید.
- تاریخ انقضا برای پسورد تنظیم کنید. بسته به سطح امنیتی لازم، باید چند هفته یا چند ماه تعیین کنید.
۹- استفاده از Passphrases برای پسورد سرور
برای افزایش امنیت سرور بهتر است از عبارت ورود به جای کلمه ورود استفاده کنید. تفاوت اصلی بین این دو این است که عبارت ورود بلندتر است و بین کلمات جای خالی قرار دارد یعنی در واقع جمله است. مثلا Ilove!ToEatPizzaAt24425GolhaSt. این عبارت ورود شامل حروف بزرگ و کوچک و عدد و کاراکترهای خاص است و البته بلندتر از پسورد. همچنین به خاطر سپردن عبارت ورود راحتتر است از یک سری حروف بیربط که در کنار هم قرار دارند.
از طرفی چون عبارت ورود دارای ۴۹ کاراکتر است، هک کردن آن بسیار سختتر است.
در ادامه نکات تکمیلی در تامین و بالا بردن امنیت سرور ارایه میدهیم.
۱۰- داشتن برنامه منظم آپدیت و آپگرید سرور
نرم افزارهای سرور را مرتب آپدیت کنید. این کار مرحله مهمی در تامین امنیت سرور در برابر هک است. اگر آپدیت نگنید، نقاط ضعفی که در نرم افزارهایی که آپدیت نشدهاند، وجود دارد و کشف شده، شانس هکرها را برای استفاده از آنها بالا میبرد. با آپدیت نکردن، راه هکر را برای صدمه زدن به سیستم تان باز میگذارید. اگر همه چیز را به روز رسانی کنید اولین خط دفاعی را ایجاد کردهاید.
آپدیت خودکار راهی تضمینی است تا آپدیت را فراموش نکنیم. البته اعمال تغییرات توسط خود سیستم میتواند خطرناک هم باشد. بهتر است محیط تستی فراهم کنید تا چگونگی اجرای آپدیت را بررسی کنید سپس روی کل سیستم اعمال کنید.
به طور مرتب کنترل پنل سرور، سیستمهای مدیریت محتوا و پلاگینهای آن را آپدیت کنید. هر وصله امنیتی جدیدی که عرضه میشود را استفاده کنید تا مشکلات امنیتی موجود را برطرف کند.
۱۱- تمام سرویسهای غیرضروری را غیرفعال یا خاموش کنید.
با غیرفعال کردن تمام سرویسهای غیر ضروری، زمینه حمله so-called را کاهش میدهید. این اصطلاح امنیت سایبری یعنی نصب و نگهداری حداقل ملزومات اجرای سرویس. توصیه میشود که فقط پورتهای شبکه که سیستم عامل و اجزای نصب شده استفاده میکنند را فعال کنید. هرچه پورت فعال سیستم، کمتر باشد بهتر است.
در مبحث امنیت سرور ویندوز به این نکته توجه کنید که سرور ویندوز فقط باید اجزای مورد نیاز را داشته باشد. بالا بردن امنیت ویندوز سرور هم از جمله نکاتی است که باید به آن توجه ویژه کنید و در مقاله “چک لیست امنیتی ویندوز سرور چیست؟” میتوانید درباره آن بخوانید.
در مبحث امنیت سرور های لینوکس باید دقت کنید که سرور لینوکس باید حداقل نصبها را به همراه بستههای واقعا ضروری داشته باشد. اغلب لینوکس کارها از اتصالات وروردی روی اینترنت استفاده میکنند پس باید فایروال را کانفیگ کنید تا فقط روی پورتهای خاصی اتصال برقرار شود و دیگر اتصالات غیرضروری حذف شود.
هنگام نصب نرم افزارها توجه کنید که فقط موارد موردنیازتان را در نظر بگیرید همچنین auto-started را روی سیستمتان بررسی کنید که آیا میخواهید باشد یا نه.
۱۲- اطلاعات سرور را Hide کنید.
تا حد امکان اطلاعات مربوط به زیرساخت را به حداقل برسانید. هرچه درباره سرور کمتر اطلاعات داده شود بهتر است. بهتر است شماره نسخه هر نرم افزاری که روی سرور نصب است را را هم مخفی کنید. به طور پیشفرض حتی تاریخ آپدیت هم ارایه میشود و نقطه ضعف و راهی خواهد بود برای حمله هکرها. برای حذف اطلاعات باید اطلاعات را از هدر HTTP در greeting banner نرم افزار پاک کنید.
۱۳- از سیستمهای intrusion detection استفاده کنید.
برای تشخیص هرگونه فعالیت غیرمجاز از IDS یا intrusion detection system به عنوان مثال Sopho استفاده کنید تا تمام پروسسهای در حال اجرا روی سرور را مانیتور کنید. امکان تنظیم آن به صورت روزانه و اسکنهای اتوماتیک دورهای و یا اجرای دستی آن وجود دارد.
ویژگی Chassis Intruction Detection در تامین امنیت سرور به صورت فیزیکی، این امکان را فراهم میکند که اگر کسی بدون اجازه و مجوز، اقدام به باز کردن درب کیس و جابجا کردن قطعات کند، ادمین شبکه هشدارهایی دریافت کند. این ویژگی در سرورهای hp وجود دارد. برای خرید سرور hp روی لینک بزنید.
برای دانلود بررسی امنیت در سرورهای HPE Proliant Gen10 روی لینک زیر کلیک کنید:
دانلود فایل بررسی امنیت در سرورهای HPE Proliant Gen10
۱۴- فایروال تنظیم کنید.
تامین امنیت سرور با کنترل و محدود کردن دسترسیها امکانپذیر است. به طور کلی سه نوع سرویس روی سرور ران است سرویس عمومی، سرویس خصوصی و سرویس داخلی. سرویس عمومی معمولا روی سرور وب اجرا میشود و باید اجازه دسترسی به وب را بدهیم. سرویسهای خصوصی مثلا با دیتابیس در ارتباط است و کاربران مختلف با سطح دسترسی مختلف روی سرور تنظیم میشود. سرویسهای داخلی هرگز نباید در معرض اینترنت و دنیای بیرون باشند و ارتباط فقط بین سرور و ارتباطات لوکال برقرار است.
نقش فایروالها این است که دسترسیها را فیلتر و محدود میکند. این محدود کردن بر اساس مجاز بودن یا نبودن کاربر در استفاده از سرویس انجام میشود. فایروال را برای محدود کردن تمام سرویسها به جز آنهایی که برای سرور ضروری است پیکربندی کنید.
۱۵- از سرور بکاپ تهیه کنید.
همواره از سرور و اطلاعات آن بکاپ تهیه کنید برای این کار راهکارهای مختلفی وجود دارد مثلا تهیه بکاپ آفلاین یا استفاده از فضای ابری. میتوانید بکاپ را به طور اتوماتیک یا دستی تهیه کنید. پس از تهیه بکاپ حتما آنها را تست کنید تا امکان ریکاوری آنها را بررسی نمایید. مطالعه محتوای “بهترین روش های بک آپ گیری از سرور و شبکه” پیشنهاد میشود.
۱۶- محیطهای چندسروری ایجاد کنید.
یکی از بهترین راهکارهای افزایش امنیت سرور، ایزوله کردن با استفاده از سرور مجازی است. امنیت در سرور مجازی اختصاصی یا VPS که با دیگر سرورها هیچ نقطه اشتراکی ندارند بسیار بالاتر است. سادهترین و امنترین و البته گرانترین راه تامین امنیت سرور استفاده از سرور VPS است. جداسازی سرور دیتابیس و سرور وب اپلیکیشن راهکار استاندارد امنیتی است. سرور دیتابیس مستقل، امنیت دیتای حساس و فایلهای سیستمی که چگونگی دسترسی به اکانت ادمین را مدیریت میکنند تامین میکند و جلوی هکر را میگیرد. و از طرفی ایزوله کردن به ادمین امکان کانفیگ امنیت وب اپلیکیشن را به صورت جداگانه فراهم میکند و با تنظیمات فایروالهای وب اپلیکیشن، هک را به حداقل میرساند. اگر جداسازی کامل سرور برایتان مقدور نیست از ماشینهای مجازی و تامین امنیت سرور مجازی استفاده کنید. در محتوای “مجازی سازی سرور چیست و چگونه کار میکند؟” درباره سرور مجازی بیشتر بخوانید.