امنیت سرور

1 1 1 1 1 1 1 1 1 1 Rating 3.50 (1 Vote)

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

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

در حال حاضر امنیت سرور لینوکس و امنیت سرور ویندوز بیشتر مورد بحث و استفاده است. این دو سیستم عامل دارای ساختار و نحوه کارکرد کاملا متفاوتی بوده و تنها در برخی موارد وجه اشتراک دارند. در سرور لینوکس معمولا سرور با سیستم عامل minimal تحویل داده می شود که البته با نیاز کاربر برای سرویس دهی در وب کاملا مناسب است. معمولا سیستم عامل centos بیشترین کاربرد و استفاده را در سرورهای میزبانی لینوکس دارد که کنترل پنل های محبوب و قدرتمند سی پنل و دایرکت ادمین هم این توزیع از لینوکس را پشتیبانی می کنند. با توجه به اینکه در سرویس های میزبانی اشتراکی تعداد زیادی سایت بر روی یک سرور به صورت اشتراکی میزبانی شده و از فضا و منابع مشترکی استفاده میکنند، امنیت باید بیشتر مورد توجه قرار گیرد.

شروع کار با سرور

با در نظر گرفتن اینکه سیستم عامل مورد استفاده ما ویندوز است، ارتباط با سرورهای لینوکس توسط نرم افزار  putty  و سرورهای ویندوز با Remote Desktop Connection انجام میشود. با توجه به موضوع این مقاله که درمورد امنیت میباشد، پس از نصب و راه اندازی سیستم عامل و سرویس های مورد استفاده در سرور، باید چند اصول را از قبیل محدود سازی سرویس ها ، غیر فعال کردن سرویس های غیر قابل استفاده و ... را انجام دهیم.

 

کانفیگ امنیتی سرور

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

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

تست نفوذ پذیری

تست نفوذپذیری یا تست نفوذ (penetration test) یک روش سیستماتیک و برنامه ریزی شده است که آسیب پذیری ها و حفره های امنیتی سرور، شبکه و منابع و برنامه های متصل به آن را چک میکند. این سرویس که در دسته اول قرار می‌گیرد حملات هکرها بر روی اهداف مورد نظر را شبیه سازی کرده و پس از تشخیص حفره‌های امنیتی راهکارهای مناسب برای امن نمودن آنها ارائه می‌کند.  

انواع تست نفوذ

  • تست شفاف
  • تست جعبه سیاه
  • تست جعبه خاکستری

 

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

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

 

راه اندازی SIM

یکی از موارد کلیدی در حفظ امنیت یک سازمان، استفاده از محصولاتی هستند که SIM  یا Security Information Management نام دارند. به کمک این نرم افزار ها، می توانیم اطلاعات کاملی از رویداد های یک سیستم به منظور آنالیز آنها به دست بیاوریم. 

سیستم مدیریت اطلاعات امنیتی، نرم افزاری است که تمامی لاگ‌های سیستم های مختلف را جمع آوری کرده و در صورت تشخیص یک رفتار غیر منتظره و یا اصطلاحا یک  Bad Behaviorدر لاگ‌های سیستم عکس العمل نشان می‌دهد.

 

راه اندازی IDS/IPS

سیستم‌های تشخیص و جلوگیری از نفوذ ترافیک موجود در شبکه را با جزئیات بیشتری نسبت به فایروال تحلیل می‌کنند. مشابه سیستم‌های آنتی ویروس، ابزارهای IDS و IPS ترافیک را بررسی و هر بسته‌ی اطلاعات را با پایگاه داده‌ای از مشخصات حملات شناخته شده مقایسه می‌کنند. هنگامی که الگوی حملات تشخیص داده ‌شود، این ابزارها وارد عمل می‌شوند. IDSها و IPSها مشخصات مشترک زیادی دارند. در حقیقت، بیشتر IPSها در هسته خود یک IDS دارند. تفاوت کلیدی بین این تکنولوژی‌ها بدین صورت است که ابزارهای IDS با تشخیص ترافیک آسیب‌رسان مسؤولین شبکه را از وقوع یک حمله مطلع می‌سازند؛ اما ابزارهای IPS یک گام جلوتر رفته و به صورت خودکار ترافیک آسیب رسان را مسدود می‌کنند.

نظارت بر وقایع

سیستم نظارت بر وقایع (log monitoring) نرم افزاری است که قادر به جمع آوری و گزارش لاگ های مختلف سیستم می‌باشد.

 

نصب و راه اندازی FIREWALL

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

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

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

 

مدیریت حفره های امنیتی

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

 

امنیت وب اپلیکیشن‌

