امنیت سرور مجازی و اختصاصی لینوکس (بخش چهارم )

مهر ۲۲, ۱۳۹۷

امنیت سرور مجازی و اختصاصی لینوکس (بخش چهارم )

امنیت سرور مجازی

در بخش چهارم به ادامه ی راه های  امنیت در محیط سرور مجازی و سرور اختصاصی لینوکس می پردازیم.

امنیت سرور مجازی و اختصاصی لینوکس (بخش سوم )

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

هنگام دانلود از منابع غیرسمی مراقب باشید

بسیاری از کاربران نرم‌افزارهای موجود را , از مخازن رسمی توزیع لینوکس‌شان دریافت می‌کنند و بسیاری از توزیع‌ها نیز پکیج‌های علامت‌دار ارائه می‌دهند.

کاربران می‌توانند به نگه‌دارنده‌های توزیع اعتماد کنند.

 ممکن است به پکیج‌هایی که مربوط به توزیع لینوکسی‌تان می‌باشد و نرم‌افزارهایی که در سایت رسمی یک پروژه می‌باشند اطمینان داشته باشید .

اما آگاه باشید اگر بخش‌های مختلف نرم‌افزار را بررسی نکنید ممکن است با خطر مواجه شوید.

بسیاری ازکاربران بر این باورند که این یک خطر غیرقابل گریز است.

به عبارت دیگر نرم‌افزارها از PPAها (مخفف عبارت Personal Package Archive به معنای بسته آرشیو شخصی) و مخازن تصادفی که توسط سازمان‌هایی که شما نمی‌شناسید به دست شما می‌رسند که می‌تواند با خطرات جدی همراه باشند.

 احتمال دارد اکثر نرم‌افزارهای غیررسمی کاملاً مطمئن باشند اما باید بدانید شما همواره در خطر هستید.

بررسی کنید که آیا می‌توانید توجیهی برای اعتماد به این منابع داشته باشید؟ اگر نتوانستید همواره خطرات احتمالی را مد نظر داشته باشید.

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

اگرچه ممکن است هدف کلی از راه‌اندازی یک سرور فراهم‌کردن سرویس‌هایی باشد که هر زمان بتوانید به آن‌ها دسترسی داشته باشید اما سرویس‌های در حال اجرا را تنها به مواردی محدود کنید که به آن‌ها احتیاج دارید و از آن‌ها استفاده می‌کنید.

در نظر داشته باشید که فعال کردن هر سرویس می‌تواند برای شما یک تهدید بالقوه باشد و باید تا جایی که می‌توانید تهدید‌ها را از بین ببرید.

این بدان معناست که اگر یک سرور بدون مانیتور راه‌اندازی کرده‌اید و هیچ برنامه گرافیکی را اجرا نمی‌کند

باید نرم‌افزار نمایش‌گر سرور را حذف کنید.

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

شما می‌توانید تمامی سرویس‌های در حال اجرا بر روی سرور را شناسایی کنید.

در بخش”تهیه یک لیست از ملزومات” این مقاله می‌توانید از چگونگی شناسایی سرویس‌های فعال مطلع شوید.

به جای FTP از SFTP استفاده کنید

پروتکل FTP ذاتاً یک پروتکل نا امن است به گونه‌ای که تمامی احراز هویت‌ها در قالب یک متن ساده ارسال می‌شوند.

بدین معنا که هرکس بتواند ارتباط بین کامپیوتر شما و سرور را مانیتور کند می‌تواند جزئیات ورود را هم ببیند.

تنها در موارد معدودی استفاده از FTP می‌تواند بدون مشکل باشد.

به عنوان مثال اگر می‌خواهید یک سرویس عمومی دانلود که فقط قابلیت خواند‌ه‌شدن (Read-Only) دارد راه‌اندازی کنید، FTP می‌تواند انتخاب مناسبی باشد.

نمونه دیگری که استفاده از FTP مناسب است :

