Обезбеђивање Nginx-а са Let’s Encrypt на Rocky Linux 9

Uvod

Nginx je jedan od najpopularnijih veb servera, poznat po svojoj efikasnosti, bezbednosti i prilagodljivosti. Let’s Encrypt je neprofitna organizacija koja pruža besplatne SSL/TLS sertifikate, omogućavajući sigurnu komunikaciju između veb servera i korisnika. U ovom vodiču, detaljno ćemo opisati postupak osiguranja Nginx servera sa Let’s Encrypt sertifikatima na Rocky Linux 9 operativnom sistemu.

Bezbednost je ključna za svaku veb lokaciju. SSL/TLS sertifikati, kao što su oni koje nudi Let’s Encrypt, igraju vitalnu ulogu u zaštiti podataka koji se razmenjuju između veb servera i posetilaca. Ovaj proces, poznat kao „HTTPS“, koristi kriptografiju za enkripciju komunikacije, sprečavajući tako neovlašćeni pristup i pregledu podataka od strane trećih lica.

Iako je moguće ručno pribaviti sertifikate za veb stranicu, korišćenje Let’s Encrypt sa svojom automatizovanom prirodom čini proces mnogo jednostavnijim i efikasnijim. Pored toga, Let’s Encrypt nudi besplatne SSL/TLS sertifikate, što ovaj proces čini dostupnim svima.

Instalacija Nginx-a i potrebnih paketa

1. Ažuriranje sistema: Prvo, ažurirajte sve sistemske pakete koristeći sledeću naredbu:

sudo dnf update -y

2. Instalacija Nginx servera:

sudo dnf install nginx -y

3. Pokretanje Nginx servera:

sudo systemctl start nginx

4. Omogućavanje automatskog pokretanja Nginx-a pri svakom butovanju sistema:

sudo systemctl enable nginx

Instalacija Let’s Encrypt i Certbot alata

1. Dodavanje EPEL repozitorijuma:

sudo dnf install epel-release -y

2. Instalacija Certbot-a:

sudo dnf install certbot -y

Dobijanje Let’s Encrypt sertifikata

1. Generisanje sertifikata:

sudo certbot certonly --standalone -d your-domain.com -d www.your-domain.com

Zamenite your-domain.com sa vašim stvarnim imenom domena. Ovo će pokrenuti Certbot proces za generisanje sertifikata. Bićete upitani da unesete svoju imejl adresu i da prihvatite uslove korišćenja Let’s Encrypt-a.

2. Provera da li su sertifikati uspešno instalirani:

ls /etc/letsencrypt/live/your-domain.com/

Konfiguracija Nginx-a za korišćenje SSL/TLS sertifikata

1. Otvaranje Nginx konfiguracionog fajla:

sudo nano /etc/nginx/conf.d/your-domain.com.conf

2. Dodavanje sledećeg sadržaja u fajl:

server {
    listen 80;
    server_name your-domain.com www.your-domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name your-domain.com www.your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:DES-CBC3-SHA:RC4-SHA:RC4-MD5';
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:10m;

    location / {
        root /var/www/html;
        index index.html index.php;
    }
}

3. Ponovo pokretanje Nginx servera:

sudo systemctl restart nginx

Provera sertifikata

1. Otvaranje veb pregledača: Upišite adresu https://your-domain.com u veb pregledaču i proverite da li je sajt siguran. Trebalo bi da vidite zeleni „katanac“ simbol u adresnoj liniji.

2. Provera detalja sertifikata: Možete proveriti detaljne informacije o sertifikatu klikom na zeleni „kantanac“ simbol.

Automatsko obnavljanje sertifikata

Certbot nudi mogućnost automatskog obnavljanja Let’s Encrypt sertifikata pre isteka roka. To se može postići pomoću cron zadatka.

1. Dodavanje cron zadatka:

sudo crontab -e

2. Dodavanje sledeće linije u fajl:

0 0 * * * /usr/bin/certbot renew --quiet >> /var/log/letsencrypt/renew.log 2>&1

Ovaj zadatak će se izvršavati svakodnevno u ponoć.

Zaključak

Osiguranje veb sajta sa SSL/TLS sertifikatima je ključan korak za zaštitu korisničkih podataka i povećanje poverenja u vašu veb lokaciju. Let’s Encrypt je izuzetno moćno i besplatno rešenje za dobijanje i upravljanje SSL/TLS sertifikatima. U ovom vodiču smo detaljno opisali kako osigurati Nginx server sa Let’s Encrypt sertifikatima na Rocky Linux 9, uključujući instalaciju potrebnih paketa, generisanje sertifikata i konfiguraciju Nginx-a.

Zahvaljujući automatskom obnavljanju sertifikata, nema potrebe za ručnom proverom i obnavljanjem sertifikata. Ovo eliminiše potencijalne probleme sa isteklim sertifikatima i osigurava konstantnu sigurnost vaše veb lokacije.

Često postavljana pitanja

1. Šta je SSL/TLS sertifikat?

SSL/TLS sertifikati su digitalni sertifikati koji se koriste za uspostavljanje sigurne komunikacije između veb servera i korisnika. Ovaj proces, poznat kao „HTTPS“, koristi kriptografiju za šifrovanje podataka, čime se sprečava neovlašćeno presretanje informacija od strane trećih lica.

2. Šta je Let’s Encrypt?

Let’s Encrypt je neprofitna organizacija koja pruža besplatne SSL/TLS sertifikate za veb sajtove.

3. Kako funkcioniše Let’s Encrypt?

Let’s Encrypt koristi proces verifikacije domena da bi potvrdio da je veb administrator zaista vlasnik domena. Ova verifikacija se može izvršiti putem DNS zapisa ili HTTP provere.

4. Zašto je važno koristiti HTTPS?

HTTPS je od vitalnog značaja za zaštitu podataka koji se razmenjuju između veb servera i korisnika. Bez HTTPS-a, svi podaci se šalju u nešifrovanom obliku, što čini sajt podložnijim napadima.

5. Šta se dešava ako sertifikat istekne?

Ako sertifikat istekne, veb pregledač će prikazati upozorenje da sajt nije siguran. To može odvratiti korisnike od upotrebe vaše veb lokacije.

6. Kako mogu da proverim da li je moj sertifikat validan?

Detaljne informacije o sertifikatu možete proveriti klikom na zeleni simbol „kantanac“ u adresnoj liniji veb pregledača.

7. Da li je Let’s Encrypt besplatan?

Da, Let’s Encrypt je besplatno rešenje za dobijanje i upravljanje SSL/TLS sertifikatima.

8. Kako mogu da obnovim sertifikat?

Certbot ima opciju da automatski obnovi Let’s Encrypt sertifikate pre isteka. Ovo se može podesiti pomoću cron zadatka.

9. Šta ako ne mogu da instaliram Certbot?

Ukoliko ne možete da instalirate Certbot, možete koristiti ručnu metodu za dobijanje Let’s Encrypt sertifikata.

10. Da li je potrebna registracija domena da bi se dobio sertifikat?

Da, za dobijanje Let’s Encrypt sertifikata neophodna je registracija domena.