چه راهکارهایی برای افزایش امنیت سرور لینوکس وجود دارد؟ سرور لینوکس به سروری گفته میشود که بر روی آن یکی از توزیعهای سیستم عامل لینوکس نصب شده است. این سرور را میتوان نوعی رایانه همیشه متصل به اینترنت دانست که دارای نوع خاصی از نرم افزار و سخت افزار است. اگر شما هم از سرور لینوکس استفاده میکنید، قطعا افزایش امنیت آن یکی از دغدغههایتان است. اگرچه یکی از اصلیترین دلایل استقبال زیاد افراد از سرورهای لینوکس، امنیت بالای آنهاست اما راهکارهایی وجود دارد که با کمک آنها میتوانید این امنیت را به حداکثر میزان خود ارتقاء دهید.
اما چرا امنیت تا این اندازه در سرورهای لینوکس اهمیت دارد؟ از سرور لینوکس میتوان برای میزبانی وب، میل سرور، نگهداری فایل و… استفاده کرد. به همین خاطر بحث بالا بودن امنیت در این سرورها بسیار حائز اهمیت میشود. یکی از مزیتهای لینوکس متن باز بودن آن است. به همین خاطر باگهای امنیتی آن به راحتی شناسایی و برطرف میشوند. با توجه به اینکه ممکن است هکرها همیشه بتوانند راهی برای نفوذ به سرور و سیستم شما پیدا کنند، ضروری است که لایههای امنیتی سرور لینوکس را از چندین جهت تقویت کنید. در این مقاله به 13 مورد از کاربردیترین راهکارهای ممکن برای افزایش امنیت سرور لینوکس اشاره کردهایم.
راهکارهایی برای افزایش امنیت سرور لینوکس
از چه طریقهایی میتوانیم امنیت سرور لینوکس را ارتقاء دهیم؟ اگرچه یکی از اصلیترین ویژگیهای لینوکس امنیت بالای آن است، اما برای اینکه خیالتان از هر بابت راحت باشد این امکان را دارید که از طریق راهکارهایی امنیت این سرور را مطابق با نیازهای خود تنظیم کنید. از آنجایی که هکرها همیشه ممکن است راهی پیدا کنند، بد نیست این راهکارها را بدانید و با انجام آنها سعی کنید امنیت سرور لینوکس خود را به حداکثر میزان آن ارتقاء دهید. در ادامه 13 راهکار کاربردی را معرفی خواهیم کرد.
1. فعال کردن open_basedir
یکی از راهکارهای افزایش امنیت این سرور، فعال کردن یکی از سرویسهای php به نام open_basedir است. این سیستم نوعی ویژگی امنیتی در PHP است که سد راه هکرها میشود. با کمک open_basedir میتوان کاری کرد که دسترسی یک یوزر از طریق php صرفا محدود به همان یوزر باشد. به عبارتی زمانیکه یک هکر موفق شود به قسمتی از سرور نفوذ کند، در صورت فعال بودن این ویژگی دسترسی هکر به همان قسمت محدود شده و نمیتواند به دیگر قسمتهای سرور دسترسی پیدا کند.
2. کمک گرفتن از safe_mode
احتمالا با وضعیت سیف مود در تلفن همراه خود آشنا هستید. اما این قابلیت مختص گوشی موبایل نیست و برای سیستمهای عامل نیز در دسترس است. این حالت به منظور حذف برنامههای مخرب، ویروسها، پیدا کردن ایرادات نرم افزارها، بازگرداندن تنظیمات سیستم عامل و… طراحی شده است. به زبان سادهتر میتوان گفت سیف مود یک وضعیت از سیستم عامل است که در صورت فعال بودن آن، فقط فایلهای ضروری قابلیت اجرا دارند.
فعال بودن safe mode باعث میشود برنامههای مخرب اجازه اجرا نداشته باشند. اگر بر روی سرور لینوکس شما برنامه مخربی نصب شده باشد، با هر بار بالا آمدن ویندوز، این برنامه اجرا میشود. اغلب ویروسها و برنامههای مخربی که به قصد هک کردن سرور به سیستمها نفوذ میکنند، بهگونهای طراحی شدهاند که قادرند آنتی ویروسها را غیر فعال یا حذف کنند. بنابراین اگر برنامه مخربی به سرور راه یافته باشد، برای جلوگیری از اجرا شدن آن بهترین راهکار این است که ویندوز را بر روی حالت safe mode تنظیم کرده باشید.
3. غیر فعال کردن اجرای کد به صورت Remote
یکی از روشهایی که هکرها از آن برای رخنه به سیستمها استفاده میکنند، اجرای کد به صورت Remoteدر دسکتاپ سرویس است که اصطلاحا به آن Remote Desktop Services گفته میشود. یک هکر میتواند از این طریق هر کدی که میخواهد را در سیستم شما اجرا کند. به عنوان مثال میتواند برنامههای مخرب و دلخواه خود را بر روی سرور نصب کند و از این طریق از دادههای سرور مطلع شده و حتی آنها را تغییر دهد. برای افزایش امنیت سرور لینوکس بهتر است اقدام به غیر فعال کردن Remote Desktop Services کنید. بطور کلی غیر فعال سازی سرویسهایی که کارایی برای سیستم ندارند، امنیت آن را افزایش میدهد.
4. غیرفعال کردن display_error
Display error نوعی گزارش خطا در php است که برخی از برنامه نویسان با قصد مشاهده و مطلع شدن از خطاهای php اقدام به فعال کردن آن میکنند. به دلیل مسائل امنیتی بهتر است این سرویس غیر فعال باشد چراکه فعال بودن آن راه نفوذ به سرور را برای مهاجمهای غیر مجاز هموارتر میکند. بنابراین اگر به دنبال راهی برای ارتقای امنیت سرور لینوکس هستید، توصیه میکنیم این گزارش خطا را غیر فعال کرده و از راهکار دیگری برای مشاهده خطاهای php استفاده کنید.
5. محدودسازی سایز ورودی
برای افزایش امنیت لینوکس و جلوگیری از حملات تحت وب یکی از روشهایی که وجود دارد، محدود سازی سایز ورودی است. اما محدودسازی سایز ورودی به چه معناست؟ همانطور که احتمالا میدانید در زبان php و در متد post، دادهها درون درخواست HTTP به صورت مخفی در header قرار میگیرند.
ارسال کدهای مخرب در بخشهایی از سایت که بر روی متد post از کاربر ورودی میگیرد، یکی از روشهای هکرها برای نفوذ به سیستم است. در چنین شرایطی اگر در فایل کانفیگ اقدام به محدود سازی سایز ورودی کنید، میتوانید از ارسال این کدهای مخرب توسط مهاجمها جلوگیری کنید.
6. محدودسازی منابع
حملات dos که کوتاه شده عبارت Denial of Service attack است، به حمله محروم سازی از سرویس معروف است. این حملات توسط مهاجم یا هکرها صورت میگیرد. هدف از این حملات این است که خدمات سرورهای میزبان یک سایت به صورت موقتی یا دائمی تعلیق یا قطع شود. یکی از راهکارهایی که با کمک آن میتوان تا حدودی از این حملات در امان بود و امنیت سرور لینوکس را تضمین کرد، محدود سازی منابع است.
7. غیرفعال کردن برخی توابع
یکی دیگر از راهکارهای جلوگیری از حملات تحت وب غیر فعال کردن برخی از فانکشنها است. در صورتی که از سرورهای اشتراکی استفاده میکنید، بهتر است فانکشنهایی که برای سرور لینوکس تهدیدآمیز هستند را ببندید. برخی از این توابع عبارتنداز:
- curl_multi_info_read
- curl_multi_init
- curl_multi_remove_handle
- curl_multi_select
این فانکشنها در فایلی با عنوان php.ini قرار گرفتهاند.
8. استفاده از تابع magic_quotes_gps
ورودیهایی که از سمت کاربر به سرور ارسال میشوند، به دلایل مختلفی ممکن است نوعی باگ امنیتی برای سرور محسوب شوند. به همین خاطر یکی از کارهایی که میتوان برای افزایش امنیت سرور لینوکس انجام داد، استفاده از تابع magicquotesgpc است. این تابع امکانی را در اختیار برنامه نویس یا توسعه دهندگان سایت قرار میدهد که بتوانند ورودیهای سمت کاربر به سرور را تا حد زیادی ایمن کنند. برای فعال کردن و استفاده از این تابع باید به فایل php.ini دسترسی داشته باشید.
9. غیرفعال کردن expose_php
یکی از راهکارهای جلوگیری از نفوذ مهاجمها و هکرها به سرور، این است که از دسترسی آنها به امکانات سرور خود جلوگیری کنیم. اما چگونه میتوان این کار را انجام داد؟ توجه داشته باشید هر زمان که php شروع به کار کند، یک پیام شامل شماره نسخه خود به هدر سرور اضافه میکند. برای اینکه این دیتا از دید و دسترس هکرها خارج شود، میتوانید متغیر expose_PHP را بر روی حالت off قرار دهید. با غیرفعال کردن این ویژگی دیگر دیتا و امکانات وب سرور به راحتی در اختیار هکرها قرار نمیگیرد.
10. نصب فایروال CSF
به عنوان یکی دیگر از راهکارهای افزایش امنیت سرور لینوکس میتوانید اقدام به نصب فایروال CSF کنید که به دیوارهای آتش نیز معروف هستند. این سیستم را میتوان یکی از بهترین سرویسهای تامین امنیت سرور دانست که در نوع خود تاکنون بسیار موفق عمل کردهاند. اگر به دنبال یکی از سختگیرترین المانهای امنیتی برای ارتقای امنیت سرور هستید، حتما فایروال CSF را نصب کنید. همانطور که از نامش پیداست، این سیستم دقیقا مشابه با یک دیوار آتش عمل میکند.
به عبارتی پس از نصب، در ورودی یک سرور تمامی درخواستهای ورودی به آن را به دقت بررسی میکند. شما میتوانید هرگونه تنظیمات امنیتی که میخواهید را بر روی فایروال فعال کنید. پس از آن چنانچه هر یک از درخواستهای ورودی به سرور با اطلاعات و تنظیمات ثبت شده در فایروال مغایرت داشته باشد، درخواستها حذف شده و از ارسال آنها به سرور جلوگیری میشود. یک فایروال به اندازهای قدرتمند است که قادر است هزاران گیگابایت از اطلاعات را تنها در کسری از ثانیه فیلتر و پردازش کند.
11. نصب و کانفیگ آنتی ویروس CLAMAV
اگر به دنبال یکی از بهترین آنتی ویروسهای سیستم عامل لینوکس هستید، آنتی ویروس CLAMAV را نصب کنید که توانایی شناسایی همزمان تعداد زیادی از ویروسها را دارد. مزیت دیگر این آنتی ویروس رایگان بودن آن است. علاوه بر این مورد، دیتابیس این آنتی ویروس به صورت خودکار قابلیت آپدیت و بهروزرسانی دارد. با وجود ابزارهای قدرتمندی چون اسکنر که این آنتی ویروس در اختیارتان قرار میدهد، دیگر نیازی نیست برای اسکن سرور خود از محیطهای گرافیکی استفاده کنید؛ بلکه میتوانید به کمک اسکنر خود این آنتی ویروس، اقدام به اسکن سرور کنید. نصب آنتی ویروس CLAMAV به عنوان یکی از راهکارهای افزایش امنیت سرور لینوکس توصیه میشود.
12. نصب ماژول ModSecurity
ماژول ModSecurity فایروالی است که بر روی سرور هاست راه اندازی میشود. در کنار دیگر فایروالهای نرم افزاری و سخت افزاری که برای حفظ امنیت سرور خود نصب میکنید، اضافه کردن این ماژول نیز میتواند همانند یک لایه امنیتی مضاعف عمل کند. این ماژول قادر است حملات مختلف به سرور را تا حد زیادی کنترل کند. توجه داشته باشید که نصب ماژول مود سکیوریتی به تنهایی نمیتواند برای حفظ امنیت سرور کافی باشد بلکه از این ماژول باید در کنار دیگر فایروالهای امنیتی استفاده کرد تا سطح امنیت سایت بیشتر شود.
یکی از ویژگیهای مثبت این ماژول، قدرت برنامه ریزی آن است. مود سکیوریتی میتواند مواردی را هم که از پیش به امنیت سایت آسیب زدهاند را شناسایی کرده و آنها را مسدود کند. از کاربردهای این ماژول امنیتی میتوان به موارد زیر اشاره کرد:
- امکان تشخیص رباتهای مخرب و مسدودسازی آنها
- بررسی هرگونه درخواست ارسالی به سایت مانند درخواست عضویت از سوی کاربر
- مدیریت ترافیکهای سایت و بررسی آنها جهت اطمینان از عدم وجود هرگونه باگ امنیتی
- جلوگیری از آپلود برخی از فایلها و مدیریت هرگونه فایل آپلودی در سایت
- مدیریت اجرا دستورات و جلوگیری از اجرای دستورات مخرب
13. نصب CXS
به عنوان آخرین راه افزایش امنیت سرور لینوکس در این مطلب، باید به نصب CSX اشاره کرد. ConfigServer eXploit Scanner یک ابزار است که میتواند تمام پروندههایی را که در سرور بارگذاری شدهاند را اسکن کند. از این ابزار میتوانید به منظور جلوگیری از سوءاستفاده مهاجمهای غیر مجاز به سایت و سرور لینوکس استفاده کنید. به عنوان ویژگیهای مثبت این ابزار که کمک زیادی به حفظ امنیت سرور لینوکس میکند، میتوان به موارد زیر اشاره کرد:
- ابزار CSX قادر است بارگیری اسکریپتهای مشکوک PHP و Perl را مسدود کند. این بارگیریها معمولا با هدف ارسال اسپم یا حملات مخرب صورت میگیرند.
- توانایی شناسایی ریشههای آپلود شده در حسابهای کاربر را دارد.
- قادر به افزایش کارایی و مقیاس پذیری سرور است.
با کمک این ابزار میتوانید پروندههای مشکوک را حذف کنید.