نحوه سخت کردن وب سرور Nginx در یک سرور اختصاصی Ubuntu 18.04 VPS یا سرور اختصاصی

مقدمه

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


پیش نیازها

لطفاً قبل از شروع این آموزش اطمینان حاصل کنید که موارد زیر را انجام داده اید.

  • Ubuntu 18.04 VPS Setup
  • آخرین سرور nginx وب نصب شده است (1.14.0 در زمان انتشار این مقاله)
  • نسخه ای از پرونده های پیکربندی زیر را تهیه کنید: /etc/nginx/nginx.conf ، / etc / nginx / sites-available / default.
  • کاربر غیر ریشه دارد سودو امتیازات

1. جزئیات مربوط به Nginx را مخفی کنید

نسخه nginx بصورت پیش فرض همانطور که در شکل زیر آمده است در عنوان های پاسخ نشان داده شده است.

داشتن چنین اطلاعاتی هکرها را در تلاش برای حمله به سرور وب تسهیل می کند.

$ curl -I http://35.226.204.122/
HTTP / 1.1 200 خوب
سرور: nginx / 1.14.0 (اوبونتو)
تاریخ: چهارشنبه ، 06 ژوئن 2018 14:35:24 GMT
نوع محتوا: text / html
محتوا-طول: 612
آخرین اصلاح: چهارشنبه ، 06 ژوئن 2018 14:34:09 GMT
اتصال: زنده نگه دارید
ETag: "5b17f0e1-264"
محدوده پذیرش: بایت

غیرفعال کردن خط زیر در قسمت http در پرونده اصلی پیکربندی nginx /etc/nginx/nginx.conf نشت اطلاعات را غیرفعال کنید.

http
server_tokens خاموش است؛

فایل را ذخیره کرده و nginx را بارگیری مجدد کنید

$ sudo systemctl nginx بارگذاری مجدد

تأیید کنید که جزئیات نسخه nginx دیگر نشان داده نشده است.

$ curl -I http://35.226.204.122/
HTTP / 1.1 200 خوب
سرور: nginx
تاریخ: چهارشنبه ، 06 ژوئن 2018 14:44:20 GMT
نوع محتوا: text / html
محتوا-طول: 612
آخرین اصلاح: چهارشنبه ، 06 ژوئن 2018 14:34:09 GMT
اتصال: زنده نگه دارید
ETag: "5b17f0e1-264"
محدوده پذیرش: بایت

2. محافظت از X-XSS را فعال کنید

X-XSS از سرور وب در برابر حملات اسکریپت کراس سایت محافظت می کند. خط زیر را در بخش http در پرونده اصلی پیکربندی nginx /etc/nginx/nginx.conf اضافه کنید

add_header X-XSS-Protection "1؛ حالت = بلوک"؛

همانطور که در زیر نشان داده شده است:

http
server_tokens خاموش است؛
add_header X-XSS-Protection "1؛ حالت = بلوک"؛

ذخیره فایل و بارگیری مجدد سرویس nginx

3- روش های HTTP نامطلوب را غیرفعال کنید

روشهای مطلوب HTTP شامل POST ، HEAD ، GET می باشد در حالی که روش های نامطلوب DELETE یا TRACE هستند. این موارد بسیار خطرناک است زیرا آنها می توانند اطلاعات سرقت کوکی را از طریق حملات مقابله با سایت متقاطع فراهم کنند.

برای غیرفعال کردن این ، خط زیر را در قسمت سرور در پرونده پیکربندی nginx / etc / nginx / sites-available / default اضافه کنید

if ($ درخواست_method! ^ (GET | HEAD | POST) $)
{
بازگشت 405؛
}

خطوط را مطابق شکل زیر اضافه کنید:

سرور {
گوش دادن 80 default_server؛
گوش دادن [:]: 80 default_server؛
# پیکربندی SSL
#
# گوش 443 ssl پیش فرض_server؛
# listen [:]: 443 ssl default_server؛
#
# توجه: شما باید gzip را برای ترافیک SSL غیرفعال کنید.
# ببینید: https://bugs.debian.org/773332
#
# برای اطمینان از پیکربندی ایمن ، ssl_ciphers را بخوانید.
# ببینید: https://bugs.debian.org/765782
#
# گواهینامه های خود امضا شده توسط بسته ssl-cert تولید شده است
# از آنها در یک سرور تولید استفاده نکنید!
#
# شامل snippets / snakeoil.conf؛
root / var / www / html؛
اگر از PHP استفاده می کنید ، index.php را به لیست اضافه کنید
index index.html index.htm index.nginx-debian.html؛
نام ارائهکننده _؛
محل / {
# اولین تلاش برای ارائه درخواست به عنوان پرونده ، سپس
# به عنوان فهرست ، سپس به نمایش 404 بازگردید.
try_files $ uri $ uri / = 404؛
}
if ($ درخواست_method! ^ (GET | HEAD | POST) $)
{
بازگشت 405؛
}

ذخیره فایل و بارگیری مجدد سرویس nginx

4- از حملات Clickjacking جلوگیری کنید

حمله Clickjacking مستلزم هکر قرار دادن لینک مخفی در زیر دکمه مجاز در سایت است و کاربر ناخواسته روی پیوند مهاجم کلیک می کند که باعث بدخواهی می شود. در بیشتر موارد این کار با استفاده از iframes انجام می شود. از این رو در nginx ، توصیه می شود X-FRAME را وارد کنید-گزینه ها "SAMEORIGIN" در سربرگ برای محدود کردن مرورگر برای بارگیری منابع فقط از وب سرور.

خط زیر را در قسمت http در پرونده اصلی پیکربندی nginx /etc/nginx/nginx.conf اضافه کنید

گزینه های add_header X-Frame "SAMEORIGIN"؛

همانطور که در زیر نشان داده شده است:

http
server_tokens خاموش است؛
add_header X-XSS-Protection "1؛ حالت = بلوک"؛
گزینه های add_header X-Frame "SAMEORIGIN"؛

ذخیره فایل و بارگیری مجدد سرویس nginx

5. همیشه Nginx را به روز نگه دارید

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

$ sudo add-apt-repository ppa: nginx / پایدار
برای ادامه کار با اضافه کردن مخزن ، هنگامی که به شما فوراً دستورالعمل یا عدم کار داد ، کلید Enter را فشار دهید

$ sudo به روزرسانی مناسب

$ sudo apt نصب nginx -y

نتیجه

5 مرحله ذکر شده روشهای اساسی تأمین امنیت سرور nginx است. برخی اقدامات اضافی که می توانید برای تأمین سرور nginx خود انجام دهید عبارتند از:

  • گواهینامه SSL را در سرور وب nginx نصب کنید تا کلیه ارتباطات از طریق اینترنت رمزگذاری شود
  • پیاده سازی NGINX WAF (NGINX Plus با ModSecurance WAF (فایروال برنامه وب) ، که سازگار با PCI ‑ DSS 6.6 است و از سرور وب در برابر DDoS محافظت می کند ، لیست سیاه را در زمان واقعی انجام می دهد.
  • Secure Diffie-Hellman برای TLS به عنوان بخشی از بهینه سازی SSL / TLS
  • سوئیت های رمزنگاری ضعیف را غیرفعال کنید تا فقط رمزهای قوی از این طریق آسیب پذیری را کاهش دهند

با انجام تمام این مراحل ، شما با موفقیت سرور وب Nginx خود را که بر روی سرور Ubuntu 18.04 خود اجرا می کند سخت کرده است.

این 3 سرویس برتر میزبانی سرور اختصاصی را ببینید:

میزبانی A2

قیمت شروع:
99.59 دلار


قابلیت اطمینان
9.3


قیمت گذاری
9.0


کاربر پسند
9.3


پشتیبانی
9.3


امکانات
9.3

بررسی ها را بخوانید

از میزبانی A2 دیدن کنید

FastComet

قیمت شروع:
139.00 دلار


قابلیت اطمینان
9.7


قیمت گذاری
9.5


کاربر پسند
9.7


پشتیبانی
9.7


امکانات
9.6

بررسی ها را بخوانید

از FastComet بازدید کنید

میزبان ها

قیمت شروع:
99.00 دلار


قابلیت اطمینان
9.3


قیمت گذاری
9.2


کاربر پسند
9.2


پشتیبانی
9.3


امکانات
9.2

بررسی ها را بخوانید

از Hostwinds دیدن کنید

مقالات مرتبط با نحوه

  • چگونه سرور وب Apache خود را در سرور اختصاصی Ubuntu 18.04 یا VPS سخت نگهدارید
    کارشناس
  • نحوه پیکربندی Nginx برای استفاده از گواهی خود امضا SSL / TLS در Ubuntu 18.04 VPS یا سرور اختصاصی
    حد واسط
  • چگونه یک گواهی رمزگذاری شده Let را در سرور اختصاصی Ubuntu 18.04 یا VPS خود نصب کنید
    حد واسط
  • نحوه راه اندازی وردپرس Multisite در اوبونتو 18.04 با Apache Web Server
    حد واسط
  • چگونه می توان Fail2ban را در Ubuntu 18.04 VPS Server یا سرور اختصاصی خود تنظیم کرد
    حد واسط
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me