امنیت وب سرور

اطلاعیه خودکار این مقاله ؛ این پست در ۹ سال پیش نوشته و منتشر شده است و اکنون شاید قوانین و ابزار ها تغییر پیدا کرده باشد. اگر میدانید این نوشته هنوز به کارتان می آید ،به خواندن ادامه دهید.

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

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

081913_1327_WEBSERVERSE1

معرفی مختصر انواع سرور‌ها: برخی از وب سرورها برای مایکروسافت ویندوز و برخی دیگر برای لینوکس هستند که به ترتیب سرور IIS مایکروسافت (Microsoft IIS Server) و Apache نام دارند. این دو سرور موارد استفاده‌ی بیشتری در مقایسه با دیگر انواع سرور مانند Nginx، Cherokee و Zeus دارند. در این مطلب، شما را با تکنیک‌های ایمن سازیِ وب سرور به منظور افزایش امنیت آشنا خواهیم کرد. حملات به یک وب سرور به عواملی از جمله امنیت اپلیکیشن های وب نصب شده در وب سرور و همچنین امنیت وب سرور که شامل ایمن سازی سیستم عامل و اپلیکیشن های سمت سرور است، بستگی دارد.
در ابتدا، از امنیت وب سرور شروع می‌کنیم. اولین موردی که باید در آنالیز امنیت وب سرور بررسی شود، سرویس‌های آن هستند. پیشنهاد می‌کنیم که مدیران امنیت سرور باید از سرویسی استفاده کنند تا تمامی پورت‌های باز، فیلتر شده و بسته را چک کند. Nmap یکی از بهترین ابزار در زمینه‌ی اسکن کردن شبکه به شمار می‌آید.

081913_1327_WEBSERVERSE2

تصویری از برنامه NMAP

برای مدیریت وب سایت‌های میزبانی شده بر روی سرور، از یک کنترل پنل استفاده کنید. کنترل‌ پنل‌های زیادی وجود دارند که می‌توانید از آنها کمک بگیرید، به عنوان مثال cPanel، Parallel Plesks، DirectAdmin، Webmin، ISPconfig و Virtualmin. یکی از فواید اصلی استفاده از کنترل پنل ، دسترسی به یک رابط کاربری گرافیکی تحت وب است که دارای رابطِ کاربری سمتِ کلاینت می‌باشد. جستجو در کنترل پنل، با وجود منویی با شمایی آیکون‌دار کار راحتی‌ست. مدیر سرور می‌تواند از کنترل پنل برای ایجاد وب سایت‌های جدید، اکانت ای‌میل و ورودی‌های DNS و همچنین ارتقاء و نصب نرم‌افزار استفاده کند.پس از آن، ASL (Automatic Secured Linux) بر روی سرور وب خود نصب کنید. ASL یک افزونه‌ برای سیستم‌های لینوکس است که در این مطلب به آن خواهیم پرداخت.

081913_1327_WEBSERVERSE3

حال قصد داریم نحوه‌ی ایجاد کنترل پنل بر روی سرور وب را به شما آموزش دهیم. در اینجا cPanel و WHM) Web Host Manager) را نصب خواهیم کرد.

راهنمای نصب cPanel

پیش‌ نیازها: قبل از نصب cPanel باید شرایط خاصی را فراهم کنیم:
• قبل از خرید cPanel، آی پی شما باید استاتیک باشد. cPanel با آی پی دینامیک عملکرد خوبی نشان نمی‌دهد.

• نام هاست روی سرور شما باید FQHN باشد، مانند web.domain.com

• برای تغییر نام هاست باید خط “hostname=” را درفایل etc/sysconfig/network تغییر دهید و سپس شبکه‌ی خود را ریستارت کنید.

تغییر نام هاست: برای تغییر دادن نام هاست معمولاً چهار مرحله‌ی زیر انجام می‌شوند:

۱- فایل /etc/config/network را با یک برنامه ویرایشگر متن باز کنید. سپس HOSTNAME=value را به نام هاست مورد نظر خود (که البته واجد شرایط باشد) تغییر دهید. با دستور زیر میتوانید این کار را انجام دهید:

# vi /etc/sysconfig/network

HOSTNAME=myserver.domain.com

۲-فایل هاست – هاستی را که مرتبط با آدرس‌های آی پی اصلی سرور شما هستند تغییر دهید. این کار مربوط به شبکه‌ی داخلی‌ست.
(می‌توانید آنرا در /etc/hosts بیابید)

۳-دستور hostname را اجرا کنید – از طریق این دستور می‌توانید نام هاست سرور را اصلاح کنید اما تمام برنامه‌هایی را که تحت نام هاستِ قبلی فعالیت می‌کنند را آپدیت نمی‌کند.
۴- شبکه را ریستارت کنید: بعد از انجام اقدامات پیش نیاز بالا، کار ما تمام شده است و فقط نیازمند یک ریستارت سیستم برای اعمال تغییرات نهایی هستیم. می‌توانید از طریق دستور زیر، شبکه را ریستارت کنید:

# /etc/init.d/network restart
دانلود cPanel:
بعد از ثبت کردن آی پی، با کاربر روت، دستور زیر را در ترمینال وارد کنید:
wget http://www.layer1.cpanel.net/latest

081913_1327_WEBSERVERSE4

نصب cPanel:

پس از دانلود کردن فایل نصب cPanel ، دستور زیر را با کاربر روت وارد کنید :
sh latest

cpanelinsta

پس از اتمام نصب، این پیام را خواهید دید:
cPanel Layer 2 install complete
حالا در مرورگر آدرس آی پی خود را با پورت ۲۰۸۶ و یا ۲۰۸۷ وارد کنید:
https://youriphere:2087
صفحه ای با تصویر زیر مواجه خواهید شد:

whm

توجه: به هیچ طریقی نمی‌توانید cPanel را uninstall کنید و تنها راه آن، نصب دوباره‌ی سیستم عامل خواهد بود.

حالا بعد از نصب cPanel، سرور از حملات rooting، که نوعی حمله هست که هکرها با استفاده از آن تمامی سایت های میزبانی شده روی یک سرور را مورد حمله قرار میدهند، در امان است. اما تهدید اصلی برای سرور، اجرای شِل PHP و حملات DDos بر روی سرور هستند که cPanel قادر به پیشگیری از آنها نیست. یکی از روشهای مقابله با DDos روشی بنام Atomic Secured Linux وجود دارد که در زیر به شرح آن میپردازیم.
Atomic Secured Linux

asl

Atomic Secured Linux یک پک افزونه‌ امنیتی برای سیستم‌های لینوکس است که بطور مستقل و بدون نیازمندی خاصی اجرا می‌شود و کار با آن راحت است. این افزونه بمنظور محافظت از سرورها در مقابل حملات zero-day ساخته شده است. حملات zero-day نوعی حمله یا تهدید کامپیوتری است که از یک آسیب‌پذیری در یک نرم‌افزار کاربردی که قبلا ناشناخته بوده است بهره‌جویی می‌کند. بر خلاف دیگر راه‌حل‌های امنیتی، ASL هم برای استفاده‌ی متخصصان و هم مبتدیان مناسب است. فقط کافی‌ست ASL را بر روی سیستم فعلی خود نصب کنید و بعد از آن، کارها را به دست آن بسپارید. این افزونه به منظور ایجاد راه حلی کامل، برای تازه کارها و متخصصین طراحی شده است.

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

ویژگی‌های ASL :

• جلوگیری کامل از هرگونه نفوذ
• فایروال stateful ( فایروالی هست که وضعیت اتصالات شبکه (مانند جریان های TCP و اتصالات UDP) را نگهداری میکند )
• فایروال و بلاک کننده منابع حملات real-time
• شناسایی و جلوگیری از حملات Brute force
• سیستم خود-ترمیمی اتوماتیک
• حفاظت خودکار از اسکن آپلود فایل
• اسکنر و ترمیم کننده‌ی آسیب پذیری‌ها
• سیستم تشخیص و اخطارفعالیت‌های مشکوک
• حفاظت در برابر حملات DOS
• حفاظت در مقابل ویروس‌ها و بدافزارها
• یادگیری اتوماتیکِ کنترل دسترسی بر حسب role های تعریف شده
• سیستم محافظت در برابر از دست رفتن اطلاعات و سیستم real-time ویرایش محتوای وب
• مدیریت خودکار و امنِ ثبت وقایع (log) به همراه ثبت وقایع از راه دور
• مدیریت GUI تحت وب
• حفاظت از کرنل
• مجازی سازیِ داخلی
• ایمن سازی و ترمیم خودکار

ASL در پلتفرم‌های مختلفی مانند CentOS، Red Hat Enterprise Linux، Scientific Linux، Oracle Linux و Cloud Linux کار می‌کند. به علاوه، از کنترل پنل‌های زیادی مانند cPanel، Virtualmin، DirectAdmin، Webmin و Parallel Plesk پشتیبانی می‌کند.

در اینجا نحوه‌ی نصب Atomic Secured Linux را به شما آموزش می‌دهیم. در اصل نصب آن بسیار راحت است. ترمینال را باز کنید و با کاربر روت نوشته‌ی زیر را در آن تایپ کنید:

wget -q -O – https://www.atomicorp.com/installers/asl |sh

qo

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

حالا در مرورگر خود این آدرس را وارد کنید
https://youriphere:30000 وارد GUI خود شوید. می‌توانید هشدارها را ببینید، هکرها را بلاک کنید، ASL را کانفیگ کنید و از ویژگی‌های دیگر آن در GUI بهره مند شوید.

aslgui

از این طریق، از حملات SQL injection ، XSS و remote code inclusion و بسیاری از حملاتِ تحت وب در امان بمانید. به علاوه، این سیستم موتورهای جستجو را شناسایی می‌کند تا از بلاک شدن تصادفیِ رباتهای وب (web crawlers) جلوگیری کند.

webattack

این سیستم، رویدادهای مشکوک و مهم، مانند ارتقاء سطح دسترسی، نصب نرم افزار، اعمال تغییرات، تغییر سطح دسترسی فایل و غیره، را شناسایی می‌کند و آنها را به کاربر یادآوری می‌کند. ASL فرایندها، فایل‌ها، کارهای کاربر، پورت‌های مخفی، فعالیت کرنل و پورت‌های باز را در صورت مشکوک بودن شناسایی می‌کند.

security terms

ASL دارای سیستم اسکن کننده آسیب پذیری و ترمیم داخلی است تا اطمینان حاصل کند که سیستم شما در امنیت کامل فعالیت می‌کند.

risks

ASL بطور اتوماتیک سرور‌های لینوکس را بر اساس استانداردهای جهانی امنیتی که توسط متخصصین در این زمینه پایه ریزی شده‌اند، ایمن سازی می‌کند و عملکردهای ناامن تکنولوژی‌های اینترنتی مانند PHP را غیر فعال می‌کند تا از آسیب پذیری‌های بسیاری مانند اجرای شِل‌های PHP جلوگیری کند.

php shell
حملات brute force روی اپلیکیشن های وب را شناسایی و بلاک می‌کند و کاملاً هوشمندانه هنگامی که دسترسی یک اپلیکیشن وب بدلایل مختلف، از جمله خطا در ورود، محدود شده است را تشخیص میدهد

login failiur

هشدار دهی برای تمام دامنه‌هایی که بر روی یک سرور میزبانی می‌شوند، انجام می‌گیرد.

alerting

کار با رابط کاربریِ گرافیکی فایروال راحت است.

firewall roles

کانفیگ پیشرفته ASL قابلیتِ کار با توابع شِل PHP، آنتی ویروس، رول های mode security و rootkit hunter را در اختیار کاربر می‌گذارد.

final

در نتیجه، بعد از انجام این کارها، وب سرور شما در مقابل حملات ایمن خواهد بود. این روزها، اکثر وب سایت‌های هک شده، بر روی یک سرور مشترک میزبانی شده‌اند. روش کار اصلیِ یک هکر، آپلود کردن یک شِل PHP به سرور از طریق یکی از وب سایت‌های آسیب پذیر است. از این طریق، هکر می‌تواند تمامی وب سایت‌های میزبانی شده بر روی سرور مورد نظر را شناسایی و هک کند. به همین دلیل است که استفاده از cPanel را پیشنهاد می‌کنیم. cPanel، برای هر دارنده‌ی وب سایت یک اکانت جداگانه در نظر می‌گیرد و اگر هکری موفق به آپلود کردن شل PHP به یک وب سایت شود، فقط می‌تواند به همان وب سایت دسترسی داشته باشد و آن را deface کند و دیگر وب سایت‌های میزبانی شده بر روی همان سرور، در امان هستند.
به علاوه، از Atomic Secured Linux صحبت کردیم: حملات را بلاک می‌کند و در مورد آنان هشدار می‌دهد. ASL کارکردهای شل PHP را بلاک و از اجرا شدن آن در وب سرور جلوگیری می‌کند.

منبع

برگردان: شراره یعقوبی

لینک کوتاه مطلب :

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*