Как да внедрите ZeroSSL сертификат в Apache и Nginx?

Нека да разгледаме получаването на безплатен SSL / TLS сертификат от ZeroSSL и да го приложим в уеб сървърите на Apache и Nginx.


Въведение

Може би сте чували много за термина като HTTP и HTTPS. В първите дни беше определен протокол, който беше наречен като HyperText Transfer Protocol (HTTP). Това е начин за комуникация от браузър до уеб сървър. Когато тази комуникация се случи, данните, пътуващи по HTTP протокол, просто пътуват в изчистените текстови формати. Поради това се разбра, че HTTP комуникацията не е защитена и хакерите успяха да атакуват и да пресекат важните и чувствителни съобщения.

За да разрешите този проблем, HTTPS протокол влезе в снимката. Това е защитен протокол и акроним означава HyperText Transfer Protocol Secure. Той просто прави криптиране на данните, когато комуникацията се случи, и данните пътуват от уеб браузъра до уеб сървъра. Така че, ако някой хакер вземе тази информация, тя е криптирана.

Как работи HTTPS?

HTTPS протоколът работи на всяко едно от двете неща, това е SSL (Secure Socket Layer) или TLS (Transport Layer Security). И двата инструмента използват PKI (инфраструктура с публичен ключ). PKI, от своя страна, използва два ключа, т.е. публични и частни ключове. Всичко, което е криптирано чрез публичния ключ, може да се дешифрира с помощта на частния ключ и обратно.

Когато инсталираме SSL / TLS сертификат на нашия уебсайт, „криптиране на данниФункция се активира. SSL се използва като контролна точка за гарантиране на сигурността на данните, които се обменят в Интернет между браузъра на потребителя и сървъра на уебсайта.

Получаване на ZeroSSL сертификат

ZeroSSL е сертифициращ орган (CA), който прави нещата много лесни за всеки да инсталира сертификат, за да направи уебсайта защитен. Можете да получите до 3 сертификата с валидност 90 дни безплатно.

Нула SSL

  • Регистрирайте се с ZeroSSL
  • След като влезете, ще се появи по-долу страницата. Кликнете върху ‘Нов сертификат. “

  • Въведете URL адреса, който искате да защитите и кликнете върху „Следваща стъпка.

  • Изберете 90-дневен сертификат и Следващ

  • Нека да продължим с опцията за автоматично генериране на CSR

  • Продължете с плана „Безплатно“

След това ще трябва да потвърдите собствеността на домейна. Има няколко варианта.

  • DNS – ако можете да добавите запис на DNS запис
  • Имейл – ако можете да получите имейла до [Имейл защитен]
  • Качване на файл – ако можете да качите файл в корена на домейна

Изберете какво работи за вас. Ще продължа с въвеждането в DNS.

  • Добавих CNAME и съм готов да потвърдя домейна.

  • Накрая, след като бъде потвърден, SSL сертификатът е готов за изтегляне.

Ето моите изтеглени сертификати.

Време е да го приложим.

Изпълнение на Apache

Следното ще инсталирам Apache на Ubuntu.

Влезте в сървъра и инсталирайте с помощта на командата apt-get.

sudo apt-get install apache2

Нека разберем дали Apache работи с команда systemctl.

[Имейл защитен]: ~ # systemctl статус apache2
● apache2.service – HTTP сървърът на Apache
Заредена: заредена (/lib/systemd/system/apache2.service; активирана; предварително зададена настройка на доставчика: активирана)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Активен: активен (работи) от събота 2020-05-23 16:15:56 UTC; Преди 3s
Процес: 7852 ExecStop = / usr / sbin / apachectl stop (код = излязъл, статус = 0 / УСПЕХ)
Процес: 14179 ExecStart = / usr / sbin / apachectl start (код = излязъл, статус = 0 / УСПЕХ)
Основен PID: 14196 (apache2)
Задачи: 55 (ограничение: 2362)
CGroup: /system.slice/apache2.service
├─14196 / usr / sbin / apache2 -k старт
├─14199 / usr / sbin / apache2 -k старт
└─14200 / usr / sbin / apache2 -k старт

23 май 16:15:56 geekflare-lab systemd [1]: Стартиране на HTTP сървъра на Apache…
23 май 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Не можа надеждно да се определи напълно квалифицираното име на сървъра, като се използва 127.0.1.1. Задайте „Подаване
23 май 16:15:56 geekflare-lab systemd [1]: Стартира HTTP сървъра на Apache.

Страхотно, тече.

Моят домейн (lab.geekflare.com) вече сочи към този Apache сървър.

Но както виждате, той не е защитен и следователно ще конфигурираме сертификата, който получихме от ZeroSSL.

  • Нека създадем директория, наречена sslCA под / и т.н., за да съхраняваме сертификатните файлове.

CD / и т.н.
mkdir sslCA

  • Прехвърлете файловете в новосъздадената папка на сървъра

[Имейл защитен]: / etc / sslCA # ll
общо 20
drwxr-xr-x 2 корен на корен 4096 май 18 12:13 ./
drwxr-xr-x 92 корен на корен 4096 май 22 06:07 ../
-rw-r – r– 1 корен на корен 2430 май 18 05:37 ca_bundle.crt
-rw-r – r– 1 корен на корена 2292 май 18 05:37 сертификат.crt
-rw-r – r– 1 корен на корена 1702 18 май 05:37 private.key

  • Активиране на SSL модула

sudo a2enmod SSL

  • Ще трябва да рестартираме уеб сървъра, така че промените да бъдат разпознати.

sudo service apache2 рестартиране

  • Следващата стъпка е да конфигурирате сертификатните файлове в конфигурационния файл Apache SSL.

cd / etc / apache2 / модове-налични

  • Името на файла е ssl.conf. Трябва да добавим следното в директива.

SSLEngine на
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Запазете файла и излезте: wq!

След извършване на рестарта, SSL ще получи активиране на сайта. Нека да имаме достъп до сайта чрез https: //

И както виждате, „Връзката е сигурна ”. Това означава, че SSL сертификатът ни е успешно приложен към нашия уеб сървър.

Изпълнение на Nginx

Nginx се намира в стандартните хранилища на Ubuntu, така че е възможно да го инсталирате от тук с помощта на подходящата система за опаковане.

  • Командата по-долу се използва за инсталиране на „Nginx“.

sudo apt инсталирате nginx

  • След като инсталацията получи успех, можем да стартираме Nginx с помощта на командата по-долу.

systemctl start nginx

  • Проверете състоянието на Nginx.

[Имейл защитен]: ~ # systemctl статус nginx
● nginx.service – Уеб сървър с висока производителност и обратен прокси сървър
Заредена: заредена (/lib/systemd/system/nginx.service; активирана; предварително зададена настройка на доставчика: активирана)
Активен: активен (работи) от вторник 2020-05-19 06:54:00 UTC; преди 4 дни
Документи: мъж: nginx (8)
Процес: 8634 ExecStop = / sbin / start-stop-daemon –quiet – stop –retry QUIT / 5 –pidfile /run/nginx.pid (код = излязъл, статус = 0 / УСПЕХ)
Процес: 8661 ExecStart = / usr / sbin / nginx -g демон на; master_process на; (код = излязъл, статус = 0 / УСПЕХ)
Процес: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g демон на; master_process на; (код = излязъл, статус = 0 / УСПЕХ)
Основен PID: 8664 (nginx)
Задачи: 2 (ограничение: 2362)
CGroup: /system.slice/nginx.service
├─8664 nginx: главен процес / usr / sbin / nginx -g демон на; master_process на;
└─8707 nginx: работен процес

19 май 06:54:00 geekflare-lab systemd [1]: Стартиране на уеб сървър с висока производителност и обратен прокси сървър…
19 май 06:54:00 geekflare-lab systemd [1]: nginx.service: Неуспешен анализ на PID от файл /run/nginx.pid: Невалиден аргумент
19 май 06:54:00 geekflare-lab systemd [1]: Стартиран високоефективен уеб сървър и обратен прокси сървър.

  • Както се очаква, браузърът ще покаже предупреждението, тъй като връзката към този сайт не е защитена.

Нека бързо приложим сертификата, за да направим сайта защитен с помощта на HTTPS.

  • Нека създадем файл example.com.conf на /etc/nginx/conf.d местоположение. Съдържанието на файла ще изглежда по-долу.

сървър {
слушайте 443 SSL default_server;
слушай [::]: 443 SSL default_server;
име на сървър lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Сега е необходимо да добавите име на файл на сертификат във файл nginx.conf, който се намира в директорията „/ etc / nginx“.
  • Добавете следното в директивата http

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Рестартирайте Nginx, за да проверите промените

systemctl рестартирайте nginx

И тук тръгваме.

Интересувате се да научите Nginx? Вижте това курс по основи.

Тестване на SSL / TLS конфигурация

Конфигурацията по подразбиране може да е уязвима и силно препоръчвам тестване на вашия сайт след внедряване на сертификата. Има редица онлайн инструменти, които можете да проверите тук.

заключение

Надявам се това ви дава идея да получите сертификат от ZeroSSL и да го внедрите в два най-популярни уеб сървъра.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map