Получаване на SSL сертификат Let's Encrypt в Ubuntu с помощта на Certbot
Какво е SSL сертификат и защо ми е необходим?
SSL сертификатът е специален цифров сертификат, който осигурява сигурна връзка между уеб сървъра и браузъра на потребителя. Той криптира данните, предавани между тези две точки, което ги предпазва от прихващане от нарушители. Основната цел на SSL сертификата е да гарантира поверителността и целостта на информацията, особено когато става въпрос за предаване на лични данни, като например пароли или данни за плащане. Наличието на SSL сертификат на даден уебсайт не само повишава нивото на сигурност, но и оказва положително въздействие върху доверието на потребителите. Съвременните интернет браузъри като Chrome и Firefox отбелязват сайтовете без SSL сертификати като несигурни, което може да отблъсне потенциалните клиенти. Освен това търсачките като Google предпочитат сайтове със SSL, което може да подобри позицията им в резултатите от търсенето. Следователно инсталирането на SSL сертификат не е само въпрос на сигурност, но и важна стъпка към подобряване на репутацията на вашия онлайн бизнес. В днешната среда на защита на данните и неприкосновеността на личния живот на клиентите той се превръща в необходимост за всеки собственик на уебсайт.Предимства на използването на Let's Encrypt за получаване на SSL сертификат
Използването на Let's Encrypt за получаване на SSL сертификат предлага много значителни предимства, които го правят идеален избор както за собствениците на малки уебсайтове, така и за големите компании. Първо, Let's Encrypt предоставя сертификати безплатно, което значително намалява разходите за защита на вашия уеб ресурс. Второ, процесът на получаване на сертификат е автоматизиран, което значително намалява времето, необходимо за инсталирането и актуализирането му. Това е особено важно за тези, които не притежават технически умения, тъй като Let's Encrypt предлага ясни инструкции и поддръжка за различни сървъри. Освен това автоматизирането на актуализациите на сертификатите помага да се избегнат проблеми с изтичането на срока на валидност, които могат да доведат до загуба на доверието на потребителите и до негативни последици за SEO. И накрая, използването на SSL сертификат от Let's Encrypt помага за повишаване на нивото на доверие от страна на посетителите, тъй като наличието на HTTPS защитава данните на потребителите и подобрява класирането на сайта в търсачките. По този начин Let's Encrypt се превръща не само в рентабилен, но и в ефективен инструмент за създаване на безопасно и сигурно онлайн присъствие.Инсталиране на Certbot в Ubuntu
Инсталирането на Certbot в Ubuntu е ключова стъпка, за да се гарантира, че сайтът ви е сигурно свързан с помощта на SSL/TLS сертификати. Първо се уверете, че системата ви е актуализирана, като изпълните командите:apt update
apt upgrade
След това инсталирайте Certbot, като използвате командата Nginx за потребителите на Nginx:
apt install certbot python3-certbot-nginx
И за Apache:
apt install certbot python3-certbot-apache
След успешното инсталиране можете да стартирате Certbot, за да получите и инсталирате сертификата. За целта изпълнете командата в зависимост от вашия уеб сървър:
certbot --nginx
илиcertbot --apache
Certbot ще ви подкани да въведете име на имейл и домейн и автоматично ще конфигурира сървъра ви за работа с получения сертификат. Не забравяйте да конфигурирате автоматичното подновяване на сертификата, като добавите командата към cron:
0 0,12 * * * root certbot renew --quiet
Това гарантира, че сертификатът ви ще бъде актуализиран без ваша намеса. Като следвате тези стъпки, можете лесно да инсталирате Certbot на Ubuntu и да защитите уебсайта си, като повишите доверието на потребителите и подобрите SEO класирането.
Получаване на SSL сертификат с Certbot за нов домейн
За да се опрости задачата за получаване на SSL сертификат с помощта на горната команда, можете първоначално да зададете домейните, за които ще се издават сертификати. Това ще намали броя на интерактивните въпроси на помощната програма certbot:certbot --nginx -d example.com -d www.example.com -n --agree-tos --email [email protected]
където example.com трябва да се замени с вашия домейн.Обърнете внимание, че ако има конфигурация на Nginx в /etc/nginx/sites-enabled/example.com.conf, параметрите на сертификата ще бъдат добавени към нея. А в случай на липса на такъв файл към файла по подразбиране /etc/nginx/sites-enabled/default.
Конфигуриране на автоматично подновяване на сертификата
Съвременните уеб сървъри, като Apache и Nginx, позволяват лесно интегриране на автоматизирани процеси за подновяване на SSL/TLS сертификати. За тази цел се препоръчва използването на инструменти като Certbot, който поддържа автоматично подновяване на сертификати от Let's Encrypt. След като инсталирате Certbot, можете да конфигурирате планировчика на задачи (cron) да проверява датата на изтичане на сертификата и да стартира подновяването 30 дни преди изтичането му (самата команда е посочена в статията малко по-горе). Това ще елиминира риска от прекъсване на работата на сайта ви поради изтекъл сертификат. Важно е също така да не забравяте да тествате процеса на подновяване: можете да използвате командата за симулация на подновяване на SSL сертификат, за да се уверите, че всичко работи правилно:certbot renew --dry-run
Настройването на известия за състоянието на сертификата ви помага да бъдете в течение на потенциалните проблеми. С автоматичното подновяване на сертификатите не само поддържате високо ниво на сигурност, но и спестявате време и ресурси, което е от решаващо значение за всеки бизнес в цифровата ера. По този начин редовното подновяване на сертификатите става част от вашата стратегия за защита на данните и изграждане на доверие на клиентите.
В съвременните системи не е необходимо да добавяте задача на cron, тъй като има услуга Certbot.timer, която автоматизира процеса на подновяване на SSL сертификата. Нейната основна задача е периодично да проверява и подновява сертификатите, като по този начин избягва изтичането на срока им и гарантира сигурността на вашия уебсайт. Използването на certbot.timer е особено актуално за администраторите, които се сблъскват с често срещани грешки в сертификатите, като изтичане на срока им на валидност или неправилна конфигурация. Задачите се изпълняват автоматично чрез системния планиращ модул systemd. Certbot.timer ще извършва проверки на сертификатите и ако срокът им на валидност наближава, автоматично ще започне процес на подновяване. Това значително намалява тежестта върху администраторите и им позволява да се съсредоточат върху други важни задачи.
Можете да проверите работата на таймера на Certbot с командата:
systemctl status certbot.timer
В този изход можете да видите, че услугата ще изпълнява задачата два пъти дневно, като последното изпълнение е било преди 13 минути, а до следващото остават още 8 часа.
Конфигуриране на защитната стена ufw
Ако използвате защитна стена, не забравяйте да отворите достъпа до порт 443, за да позволите на сайтовете да работят през защитена връзка. По-долу ще опиша как да направите това в случай на използване на защитна стена ufw в Ubuntu.Текущите настройки на защитната стена ufw могат да се видят по следния начин:
ufw status
Разрешаваме HTTP и HTTPS трафик. Най-лесният начин да направите това е да активирате профила Nginx Full, като същевременно премахнете Nginx HTTP:
ufw allow 'Nginx Full'
ufw delete allow 'Nginx HTTP'
И проверете отново състоянието.
С това конфигурацията на Certbot е завършена.
28 Jan 2025, 10:45:09