Как да защитите своя уебсайт, задвижван от Nginx, използвайки SSL и защитени шифри

Въведение

SSL (съкращение от Secure Sockets Layer ) и неговият наследник, TLS (съкращение от Transport Layer Security ) са криптографски протоколи за защитена комуникация през Интернет. Може да се използва за създаване на сигурна връзка с уебсайт.

Въведение

Уверете се, че Nginx и OpenSSL са инсталирани на вашия сървър. В тази статия ще демонстрираме процеса, като генерираме самоподписан SSL сертификат.

Стъпка 1: Създайте директория за сертификата и частния ключ

Ще създадем директория (и ще я въведете) в /etc/nginx (ако приемем, че директорията е конфигурационната директория на Nginx), като:

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir

Стъпка 2: Създайте частен ключ и CSR

Нека започнем със създаването на частния ключ на сайта. В този пример ще използваме 4096-битов ключ за по-голяма сигурност. Имайте предвид, че 2048-битовият също е защитен, но НЕ ИЗПОЛЗВАЙТЕ 1024-БИТОВ ЧАСТЕН КЛЮЧ!

sudo openssl genrsa -out example.com.key 4096

Сега създайте заявка за подписване на сертификат (CSR) за подписване на сертификата. Ще използваме 512-битов SHA-2. Обърнете внимание на -sha512опцията.

sudo openssl req -new -key example.com.key -out example.com.csr -sha512

Той ще изведе списъци с полета, които трябва да бъдат попълнени. Уверете се, че Common Nameе зададено на името на вашия домейн! Също така, оставете A challenge passwordи An optional company nameпразно.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:LosAngeles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc
Organizational Unit Name (eg, section) []:Security
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:webmaster@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Стъпка 3: Подпишете сертификата си

Почти готово! Сега остава само да го подпишем. Не забравяйте да замените 365 (изтичане след 365 дни) с броя дни, който бихте предпочели.

sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512

Сега приключихме с изготвянето на самоподписан сертификат.

Стъпка 4: Настройте

Отворете примерния SSL конфигурационен файл на Nginx:

sudo nano /etc/nginx/conf.d/example_ssl.conf

Разкоментирайте в секцията под реда HTTPS сървър . Свържете конфигурацията си с информацията по-долу, като замените example.comв server_nameреда с името на вашия домейн или IP адреса. Също така задайте основната си директория.

# HTTPS server

server {
    listen       443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ecdh_curve secp384r1;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4; # no RC4 and known insecure cipher
location / {
  root   /usr/share/nginx/html;
  index  index.html index.htm;
 }
}

След това рестартирайте Nginx.

service nginx restart

Сега посетете уебсайта си с httpsадрес ( https://your.address.tld). Вашият уеб браузър ще покаже защитена връзка с помощта на вашия самоподписан сертификат.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече