🔐🌐 ""Усиление безопасности веб-серверов Linux с помощью самоподписанных сертификатов"" 🛡️🖥️
Системные администраторы Linux, важность HTTPS в современном вебе неоспорима, и иногда возникает необходимость быстро настроить сертификацию, особенно в закрытых или тестовых средах. Вот почему предлагается взглянуть на простой и удобный способ создания самоподписанных сертификатов для ваших веб-серверов, используя только встроенные инструменты системы. 🚀📝
🔹 Создание ключа и сертификата для CA:
🔹 Генерация ключа и CSR для сервера:
🔹 Подготовка конфигурационного файла:
Добавьте следующие строки в файл:
🔹 Генерация сертификата на основе CSR:
🔹 Копирование сертификата и ключа в директорию веб-сервера:
🔹 Создание файла dhparam:
🔹 Добавление конфигурации в Nginx:
🔹 Перезапуск Nginx:
🔹 Добавление CA в доверенные на локальном сервере:
Теперь можно безопасно подключаться к веб-серверу по доменному имени или IP-адресу, используя самоподписанный сертификат на 9999 дней без предупреждений браузера.
Эта инструкция станет отличным ресурсом для быстрой настройки и обеспечения безопасности ваших веб-серверов, особенно когда доступ к Let's Encrypt ограничен или невозможен.
Системные администраторы Linux, важность HTTPS в современном вебе неоспорима, и иногда возникает необходимость быстро настроить сертификацию, особенно в закрытых или тестовых средах. Вот почему предлагается взглянуть на простой и удобный способ создания самоподписанных сертификатов для ваших веб-серверов, используя только встроенные инструменты системы. 🚀📝
🔹 Создание ключа и сертификата для CA:
mkdir ~/tls && cd ~/tls
openssl ecparam -out myCA.key -name prime256v1 -genkey
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 9999 -out myCA.crt
🔹 Генерация ключа и CSR для сервера:
openssl genrsa -out domainname.key 2048
openssl req -new -key domainname.key -out domainname.csr
🔹 Подготовка конфигурационного файла:
mcedit domainname.ext
Добавьте следующие строки в файл:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
IP.1 = IP_ADDRESS
DNS.1 = domainname.internal
🔹 Генерация сертификата на основе CSR:
openssl x509 -req -in domainname.csr -CA myCA.crt -CAkey myCA.key
-CAcreateserial -out domainname.crt -days 9999 -sha256 -extfile domainname.ext
🔹 Копирование сертификата и ключа в директорию веб-сервера:
mkdir /etc/nginx/certs
cp domainname.crt /etc/nginx/certs/.
cp domainname.key /etc/nginx/certs/.
🔹 Создание файла dhparam:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
🔹 Добавление конфигурации в Nginx:
listen 443 http2 ssl;
server_name domainname.internal IP_ADDRESS;
ssl_certificate /etc/nginx/certs/domainname.crt;
ssl_certificate_key /etc/nginx/certs/domainname.key;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
🔹 Перезапуск Nginx:
nginx -t
nginx -s reload
🔹 Добавление CA в доверенные на локальном сервере:
cp myCA.crt /usr/local/share/ca-certificates/.
update-ca-certificates
Теперь можно безопасно подключаться к веб-серверу по доменному имени или IP-адресу, используя самоподписанный сертификат на 9999 дней без предупреждений браузера.
Эта инструкция станет отличным ресурсом для быстрой настройки и обеспечения безопасности ваших веб-серверов, особенно когда доступ к Let's Encrypt ограничен или невозможен.