آموزش امنیت وب سرور آپاچی Apache webserver Security

پنهان سازی نمایش ورژن اپاچی و سیستم عامل
آپاچی بصورت پیش فرض اطلاعاتی نظیر شماره نسخه نصب شده و برخی ماژول های خود را به همراه نام سیستم عامل سرور بر روی صفحات خطای وب نمایش می دهد.

نمایش اطلاعات آپاچی نا امن

نمایش اطلاعات آپاچی نا امن


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

# vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora)
# vim /etc/apache/apache2.conf (Debian/Ubuntu)

سپس سطری که با ServerSignature آغاز می شود را جستجو و پیدا کنید . این گزینه بصورت پیش فرش on (فعال) است که باید آن را به off تغییر دهید . همچنین در زیر آن در قسمت ServerTokens مقدارProd را قرار دهید تا کمترین اطلاعات از آپاچی در header پاسخ های سرور نمایش داده شود:

ServerSignature Off
ServerTokens Prod

پس از ذخیره فایل ویرایش شده سرویس آپاچی را restart کنید:

# service httpd restart (RHEL/CentOS/Fedora)
# service apache2 restart (Debian/Ubuntu)

از این پس در پاسخ به هیچ درخواستی اطلاعات مهم آپاچی نمایش داده نمی شود :

عدم نمایش اطلاعات در آپاچی امن

عدم نمایش اطلاعات در آپاچی امن

غیر فعال کردن امکان لیست شدن فایل ها (Directory browsing)
بصورت پیش فرض آپاچی فایل های داخل پوشه ها را در صورت عدم وجود فایل index لیست می کند . این کار می تواند خیلی خطرناک باشد چرا که در این صورت فایل های مهم و حساس مانند فایل های پشتیبان یا فایل های آپلودر و … در معرض دید هکرها قرار می گیرند و ممکن است مورد سوء استفاده قرار گیرند. همچنین معمولا این فایل ها توسط موتورهای جستجو شناسایی شده و ممکن است اطلاعات حساس سایت شما در اختیار عموم قرار گیرد و فاجعه بزرگی رخ دهد !

لیست شدن فایل ها در آپاچی ناامن

لیست شدن فایل ها در آپاچی ناامن

برای جلوگیری از این پیش آمد کافیست فایل httpd.conf را در حالت ویرایش باز کرده و کد های زیر را در انتهای آن قرار دهید:


    Options -Indexes

توجه : بجای /var/www/html باید مسیر اصلی هاست های سرور را قرار دهید ،بطور مثال /home

پس از اضافه کردن کد بالا سرویس اپاچی را restart کنید . از این پس دیگر فایل های سرور لیست نخواهند شد و بجای آن پیغام خطای 403 نمایش داده می شود.

عدم نمایش لیست فایل ها در آپاچی امن

عدم نمایش لیست فایل ها در آپاچی امن

بروزرسانی آپاچی
با دستورات زیر می توانید سرویس آپاچی خود را بروزرسانی کنید :

# yum update httpd
# apt-get install apache2 

حذف ماژول های غیر ضروری
ماژول ها می توانند عامل هک شدن سرور باشند برای کاهش دادن احتمال آسیب پذیری سرور خود سعی کنید ماژول های غیر ضروری و بلا استفاده آپاچی را غیر فعال کنید . برای نمایش لیست ماژول های فعال سرویس آپاچی از دستور زیر استفاده کنید :

# grep LoadModule /etc/httpd/conf/httpd.conf

ماژول هایی مانند mod_imap, mod_include, mod_info, mod_userdir,mod_autoindex معمولا بلااستفاده هستند و غیرفعال کردن آنها پیشنهاد می شود.
برای غیر فعال کردن یک ماژول کافیست یک علامت # در ایتدای خط آن ماژول قرار داده و سرویس آپاچی را restart کنید .

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

# groupadd http-web
# useradd -d /var/www/ -g http-web -s /bin/nologin http-web

برای شناساندن نام کاربری http-web به آپاچی کافیست فایل httpd.vpng را در حالت ویرایش بازکرده user و group را جستجو کنید و نام کاربری فوق را در مقابل این دو قرار دهید :

User http-web
Group http-web

در آخر سرویس اپاچی را مجددا راه اندازی کنید .

جلوگیری از دسترسی کاربران به پوشه های حساس
برای جلوگیری از دسترسی کاربران به پوشه های حساس کد زیر را به فایل httpd.conf اضافه کنید :
بجای /web مسیر پوشه اصلی سایت ها را وارد کنید تا تنها این پوشه قابل رویت برای کاربران باشد.


  Order Deny,Allow
  Deny from all
  Options None
  AllowOverride None



  Order Allow,Deny
  Allow from all

توجه : با غیرفعال کردن AllowOverride و Options اجازه تغییر این تنظیمات را به هکرها توسط فایل های htaccess نمی دهد.

نصب ماژول های mod_security و mod_evasive برای امنیت آپاچی

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

غیر فعال کردن آپشن های symlinks , mod_include و CGI و …
دنبال کردن symlink ها یک ریسک بزرگ برای سرور شما می باشد چرا که هکر ها با استفاده از این قابلیت می توانند به سرور نفوذ کنند و فایل های حساسی که مجوز دسترسی به آنها را ندارند بخوانند !
برای غیر فعال کردن این قابلیت کد زیر را به فایل کانفیگ آپاچی اضافه کرده و سرویس را restart کنید:

Options -FollowSymLinks

در صورتی که نیازی به mod_include و CGI ندارید بهتر است آنها را هم غیرفعال کنید :

Options -Includes
Options -ExecCGI

پرمیژن بندی فایل های آپاچی
مطمئن شوید تنها کاربر root به فایل های حساس آپاچی دسترسی دارد

# chown -R root:root /usr/local/apache
# chmod -R o-rwx /usr/local/apache

کاهش دادن زمان timeout جهت جلوگیری از عملیات DOS
فایل کانفیگ اپاچی را در حالت ویرایش باز کنید و مقدار timeout را 45 ثانیه قرار دهید :

Timeout 45

عنوان : آموزش امنیت وب سرور آپاچی Apache webserver Security

0 نظر

پاسخ دهید

می خواهید به بحث بپیوندید ؟

پاسخی بگذارید