هنگامی است که شما می‌خواهید بین دو کامپیوتر که تحت یک شبکه فایروالیNAT می‌باشند فایل جابجا کنید و مطمئن هستید که شبکه شما کاملاً امن می‌باشد.

 یک جایگزین مناسب برای FTP که تحت پروتکل SSH فعالیت می‌کند SFTP می‌باشد . عملکردی بسیار شبیه به FTP دارد اما اساس کار آن تحت پروتکل امن SSH است.

با استفاده از SFTP شما می‌توانید دقیقاً مثل FTP فایل‌هایتان را بین کامپیوتر شخصی و سرور جابجا کنید.

با این تفاوت که هیچ خطر امنیتی حین انتقال شما را تهدید نمی‌کند.

اکثر نرم‌افزارهای جدید FTP با سرورهای SFTP نیز می‌توانند تبادل اطلاعات داشته باشند.

پیاده‌سازی سیاست‌های امنیتی کاربری معقول

در بحث مدیریت سرور مراحلی وجود دارد که در صورت انجام می‌توانید امنیت سرور را بالا ببرید.

اولین پیشنهاد این است که دسترسی ورود به سیستم توسط root (بالاترین سطح دسترسی) را غیرفعال کنید.

از آنجایی که کاربر root در تمامی سیستم‌های Posix شکل فعال می‌باشد و تمامی اختیارات سیستم را نیز در اختیار دارد یک هدف جذاب برای حمله‌کنندگان محسوب می‌شود.

اگر در سیستم‌تان دسترسی sudo را پیکربندی کرده باشید یا کارکردن با دستور su برایتان راحت باشد.

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

شما می‌توانید توسط SSH Deamon (نوعی پیکربندی SSH که امنیت را افزایش می‌دهد.

دسترسی از راه دور root یا دسترسی‌های محلی سرور را غیرفعال کنید.

شما می‌توانید این محدودیت‌ها را در فایل /etc/securitty اعمال نمایید.

همچنین می‌توانید shell را برای کاربران root غیرفعال کنید تا کاربر root دسترسی به shell نداشته باشد.

قوانینی برای Ram تعیین نمایید که ورود کاربران root به سیستم را با محدودیت مواجه کند.

راهکار مناسب دیگری که می‌توان بر روی اکانت‌های کاربری پیاده کرد این است که برای هر کاربر و سرویس یک اکانت منحصر به فرد ایجاد کرد.

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

این مورد از اهمیت بالایی برخوردار است، چرا که اگر کاربر یا سرویس در معرض خطر قرار بگیرند بر روی سایر بخش‌ها تأثیری ندارد .

حمله‌کننده نمی‌تواند به بخش‌های دیگری از سیستم دسترسی داشته باشد.

این روش به شما کمک می‌کند تا مشکلات را در محدوده‌ای خاص حبس کنید و از گسترش آن‌ها جلوگیری نمایید.

علاوه بر موارد ذکر شده در بالا لازم است که اکانت‌هایی که وجودشان ضرورتی ندارد را غیرفعال نمایید.

این مورد ممکن است وقتی که شما یک نرم‌افزار را حذف می‌کنید اتفاق بیفتد یا وقتی که کاربری مدت زمان زیادی است که دسترسی به سیستم نداشته است.

به تنظیمات مجوزها توجه داشته باشید

مجوزهای فایل و دایرکتوری منبع قدرتمندی برای محدودسازی کاربران می‌باشند.

یافتن تعادل مناسب مجوزها برای شما در عین اینکه علاوه بر امکان رفع نیازهای شما باعث ایجاد خطر توسط خودتان نشود ممکن است کمی دشوار باشد و برای انجام درست این مورد لازم است که کاملاً توجه‌تان را بر روی هر مرحله از کار متمرکز نمایید.

ایجاد تنظیمات صحیح umask (ویژگی umask مجوزهای پیش‌فرض برای فایل‌ها و پوشه‌های جدید را تعریف می‌کند) می‌تواند قدم موثری در برقراری مجوزهای مورد نیاز باشد.