Как обезопасить свой сайт на платформе 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 []:[email protected]

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 Server . Сопоставьте свои настройки с приведенной ниже информацией, заменив 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). Ваш веб-браузер покажет безопасное соединение, используя ваш самоподписанный сертификат.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше