پنهان سازی نمایش ورژن اپاچی و سیستم عامل
آپاچی بصورت پیش فرض اطلاعاتی نظیر شماره نسخه نصب شده و برخی ماژول های خود را به همراه نام سیستم عامل سرور بر روی صفحات خطای وب نمایش می دهد.
این اطلاعات می تواند توسط هکر ها مورد استفاده قرار گیرد پس اولین کار لازم برای امنیت آپاچی حذف این اطلاعات می باشد .
برای حذف این اطلاعات ابتدا فایل کانفیگ آپاچی را در حالت ویرایش باز کنید :
توجه: این فایل می تواند به نسبت نسخه و نوع سیستم عامل در مسیر های مختلفی قرار داشته باشد .
۱
۲
|
# 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 را در حالت ویرایش باز کرده و کد های زیر را در انتهای آن قرار دهید:
۱
۲
۳
|
<Directory /var/www/html>
Options –Indexes
</Directory>
|
توجه : بجای /var/www/html باید مسیر اصلی هاست های سرور را قرار دهید ،بطور مثال /home
پس از اضافه کردن کد بالا سرویس اپاچی را restart کنید . از این پس دیگر فایل های سرور لیست نخواهند شد و بجای آن پیغام خطای ۴۰۳ نمایش داده می شود.
بروزرسانی آپاچی
با دستورات زیر می توانید سرویس آپاچی خود را بروزرسانی کنید :
۱
۲
|
# 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 مسیر پوشه اصلی سایت ها را وارد کنید تا تنها این پوشه قابل رویت برای کاربران باشد.
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
|
<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
<Directory /web>
Order Allow,Deny
Allow from all
</Directory>
|
توجه : با غیرفعال کردن 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 را ۴۵ ثانیه قرار دهید :
۱
|
Timeout 45
|
بدون دیدگاه