ترفند های وبمستری چگونه امنیت سرور لینوکس را بالاتر ببریم؟ - سایت سنگان

یک چالش رایج در میان برنامه نویسان php رسیدن به درصد قابل قبولی از امنیت در هاست است. حتی کاربران هم با این مشکل مواجه هستند و به‌دنبال چگونگی افزایش امنیت سرور می‌گردند. ما برای همه کسانی که به امنیت سرورشان فکر می‌کنند، بهترین و رایج‌ترین روش های محافظت از سرور مجازی لینوکس در برابر تهدیدات امنیتی را جمع‌آوری کرده و بک به یک برای شما توضیح داده‌ایم.

برای آشنایی با این روش‌ها، تا پاین این مقاله همراه ما باشید.

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

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

۱) فعال کردن open_basedir

در ابتدا می بایست بدانیم Open_BaseDir چیست و چگونه عمل می‌کند و چرا این Extension برروی PHP فعال است.

open_basedir چیست؟

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

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

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

غیرفعال کردن Open_basedir ریسک امنیتی دارد

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

نکته: بیشتر ین خطا مربوط به پوشه tmp می باشد که خیلی از اسکریپت ها به جای tmp از /tmp که پوشه Temprorary سیستم عامل است استفاده می کند لذا می بایست / آن را حذف نمایید. در نظر داشته باشید یک اشتباه ساده همانند / یا در آدرس‌دهی موجب چنین خطایی می‌شود.

۲) کمک گرفتن از 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

۷) غیرفعال کردن برخی توابع

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

برخی از توابعی که غیرفعال نمودن آن را توصیه می کنیم بصورت زیر می باشد:

shell_exec,system,passthru,exec,popen,ini_restore,popen,stream_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_bind,symlink,link,pfsockopen,ini_alter,dl,pcntl_exec,pcntl_fork,proc_close,
proc_open,proc_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_uname

۸) استفاده از تابع magic_quotes_gpc

این تابع به برنامه نویس کمک می‌کند که ورودی هایی را که از سمت کاربران به سمت سرور فرستاده می‌شود تاحدی ایمن سازی کند و جلوی حملاتی مثل SqlInjection را می‌گیرد به این صورت که قبل از کاراکترهای خطرناک یک backslash قرار می‌دهد و برخی از کاراکترها را نظیر (“, ‘,  , NULL) را با جابجا می‌کند و به این خاطر magic و یا جادویی نامگذاری شده است. زیرا زمانی که magic_quotes_gpc فعال باشد به صورت اتوماتیک PHP این کار را انجام می‌دهد.

لازم به ذکر است این قابلیت در ۵٫۳٫۰ php توصیه میشد و در حال حاضر  در نسخه php 5.4.0 حذف شده است.

۱۰) غیرفعال کردن expose_php

یکی دیگر از روش های امن سازی سرورهایی که از زبان برنامه نویسی php استفاده می کنند مخفی نمودن نسخه ی php نصب شده بر روی سرور می باشد. بدین منظور نیاز است expose_php را غیرفعال (off) کنید.

۱۱) نصب فایروال  CSF

نصب فایروال CSF از این جهت توصیه میشود که با رعایت موارد امنیتی که توسط CSF به شما پیشنهاد خواهد شد ، اجرای بسیاری از شل ها و بد افزار ها مختل خواهد شد،  CSF وظیفه حفاظت از سرور را دارد و همانطور که از اسم آن مشخص می باشد، یک دیوار آتشین است که از انواع حملات که  مهمترین آن ها syn flood ،، DDos و Brute force است جلوگیری می کند.

۱۲) نصب و کانفیگ آنتی ویروس CLAMAV

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

۱۳) نصب ماژول ModSecurity

Mod_security یکی از ماژول های وب سرور اپاچی میباشد که از اجرای اسکریپت های تحت وب خطرناک جلوگیری به عمل می آورد. Mod_security مانند سپری در برابر برنامه های تحت وب که قصد حمله به سرور را دارند عمل میکند و آنها را خنثی می‌سازد.از این برنامه ها میتوان از cross-site scripting، SQL injection و .. نام برد.این ماژول یک لایه امنیتی مقاوم به وب سرور اضافه می کند و به دلیل استفاده از نرم افزار های تحت وب گوناگون در سرور، میتواند بسیار موثر واقع گردد.

۱۴) نصب CXS

CXS یک ابزار پویشگر امنیتی است. شما با استفاده از CXS می‌توانید از اجرای فایل‌های مخرب مانند شل و ابزار های هک سرور در امان باشید .یکی از مهمترین ویژگی‌های CXS ، قابلیتی به نام Realtime Monitoring یعنی بررسی و مانیتور لحظه به لحظه سرور است. با فعال نمودن و پیکر بندی مناسب ویژگی CXS Watch Daemon ، در صورت آپلود فایل مخرب ، فایل به سرعت حذف یا قرنطینه و گزارش آن  قابل دسترس خواهد بود.

پایان

امیدوارم از این ۱۴ راهکاری که برای افزایش امنیت سرور لینوکس گفتیم استفاده کنید و نتیجه مثبتی بگیرید. اگر به مباحث لینوکس علاقه دارید، پیشنهاد می‌کنم که به مقاله انواع توزیع های لینوکس هم سر بزنید.

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

۰۵۱۳۱۷۷۶-۹۰۲

همینطور جهت خرید لایسنس و فعالسازی CXS می توانید با بخش فروش سایت سنگان تماس حاصل کنید.

۰۵۱۳۱۷۷۶-۹۰۱

به این پست امتیاز دهید.
بازدید : 258 views بار دسته بندی : امنیت تاريخ : 18 آگوست 2022 به اشتراک بگذارید :
دیدگاه کاربران
    • دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.
    • دیدگاهی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد.

برچسب ها