راهکار هایی جهت افزایش امنیت سرور لینوکس

یک چالش رایج در میان برنامه نویسان php رسیدن به درصد قابل قبولی از امنیت در هاست است. یکی از نگرانی های کاربران با آن مواجه می باشند چگونگی امنیت سرور لینوکس می باشد.

 

 

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

open_basedir چیست؟

در ابتدا می بایست بدانیم Open_BaseDir چیست و چگونه عمل می کند و چرا این Extension برروی PHP فعال است. open_basedir سیستمی است که محدودیت دسترسی به فایل ها را توسط کامپایلر php اعمال می کند که کامپایلر php نتواند خارج از پوشه در اختیار آن، فایل های دیگر را کنترل و به آن ها دسترسی داشته باشد. به طور کلی این محدودیت تنها برروی کل سیستم عامل ایجاد می گردد و هر کاربر تنها مجاز است دسترسی به پوشه داخلی خودش داشته باشد و نمی تواند از طریق کامپایلر به فایل های دیگر سیستم عامل دسترسی داشته باشد.

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

 

غیرفعال نمودن open_basedir ریسک امنیتی دارد .

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

 

safe_mode چیست؟

safe_mode از دستورات خطرناکی که می تواند امنیت را تهدید کند توسط یک فایل php روی سرور لینوکس برای ورود هکر و دسترسی به اطلاعات اجرا شود جلوگیری می کند. با فعال کردن safe_mode در php.ini می توانید از اجرای فایل های شل جلوگیری کنید.

 

غیر فعال کردن اجرای کد بصورت Remote .

اگر allow_url_fopen فعال باشد فانکشن های مرتبط با file مانند file_get_contents می توانند بصورت Remote از ftp و یا وب سایت اطلاعات دریافت کنند. بسیاری از برنامه نویسان فراموش میکنند تا یک فیلتر برای قسمت اطلاعات ارسالی از سمت کاربر ایجاد کنند که این باعث آسیب پذیری Injection میشود. بسیاری از آسیب پذیری Code-Injection گزارش شده مربوط به فعال بودن این تابع می باشد.

 

غیرفعال نمودن display_error .

ارور های اسکریپت PHP شما نباید در معرض عموم قرار بگیرد تا از باگ های آن سوءاستفاده شده و نفوذ به سایت شما رخ دهد. همچنین نمایش Warning های متعدد نمایش داده شده در ابتدای صفحه سایت ظاهر خوش آیندی نیز نخواهد داشت، برای این کار باید display_error را در فایل php.ini سرور غیر فعال نمایید.

 

محدود سازی سایز ورودی .

یکی از روش هایی که هکرها اقدام به نفوذ به سایت ها می کنند ، ارسال کدهای مخرب در بخش هایی از سایت که روی متد post از کاربر ورودی می گیرد و با محدود سازی سایز ورودی در فایل کانفیگ php از ارسال کدهای مخرب می توان جلوگیری نمود.

post_max_size = 1K

 

محدود سازی منابع .

یکی دیگر از حملاتی که به سمت سرور معمولا انجام می گیرد حملات DOS است که با محدود سازی منابع در پکت های دریافتی در فایل کانفیگ php می توان در حد قابل توجهی از این حملات جلوگیری کرد.

max_execution_time = 30

max_input_time = 30

memory_limit = 128M

 

Disable_functions

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

 

نظر

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