راهکارها و سرویس‌های تست، اسکن و رفع حفره‌های امنیتی وب اپلیکیشن‌ها با تکنولوژی‌های متفاوت

 

مشاوره امنیت و ریسک

مشاوره در زمینه مدیریت ریسک و امن کردن سیستم های آسیب دیده بعد از حملات بدافزارها و

پیاده‌سازی و استقرار سیستم مدیریت امنیت اطلاعات (ISMS)که راهکاری مدیریتی برای ایجاد، پیاده‌سازی و استقرار، نظارت و بازنگری و نگهداری و بهبود امنیت اطلاعات در سازمان است.

 

جلوگیری از حملات سیملینک

جلوگیری از حملات سیملینک از اساسی ترین موارد مدیریت و امنیت سرور است. با جلوگیری از حملات سیملینک امنیت هر کاربری در سرور مشمول خود آن اکانت می شود و ضعف آن اثر منفی بر روی اکانت های دیگر نخواهد داشت.

 

سیملینک چیست ؟ symlink , symbolic link , soft link

سیملینک امکانی است که توسط آن می توان ارجاعی از یک فایل یا دایرکتوری را در مسیر دیگری ایجاد کرد. برای مثال فایل test.php در مسیر home/test قرار دارد. اگر بخواهیم فایل test.php در مسیر دیگری برای مثال home/sample نیز قابل مشاهده ، اجرا و حتی ویرایش باشد می توان از symlink استفاده کرد. این امکان در بسیاری از سیستم عامل ها پشتیبانی می شود اما نام و عملکرد آنها با هم متفاوت است.

 

 

جلوگیری از سیملینک در سی پنل

جلوگیری از سیملینک در سی پنل طی چند مرحله و روش کاری قابل انجام است. symlink یکی از خطرناکترین مواردی است که می بایست روی سرور محدود شود. سیملینک یکی از ابزارهای هسته سیستم عامل لینوکس است. در صورت عدم رفع مشکل و محدودیت symlink در سرور لینوکس ، در صورتی که اکانتی مورد نفوذ قرار گیرد توسط symlink می توان به اکانت های دیگر نیز نفوذ کرد. سیستم عامل cloudlinux تا حد بسیار بالایی توانسته این موضوع را برطرف کند. این سیستم عامل توسط ابزاری به نام cagefs هر اکانت را بصورت قفس در حیطه خود زندانی می کند.

برای جلوگیری از symlink در cpanel بصورت زیر عمل کنید.

وارد مسیر Home » Service Configuration » Apache Configuration » Global Configuration در WHM شوید.

در صفحه مورد نظر بصورت زیر عمل کنید.

— مقدار Server Tokens را از منوی کشویی روی ProductOnly تنظیم کنید.

— در بخش Directory “/” Options تیک FollowSymLinks و ExecCGI را بردارید. توجه کنید تیک SymLinksIfOwnerMatch فعال باشد.

— موارد را ذخیره کنید.

وارد مسیر Home » Service Configuration » PHP Configuration Editor شده و مورد Advanced Mode را انتخاب کنید.

— مورد disable_functions را پیدا کرده و در مقدار آن علاوه بر مقادیر موجود symlink و ln را نیز وارد کنید.

— موارد را ذخیره کنید.

وارد مسیر Home » Security Center » Apache mod_userdir Tweak شده و تیک Enable mod_userdir Protection را فعال و بر روی Save کلیک کنید.

وارد مسیر Home » Security Center » PHP open_basedir Tweak شده و تیک Enable php open_basedir Protection را فعال و بر روی Save کلیک کنید.

وارد مسیر Home » Security Center » Shell Fork Bomb Protection شده و بر روی گزینه Enable Protection کلیک کنید.

از هندلر suphp در وب سرور apache برای php استفاده کنید.

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

 

جلوگیری از سیملینک در دایرکت ادمین

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

برای جلوگیری از symlink در directadmin بصورت زیر عمل کنید.

دستورات زیر را در ssh وارد کنید. این دستور تنظیمات امنیتی سیملینک را لحاظ می کند.

cd /usr/local/directadmin/custombuild

./build update

./build set harden-symlinks-patch yes

./build set secure_htaccess no

./build apache

./build rewrite_confs

در ادامه دستور زیر را برای یافتن مسیر php.ini در ssh وارد کنید.

/usr/local/bin/php -i | grep ‘Loaded Configuration File’

با کمک دستور nano وارد ویرایش فایل مورد نظر شده و disable_functions را پیدا کنید. علاوه بر مقادیر موجود symlink , ln را نیز وارد کنید و ذخیره کنید.