تنظیمات امنیتی آپاچی ۱

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

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

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

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

 

پنهان نمودن نسخه آپاچی

به علت اینکه آپاچی یک وب سرور متن باز است ، جزئیات نسخه های مورد استفاده و اطلاعات ماژول های نصب شده باید مخفی شود. زیراکه هکرها از این اطلاعات جهت شناسایی اطلاعات سرور استفاده میکنند. جهت مخفی نمودن این اطلاعات باید فایل تنظیمات آپاچی httpd.conf را ویرایش نماییم.به آدرس زیر میرویم:

/etc/apache

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

ServerSignature Off
ServerTokens Prod

 ServerSignature : امضایی است که در انتهای صفحات خطای وب سرور مثل ۴۰۴ و ... وجود دارد و اطلاعات وب سرور را نمایش می دهد. 

ServerTokens : اطلاعات نسخه وب سرور در HTTP response header را به نام وب سرور محدود می نماید .

بدین صورت اطلاعات وب سرور نمایش داده نخواهد شد.

 

به روز رسانی آپاچی

همواره وب سرور آپاچی را به روز نگه دارید. جهت بررسی نسخه فعلی آپاچی دستور httpd –v را در ssh وارد میکنیم. در صورت به روز نبودن نسخه آپاچی با استفاده از دستور زیر میتوانید آن را به روز نمایید:

# yum update httpd
# apt-get install [add Apache version here]c

 

فعال کردن لاگ آپاچی

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

 

فعال کردن SSL

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

 

نصب فایروال

با استفاده از قابلیتModSecurity  میتوان به عنوان فایروال از آپاچی محافظت کرد. برای نصب و فعالسازی این قابلیت بر روی سرور از دستور زیر استفاده میکنیم:

# yum install mod_security
# /etc/init.d/httpd restart

 

نصب mod_evasive بر روی سرور

در صورتیکه میخواهید وب سرور آپاچی از حملات بروت فورس و DDOS در امان باشد ، ماژول mod_evasive را بر روی سرور نصب نمایید.

 

غیرفعال نمودن ماژول های غیرضروری

آپاچی پس از نصب تعدادی ماژول را بصورت پیش فرض اجرا میکند. جهت افزایش امنیت آپاچی ، ماژول های غیر قابل استفاده را حذف نمایید. جهت نمایش ماژول های فعال بر روی سرور میتوانید از دستور LoadModule استفاده نمایید. پس از پیدا کردن ماژول های غیر ضروری ، پیش از هر ماژول علامت # را قرار دهید تا غیرفعال شود.سپس سرور را ریست نمایید.

 

تغییر اجرا شدن آپاچی تحت حساب و گروه کاربری پیشفرض

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

 

تنظیم KeepAlive در آپاچی

با استفاده از قابلیت HTTP Keep Alive's در آپاچی میتوان سرعت عملکرد وب سایت ها را تا ۵۰ درصد افزایش داد. میتوان این قابلیت را فعال و مقادیر مناسب برای گزینه های MaxKeepAliveRequests و KeepAliveTimeout را بر اساس تحلیل فایل لاگ سرور تنظیم نمود. در استفاده از قابلیت Keep Alive دقت نمایید زیرا که تنظیمات نادرست منجر به آسیب پذیری حملات DOS خواهد شد.

 

محدود نمودن درخواست ها به سرور 

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

LimitRequestBody 1978654

 

غیر فعال سازی Directory Browsing 

برای انجام این کار در فایل httpd.conf داخل تگ Directory از کد زیر استفاده میکنیم:

<Directory /var/www/html>
Options -Indexes
</Directory>

 

مسدود سازی دسترسی به دایرکتوری ها

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

<Directory "/">
Require all denied
</ِDirectory>

در صورتیکه بخواهیم به کاربران خاصی دسترسی به دایرکتوری را بدهید از کد زیر استفاده میکنیم:

<Directory "/usr/users/*/public_html">
Require all granted
</Directory

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

<Directory "/usr/local/httpd">
Require all granted
</Directory>

 

جلوگیری از Follow شدن symbolic links 

برای انجام این کار کد زیر را در تگ Directory قرار میدهیم:

Options -FollowSymLinks

 

غیرفعال نمودن CGI execution

در صورت عدم استفاده از CGI ، آن را غیرفعال نمایید. زیراکه منجر به مشکلات امنیتی خواهد شد. بنابراین یا باید آن را غیرفعال کرده و یا اینکه با اعمال تنظیماتی ، دسترسی به آن را محدود نمایید. میتوانیم از دستور زیر استفاده کنیم:

Options -ExecCGI

 

غیرفعال نمودن Server Side Includes

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

Options -Includes

 در مقاله تنظیمات امنیتی آپاچی ۲ به ادامه راهکارهایی جهت افزایش امنیت در وب سرور آپاچی میپردازیم.