هاست سرور ایران | خرید هاست پرسرعت

امنیت سرور مجازی و اختصاصی لینوکس

امنیت سرور مجازی و اختصاصی لینوکس

مدیریت سرور لینوکسی فرصت مناسبی برای امتحان موارد جدید و اطلاع از قدرت و انعطاف‌پذیری یک پلتفرم عظیم استبا این وجود، مدیران سرورهای لینوکس باید تمامی احتیاط‌ هایی که برای سایر سیستم‌های متصل به شبکه انجام می‌شود را برای این پلتفرم نیز انجام دهند تا سرور لینوکسی مطمئن و امن باشد.در حال حاضر بحث‌های بسیاری عموما با عنوان “امنیت لینوکس“ انجام شده است و نظریات بسیاری در مورد سطح امنیتی مناسب برای سرورهای لینوکسی بیان شده است.نکته اصلی که باید مورد توجه قرار دهید این است که شما باید خودتان تصمیم بگیرید که چه نوع محافظت امنیتی ضروری می‌باشدقبل از اتخاذ تصمیم در این خصوص باید از خطرات احتمالی آگاه باشید و سپس با توجه به برقراری تعادل بین امنیت و کارآیی تصمیم بگیرید.در این مقاله از هاست سرور ایران قصد داریم به موضوع امنیت سرور مجازی و اختصاصی لینوکس بپردازیم. موارد ذکر شده کامل نمی‌باشند و قطعاً تمامی پیکربندی‌های لازم را پوشش نمی‌دهند اما می‌توانند شما را به منابع بیشتری سوق داده و مسیر رسیدن به سطحی مطلوب از امنیت را برای شما هموار کنند.

جلوگیری از نفوذ با استفاده از فایروال

 

امنیت سرور مجازی و اختصاصی لینوکس

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

IPTables

شاید شناخته‌شده‌ترین راهکار فایروالی در لینوکس IPTables باشد. IPTables ابزار دیگری برای مدیریت فایروال netfilter استاین فایروال مدت زمان زیادی است که در دسترس بوده و تحت بررسی‌های شدید برای اثبات امنیت قرار گرفته‌ استدر حال حاضر یک نسخه از IPTables با عنوان ip6tables وجود دارد که برای اعمال محدودیت در شبکه‌هایی با ساختار IPv6 مورد استفاده قرار می‌گیرد.احتمالاً در طول مدیریت سرور‌های لینوکسی با iptables مواجه خواهید‌ شدهرچند که سینتکس این فایروال در محیط grasp می‌تواند برای بار اول پیچیده باشد اما در عوض قدرتی باورنکردنی دارد و می‌تواند با بسیاری از قوانین انعطاف‌پذیر پیکربندی شود.

IP6Tables

همانطور که ذکر شد، IPTables برای مدیریت جداولی که شامل قوانین IPv4 می‌باشند استفاده می‌شوداما اگر IPV6 را بر روی سرورتان فعال کرده‌اید، می‌بایست به ابزار معادل برای IPv6 یعنی IP6Tables نیز توجه داشته باشید.فایروال netfilter که در هسته لینوکس گنجانده شده است IPv4 و IPv6 را کاملاً مستقل از یکدیگر در نظر می‌گیرداین دو نسخه IP در جداول متفاوتی نگهداری می‌شوندقوانینی که سرنوشت یک بسته (Packet) را مشخص می‌کند، توسط نسخه پروتکل IP مورد استفاده، تعیین می‌شوند.این بدان معناست که هنگامی که IP نسخه ۶ فعال می‌شود، قوانینی که برای اداره‌ کردن سرور مورد استفاده قرار می‌گیرد، متفاوت با قوانین قبل می‌باشد. Ip6Tables هم همان دستورات Iptables را شامل می‌شود، بنابراین اجرای همان محدودیت‌ها در جداول ورژن ۶ نیز صورت می‌پذیردبا وجود این برای کارکرد صحیح باید مطمئن باشید که ترافیک دریافتی مربوط به IPv6 شماست.

NFTables

اگرچه IPTables مدت زمان زیادی است که به عنوان یک فایروال استاندارد در محیط‌ های لینوکسی مورد استفاده قرار می‌گیرد، اخیراً فایروال جدیدی با عنوان nftables نیز به هسته سیستم عامل لینوکس اضافه شده است. NFTables نیز توسط تیم گسترش‌ دهنده IPTables ساخته شده است و به نظر می‌رسد در نهایت جایگزین آن خواهد شد.فایروال NFTables در تلاش است تا سینتکس‌های قابل خواندن بیشتری نسبت به IPTablse پیاده‌سازی کند و پشتیبانی از IPv4 و IPv6 را با ابزار یکسانی انجام دهداگرچه در حال حاضر اکثر توزیع‌های لینوکسی این فایروال را در هسته خود ندارند، اما به زودی استفاده از آن متداول خواهد شد و بهتر است که با کاربرد‌های آن آشنا شوید.

استفاده از SSH برای برقراری اتصال از راه دور امن برای امنیت سرور مجازی و اختصاصی لینوکس

هنگامی که برای مدیریت یک سرور دسترسی فیزیکی به سرور نداشته باشید، مدیریت سرور را می‌بایست از راه دور انجام دهیدپروتکل SSH که مخفف عبارت Secure Shell به معنای پوسته امن می‌باشد استانداردی برای برقراری اتصال از راه دور در سرور‌های لینوکسی است.SSH یک رمزگذاری متناوب ایجاد می‌کندبدین معنا که ترافیک نامطمئن را در قالب یک ارتباط امن هدایت می‌کنداساساً اگر دسترسی به ارتباط فیزیکی با سرور ندارید، SSH راهکار اصلی برای تعامل با سرور است.اگرچه این پروتکل به خودی خود بسیار امن است و تحت تحقیقات وسیع قرار گرفته و کدهای آن بارها مرور شده‌اند، اما پیکربندی شما نیز می‌تواند در بهبود و یا افت کیفیت امنیت آن نقش داشته باشددر ادامه در این خصوص بحث خواهیم کرد.

کلمه عبور  و کلید SSH

SSH، مدل احراز هویت انعطاف‌پذیری دارد که به شما امکان ورود به سیستم به روش‌های مختلف را می‌دهددو نمونه از متداول‌ترین روش‌های احراز هویت و اتصال به سرور از طریق SSH، کلمه عبور و کلید SSH ،SSH -Key می‌باشند.اگرچه استفاده از کلمه عبور احتمالاً مرسوم‌ترین روش برای اکثر کاربران باشد، با این حال احراز هویت کلمه عبور امنیت کمتری نسبت به کلید SSH دارددر استفاده از کلمه عبور همواره این امکان وجود دارد که با استفاده از ترکیبات مختلف کاراکتر پسورد حدس زده شوداین مورد که تحت عنوان حملات Brute-Forcing شناخته می‌شود می‌تواند به صورت برنامه‌ریزی شده توسط ابزارهای جدید انجام شود.

از سوی دیگر کلید SSH با ایجاد یک جفت کلید امن کار می‌کندیک کلید عمومی که به عنوان نمونه به منظور شناسایی کاربر ایجاد شده استاین کلید می‌تواند بدون مشکل در اختیار دیگران قرار داده شود چرا که جز برای شناسایی کاربر و مطابقت با کلید خصوصی کاربردی ندارداما کلید خصوصی باید دور از دسترس دیگران قرار داده شوداین کلید برای تأیید تست کلید عمومی مورد استفاده قرار می‌گیرد.شما می‌توانید کلید عمومی SSH را درون سرور اضافه کنید تا با بررسی مطابقت با کلید خصوصی، دسترسی‌تان به سرور فراهم شوداین کلیدها به حدی پیچیده هستند که حتی حملات Brute-Forcing نیز قادر به رمزگشایی آن‌ها نیستندعلاوه بر این شما می‌توانید از عبارات امنیتی طولانی در کلیدتان استفاده کنید تا امنیت شما افزایش یابد.

پیاده‌سازی fail2ban برای مسدود کردن آدرس آی‌پی‌های مختلف

یکی از اقداماتی که می‌تواند امنیت عمومی پیکربندی SSH را بهبود ببخشد پیاده‌سازی ابزاری مثل fail2ban است. Fail2ban سرویسی است که فایل‌های گزارش (Log Files) را مانیتور می‌کند و اگر ترافیک IP کاربری که از راه دور به سیستم متصل نشده است مجاز نباشد، آنرا موقتاً مسدود می‌کند.راه‌اندازی اصولی fail2ban این امکان را برای شما فراهم می‌کند که کامپیوترهایی که مدام در تلاش ناموفق برای ورود به سیستم هستند را شناسایی کرده و با وضع قوانینی در فایروال ترافیک آن‌ها را برای مدت زمان مشخصی مسدود نمایداین فرآیند راه‌حل آسانی برای ممانعت از حملات Brute-Forcing می‌باشد، چرا که سیستم‌های مهاجم پس از هر بار مسدودی مدت زمانی را اجبارا بدون حمله طی می‌کنند و همین مورد برای نا امید کردن حمله کننده brute force کافیستراهنمایی‌های مشابهی برای توزیع‌های CentOS و Debian نیز وجود دارد.

پیاده‌سازی یک سیستم تشخیص نفوذ برای شناسایی ورود غیرمجاز

یکی از ملاحظات مهم که همواره باید مد نظر داشته باشید توسعه یک استراتژی برای شناسایی مصرف غیرمجاز استممکن است شما برخی از اقدام‌های پیشگیرانه را انجام داده باشید، اما باید بررسی کنید که اقدام‌های شما باعث شکست عامل مخرب بوده است یا خیر.سیستم تشخیص نفوذ که با عنوان IDS نیز شناخته می‌شود پیکربندی و جزئیات فایل‌ها را هنگامی که در وضعیت مطلوبی قرار دارند فهرست می‌کندسپس با مقایسه اطلاعات ذخیره شده و اطللاعات لحظه‌ای از تغییر فایل‌ها یا ویرایش تنظیمات آگاهی پیدا می‌کند.چندین سیستم تشخیص نفوذ وجود دارد که در ادامه به معرفی برخی از آن‌ها خواهیم پرداخت:

Tripwire

یکی از شناخته‌شده‌ترین IDSها Tripwire می‌باشد. Tripwire مجموعه‌ای از فایل‌های سیستمی را گردآوری می‌کند و توسط مجموعه‌ای از کلیدها از پیکربندی فایل‌ها محافظت می‌کندهنگامی که در جزئیات پیکربندی انتخاب شده مغایرتی ایجاد شود، متعاقباً هرگونه تغییر بر روی فایل‌های مانیتور شده را اطلاع‌رسانی می‌کند.Tripwire بسیار انعطاف‌پدیر استشما حتی می‌توانید ظاهر این برنامه‌ را به شکل دلخواه خود دربیاوریدهمچنین می‌توانید آن را طوری تنظیم نمایید که در بازه‌های زمانی منظم اجرا شود، حتی می‌توانید از نرم‌افزار بخواهید که شما را از فعالیت‌های غیرعادی توسط ایمیل آگاه کند.

RKHunter

اگرچه RKHunter از لحاظ فنی یک سیستم تشخیص نفوذ نیست، اما بسیاری از اصول تشخیص نفوذ مبتنی بر میزبانی (Host-based) را به منظورشناسایی روت کیت‌ها (مجموعه‌ای از نرم‌افزارها که کنترل یک سیستم رایانه‌ای را به دست می‌گیرندو بدافزارها را در بر‌می‌گیرد.هرچند در دنیای لینوکس ویروس‌های کمی وجود دارند اما بدافزارها و روت‌کیت‌هایی در اطراف شما وجود دارند که می‌توانند اجازه شما برای دستیابی به سیستم را به منظور سوء‌استفاده، بگیرند. RKHunter لیستی از موارد شناخته‌شده سوء‌استفاده را دانلود می‌کند و سیستم شما را مطابق با لیست دانلود شده چک می‌کندهمچنین اگر تنظیمات نامطمئنی در اپلیکیشنی وجود داشته باشد شما را مطلع می‌سازد.

توصیه‌های عمومی امنیت سرور مجازی و اختصاصی لینوکس

هرچند ابزارها و پیکربندی‌های ذکر شده می‌توانند در افزایش امنیت بخش‌های مختلف سیستم شما کارآمد باشد، اما باید توجه داشته باشید که امنیت تنها شامل پیاده‌سازی ابزارها و سپس رهاسازی آن‌ها نیستیک امنیت مطمئن خودش را در قالب یک تفکر مطمئن آشکار می‌کند و زمانی حاصل می‌شود که شما سخت کوشی و بررسی موشکافانه و نسبت به فرآیند ایمن‌سازی ممارست و پیگیری داشته باشید.در این‌جا برخی از قوانین کلی که می‌توانند شما را در یافتن جهت درست استفاده از سیستم به صورت امن راهنمایی کنند را ذکر می‌کنیم:

نسبت به بروزرسانی‌ها توجه داشته باشید و به طور منظم آن‌ها را انجام دهید

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

هنگام دانلود از منابع غیرسمی مراقب باشید برای امنیت سرور مجازی و اختصاصی لینوکس

بسیاری از کاربران نرم‌افزارهای موجود را از مخازن رسمی توزیع لینوکس‌شان دریافت می‌کنند و بسیاری از توزیع‌ها نیز پکیج‌های علامت‌دار ارائه می‌دهندکاربران می‌توانند به نگه‌دارنده‌های توزیع اعتماد کنند و توجه‌شان را به امنیت نرم‌افزارهایی که از منابع غیر رسمی به دست می‌آیند معطوف کنند.ممکن است به پکیج‌هایی که مربوط به توزیع لینوکسی‌تان می‌باشد و نرم‌افزارهایی که در سایت رسمی یک پروژه می‌باشند اطمینان داشته باشید اما آگاه باشید اگر بخش‌های مختلف نرم‌افزار را بررسی نکنید ممکن است با خطر مواجه شویدبسیاری ازکاربران بر این باورند که این یک خطر غیرقابل گریز است.

به عبارت دیگر نرم‌افزارها از PPAها (مخفف عبارت Personal Package Archive به معنای بسته آرشیو شخصیو مخازن تصادفی که توسط افراد یا سازمان‌هایی که شما نمی‌شناسید به دست شما می‌رسند که می‌تواند با خطرات جدی همراه باشندهیچ قانونی وضع نشده است و هرچند احتمال دارد اکثر نرم‌افزارهای غیررسمی کاملاً مطمئن باشند اما باید بدانید شما همواره در خطر هستید.بررسی کنید که آیا می‌توانید توجیهی برای اعتماد به این منابع داشته باشید؟ اگر نتوانستید همواره خطرات احتمالی را مد نظر داشته باشید.

سرویس‌هایتان را بشناسید و آن‌ها را محدود کنید

اگرچه ممکن است هدف کلی از راه‌اندازی یک سرور فراهم‌کردن سرویس‌هایی باشد که هر زمان بتوانید به آن‌ها دسترسی داشته باشید اما سرویس‌های در حال اجرا را تنها به مواردی محدود کنید که به آن‌ها احتیاج دارید و از آن‌ها استفاده می‌کنیددر نظر داشته باشید که فعال کردن هر سرویس می‌تواند برای شما یک تهدید بالقوه باشد و باید تا جایی که می‌توانید تهدید‌ها را از بین ببرید.این بدان معناست که اگر یک سرور بدون مانیتور راه‌اندازی کرده‌اید و هیچ برنامه گرافیکی را اجرا نمی‌کند باید نرم‌افزار نمایش‌گر سرور را حذف کنیداین مورد می‌تواند برای سایر بخش‌ها نیز انجام شود، مثلاً اگر پرینتر ندارید سرویس ”lp” را غیرفعال کنید و اگر شبکه ویندوزی ندارید سرویس ”samba” را از کار بیندازید.شما می‌توانید تمامی سرویس‌های در حال اجرا بر روی سرور را شناسایی کنیددر بخش”تهیه یک لیست از ملزومات” این مقاله می‌توانید از چگونگی شناسایی سرویس‌های فعال مطلع شوید.

به جای FTP از SFTP استفاده کنید برای امنیت سرور مجازی و اختصاصی لینوکس

امنیت سرور مجازی و اختصاصی لینوکس

شاید برای بسیاری از افراد کنار آمدن با این قضیه کمی سخت باشد اما پروتکل FTP ذاتاً یک پروتکل نا امن است به گونه‌ای که تمامی احراز هویت‌ها در قالب یک متن ساده ارسال می‌شوندبدین معنا که هرکس بتواند ارتباط بین کامپیوتر شما و سرور را مانیتور کند می‌تواند جزئیات ورود را هم ببیند.تنها در موارد معدودی استفاده از FTP می‌تواند بدون مشکل باشدبه عنوان مثال اگر می‌خواهید یک سرویس عمومی دانلود که فقط قابلیت خواند‌ه‌شدن (Read-Only) دارد راه‌اندازی کنید، FTP می‌تواند انتخاب مناسبی باشدنمونه دیگری که استفاده از FTP مناسب است هنگامی است که شما می‌خواهید بین دو کامپیوتر که تحت یک شبکه فایروالیNAT می‌باشند فایل جابجا کنید و مطمئن هستید که شبکه شما کاملاً امن می‌باشد.

در اکثر موارد دیگر شما باید یک جایگزین مطمئن‌تر برای FTP پیدا کنیدیک جایگزین مناسب برای FTP که تحت پروتکل SSH فعالیت می‌کند SFTP می‌باشد که عملکردی بسیار شبیه به FTP دارد اما اساس کار آن تحت پروتکل امن SSH است.با استفاده از SFTP شما می‌توانید دقیقاً مثل FTP فایل‌هایتان را بین کامپیوتر شخصی و سرور جابجا کنیدبا این تفاوت که هیچ خطر امنیتی حین انتقال شما را تهدید نمی‌کنداکثر نرم‌افزارهای جدید FTP با سرورهای SFTP نیز می‌توانند تبادل اطلاعات داشته باشند.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *