اگرچه نصب پیش فرض یک سرور مجازی Apache HTTP در حال حاضر ایمن است ، اما پیکربندی آن با چند اصلاح جزیی قابل بهبود می شود. برای مثال می توانید مکانیزم های امنیتی موجود را با تنظیم محافظت حول کوکی ها و هدرها تکمیل کنید ، بنابراین کانکشن ها در سطح مشتری تحت تاثیر قرار نمیگیرند. با انجام این کار می توانید چندین روش حمله احتمالی مانند حملات اسکریپت Cross-Site (که به عنوان XSS نیز شناخته می شود) را به طرز چشمگیری کاهش دهید. همچنین می توانید از حملات دیگر ، مانند جعل درخواست Cross-Site یا ربودن بخش ها و همچنین حملات رد سرویس جلوگیری کنید.
در این آموزش برخی از مراحل توصیه شده را برای کاهش میزان در معرض قرار گرفتن سرور مجازی خود اجرا خواهید کرد. لیست های دایرکتوری را تأیید می کنید و نمایه سازی را غیرفعال می کنید تا دسترسی به منابع را بررسی کنید. همچنین می توانید مقدار پیش فرض دیرکتیو timeout را تغییر دهید تا به کاهش حملات رد خدمات کمک کنید. علاوه بر این شما روش TRACE را غیرفعال می کنید تا بخش ها قابل برگشت و ربودن نباشند. سرانجام هدرها و کوکی ها را ایمن خواهید کرد.
بیشتر تنظیمات پیکربندی روی فایل اصلی پیکربندی Apache HTTP اعمال می شود که در /usr/local/etc/apache24/httpd.conf وجود دارد.
پیش نیازها
قبل از شروع این راهنما به موارد زیر نیاز خواهید داشت:
سرور مجازی FreeBSD 12 که با پیروی از راهنمای چگونگی شروع با FreeBSD تنظیم شده باشد.
یک فایروال که طبق بخش پیکربندی فایروال در مقاله مراحل پیشنهادی برای سرور مجازی های جدید FreeBSD 12.0 ، راه‌اندازی شده باشد.
یک استک کامل FAMP که با دنبال کردن آموزش نحوه نصب استک Apache ، MySQL و PHP (FAMP) در FreeBSD 12.0 نصب شده باشد.
گواهی Let’s Encrypt که با پیروی از آموزش نحوه ایمن سازی Apache با Let’s Encrypt در FreeBSD ، نصب شده باشد.
با داشتن پیش نیازهای موجود ، شما یک سیستم FreeBSD دارید که دارای استکی است که می تواند با استفاده از هر آنچه که در PHP نوشته شده است ، مانند نرم افزارهای اصلی CMS ، محتوای وب را ارائه دهد. علاوه بر این ، شما اتصالات ایمن را از طریق Let ‘Encrypt رمزگذاری کرده اید.
کاهش اطلاعات سرور مجازی
بنر سیستم عامل روشی است که توسط رایانه ها ، سرور مجازی ها و دستگاه های مختلف مورد استفاده قرار می گیرد تا خود را در شبکه ها نشان دهند. کاربران مخرب می توانند از این اطلاعات برای سوء استفاده از سیستم های مربوطه استفاده کنند. در این بخش می توانید میزان اطلاعات منتشر شده توسط این بنر را کاهش دهید.
مجموعه ای از بخشنامه ها نحوه نمایش این اطلاعات را کنترل می کنند. برای این منظور دستورالعمل ServerTokens مهم میباشد. بصورت پیش فرض تمام جزئیات مربوط به سیستم عامل و ماژول های کامپایل شده را به مشتری که به آن متصل است نمایش می دهد.
شما می توانید از ابزاری برای اسکن شبکه استفاده کنید تا بررسی کنید که قبل از اعمال هرگونه تغییر ، چه اطلاعاتی را نشان می دهد. برای نصب nmap دستور زیر را اجرا کنید:
$ sudo pkg install nmap
برای به دست آوردن آدرس IP سرور مجازی خود ، می توانید دستور زیر را اجرا کنید:
$ ifconfig vtnet0 | awk ‘/inet / {print $2}’
با استفاده از دستور زیر می توانید پاسخ سرور مجازی وب را بررسی کنید:
$ nmap -sV -p 80 your-server-ip
برای ایجاد اسکن (و در نتیجه فلگ s) nmap را به کار میگیرید ، تا نسخه (فلگ –V) را روی پورت 80 (فلگ –p) در IP یا دامنه داده شده نمایش دهید.
اطلاعاتی درباره سرور مجازی وب خود دریافت خواهید کرد ، که مشابه زیر است:
Output
Starting Nmap 7.80 ( https://nmap.org ) at 2020-01-22 00:30 CET
Nmap scan report for 206.189.123.232
Host is up (0.054s latency).

PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((FreeBSD) OpenSSL/1.1.1d-freebsd

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.59 seconds

این خروجی نشان می دهد که اطلاعاتی از قبیل سیستم عامل ، نسخه Apache HTTP و OpenSSL قابل مشاهده هستند. این می تواند برای حمله کنندگان مفید باشد تا اطلاعاتی در مورد سرور مجازی کسب کنند و ابزارهای مناسبی را برای سوء استفاده از آنها انتخاب کنند ، به عنوان مثال یافت آسیب پذیری در نرم افزاری که روی سرور مجازی کار می کند.
دستورالعمل ServerTokens را در فایل اصلی تنظیمات قرار خواهید داد زیرا به طور پیش فرض پیکربندی نشده است. نبود این پیکربندی باعث می شود که Apache HTTP تمام اطلاعات مربوط به سرور مجازی را همانطور که اسناد بیان می کند نمایش دهد. برای محدود کردن اطلاعاتی که درباره سرور مجازی و پیکربندی شما نشان داده شده است ، دستورالعمل ServerTokens را درون فایل اصلی تنظیمات قرار دهید.
شما این دستورالعمل را پس از ورود ServerNameی در فایل پیکربندی قرار می دهید. دستور زیر را برای یافتن دیرکتیو اجرا کنید
$ grep -n ‘ServerName’ /usr/local/etc/apache24/httpd.conf
شماره خطی را پیدا می کنید که می توانید بعد از آن از طریق vi جستجو کنید:
Output226 #ServerName www.example.com:80

دستور زیر را اجرا کنید:
$ sudo vi +226 /usr/local/etc/apache24/httpd.conf

خط هایلایت شده زیر را اضافه کنید:
/usr/local/etc/apache24/httpd.conf
. . .
#ServerName www.example.com:80
ServerTokens Prod

فایل را ذخیره کنید و از آن خارج شوید: wq و ENTER.
تنظیم دستورالعمل ServerTokens روی Prod باعث می شود که فقط نشان دهد این یک سرور مجازی وب Apache میباشد.
برای این کار ، سرور مجازی Apache HTTP را مجدداً راه اندازی کنید:
$ sudo apachectl restart
برای آزمایش تغییرات ، دستور زیر را اجرا کنید:
$ nmap -sV -p 80 your-server-ip
با حداقل اطلاعات در مورد وب سرور مجازی Apache خود ، خروجی مشابه با موارد زیر را مشاهده خواهید کرد:
Output
Starting Nmap 7.80 ( https://nmap.org ) at 2020-01-22 00:58 CET
Nmap scan report for WPressBSD (206.189.123.232)
Host is up (0.056s latency).

PORT STATE SERVICE VERSION
80/tcp open http Apache httpd

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.59 seconds

مشاهده کردید که سرور مجازی قبل از تغییر چه اطلاعاتی را اعلام می کرد و اکنون این میزان را به حداقل رسانده اید. با این کار سرنخ های کمتری را برای یک کاربر بیرونی ارائه می دهید. در مرحله بعد لیست دیرکتوری ها را برای سرور مجازی وب خود مدیریت خواهید کرد.
مدیریت لیست های دایرکتوری
در این مرحله اطمینان حاصل می کنید که لیست دیرکتوری به درستی پیکربندی شده است ، بنابراین قسمت های مناسب سیستم طبق برنامه در دسترس عموم است ، در حالی که بقیه بخش ها محافظت می شوند.
توجه: وقتی یک آرگومان اعلام میشود فعال است ، اما + می تواند از لحاظ بصری آن را تقویت کند که در واقع فعال شده است وقتی یک علامت منفی – قرار داده می شود ، آرگومان رد می شود ، برای مثال Options –Indexes.
آرگومان های دارای + و / یا – نمی توانند با هم مخلوط شوند ، این مسئله در Apache HTTP یک ترکیب بد تلقی می شود و ممکن است در هنگام راه اندازی رد شود.
با افزودن عبارت Options -Indexes محتوای داخل مسیر داده /usr/local/www/apache24/data تنظیم می شود تا در صورت وجود یک فایل .html به طور خودکار ایندکس نشود (فهرست شده بخواند) و نشان نمی دهد که آیا URL این دیرکتوری را نقشه برداری می کند یا خیر. این امکان همچنین در هنگام استفاده از تنظیمات هاست مجازی مانند نمونه مورد استفاده برای آموزش پیش نیاز گواهی Let’s Encrypt اعمال می شود.
شما دستورالعمل Options را با آرگومان -Indexes و با دستورالعمل + FollowSymLinks تنظیم می کنید ، که به شما امکان پیگیری پیوندهای نمادین را می دهد. برای مطابقت با قراردادهای HTTP Apache ، از نماد + استفاده خواهید کرد.
دستور زیر را پیدا کنید تا خط را برای ویرایش در فایل پیکربندی پیدا کنید:
$ grep -n ‘Options Indexes FollowSymLinks’ /usr/local/etc/apache24/httpd.conf
خروجی مشابه موارد زیر را مشاهده خواهید کرد:
Output
263 : Options Indexes FollowSymLinks

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نحوه نصب Nginx در CentOS 8  –  استفاده از Cron برای خودکارسازی کارها در اوبونتو 18

پکیج کردن و انتشار برنامه Snap در اوبونتو 18 – نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18

استقرارهای تولید Node.js خود را با Shipit در CentOS 7 –  نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10

چگونگی استفاده از migrations و seeders دیتابیس  –  نحوه نصب Docker Compose در Debian 10

نحوه نصب R روی اوبونتو 18.04 – چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

چگونه می توان هاست های مجازی Apache را در اوبونتو 18.04  –  نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نصب پشته Nginx، MySQL، PHP LEMP در CentOS 8 – نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

نحوه نصب پشته یا استک Nginx ، MySQL ، PHP LEMP  –  بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose

مراحل ایمن سازی Apache HTTP در FreeBSD 12  – بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16

درک Objectهای Map و Set در JavaScript  –  استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18

نحوه راه اندازی Eclipse Theia Cloud IDE در اوبونتو  –  چگونه می توان پلتفرم کد سرور Cloud IDE را در اوبونتو 18.04

نحوه استفاده از Cron برای خودکارسازی کارها در CentOS 8   –  چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی

نحوه نوشتن کد ناهمگام (غیر همزمان) در Node.js –  نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18

راه اندازی اولیه سرور با CentOS 8 –   تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes

نحوه تنظیم کلیدهای SSH در CentOS 8 –  نحوه نصب و استفاده از PostgreSQL در CentOS 7

نحوه ساختن یک برنامه Node.js با Docker  Quickstart  –  چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو

چگونه می توان هاست های مجازی Apache را در اوبونتو  –  مدیریت DNS با استفاده از DNSControl در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 –  چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7

نحوه نصب و استفاده از TimescaleDB در CentOS 7 – نحوه نصب Apache Kafka در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04  –  نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –