Răspuns scurt
- Instalezi HTTPS cu Let's Encrypt rulând certbot cu modulul pentru serverul tău web, care emite certificatul, configurează serverul și programează reînnoirea automată.
- Certificatul este valabil 90 de zile, deci verifică că reînnoirea rulează singură și că porturile 80 și 443 sunt deschise pentru validare.
- Redirecționează tot traficul HTTP către HTTPS cu un 301 permanent.
- Activezi HSTS doar după ce fiecare resursă a site-ului se încarcă pe HTTPS, cu max-age de un an.
- Adaugă includeSubDomains și preload numai dacă toate subdomeniile, inclusiv cele interne, au HTTPS.
- Valabilitate certificat Let's Encrypt
- 90 de zile, reînnoire automată
- Antet HSTS recomandat
- max-age=31536000 (un an)
- Porturi necesare pentru validare
- 80 (HTTP-01) și 443
- Versiuni TLS acceptate
- 1.2 și 1.3; fără 1.0 și 1.1
Cum funcționează emiterea și reînnoirea
certbot dovedește autorității Let's Encrypt că controlezi domeniul: fie răspunde la o cerere HTTP pe portul 80 (HTTP-01), fie publică o înregistrare DNS (DNS-01). Pentru un domeniu .md obișnuit, HTTP-01 este suficient; DNS-01 este necesar pentru wildcard. După emitere, un temporizator systemd rulează certbot renew de două ori pe zi și reînnoiește certificatele cu sub 30 de zile rămase. Dacă firewall-ul închide portul 80 sau schimbi serverul web, reînnoirea eșuează în tăcere. Pune o alertă pe data de expirare, independentă de certbot.
HSTS: ce face și când îl activezi
Antetul Strict-Transport-Security spune browserului să nu mai încerce niciodată HTTP pentru domeniul tău, pe durata max-age. Elimină fereastra în care un atacator din aceeași rețea Wi-Fi poate intercepta prima cerere neprotejată. Prețul: dacă un subdomeniu rămâne pe HTTP, browserul îl blochează, iar tu nu poți anula rapid, fiindcă browserele păstrează antetul un an. Începe cu max-age scurt, o zi, verifică, apoi urcă la un an. Lista preload este practic ireversibilă pe termen scurt.
Ce nu rezolvă HTTPS și ce cer clienții din UE
HTTPS protejează datele în tranzit între browser și server. Nu protejează serverul de un plugin vulnerabil, nu ascunde un formular care trimite parole către un terț și nu înlocuiește autentificarea. Pentru un magazin din Moldova care vinde în UE sau pentru o firmă de outsourcing, TLS 1.2 și 1.3 cu HSTS activ este un punct pe lista de verificare a clientului, nu o certificare. Rulează periodic un test extern de configurare TLS; raportul intră direct în dosarul de securitate cerut prin articolul 28 GDPR.
Setări TLS și HSTS recomandate pe un server de producție| Setare | Valoare recomandată | Motiv |
|---|
| Protocoale TLS | TLSv1.2 TLSv1.3 | 1.0 și 1.1 sunt retrase de browsere |
|---|
| Redirect HTTP | 301 către https:// | o singură adresă canonică |
|---|
| HSTS max-age | 31536000 după perioada de test | un an, cerința listei preload |
|---|
| includeSubDomains | doar dacă toate subdomeniile au HTTPS | altfel blochezi staging și servicii interne |
|---|
| Reînnoire | certbot renew prin timer systemd + alertă externă | certificatul expiră la 90 de zile |
|---|
Comenzi și configurări
Emitere cu certbot pentru nginxapt install certbot python3-certbot-nginx
certbot --nginx -d exemplu.md -d www.exemplu.md --redirect
systemctl list-timers certbot.timer
certbot renew --dry-run
HSTS și TLS în blocul server nginxserver {
listen 443 ssl;
http2 on;
server_name exemplu.md www.exemplu.md;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
# Începe cu max-age=300, verifică o săptămână, apoi urcă la un an.
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
Verificare externă a antetuluicurl -sI https://exemplu.md | grep -i strict-transport-security
Exemple din practică
Vinărie din Cahul cu magazin online
Certificatul a expirat într-o duminică, fiindcă portul 80 fusese închis „pentru securitate” cu două luni înainte. Browserele au afișat avertisment, iar comenzile au scăzut la zero până luni. O regulă de firewall și o alertă de expirare au rezolvat definitiv.
Agenție IT din Chișinău cu subdomenii de staging
HSTS cu includeSubDomains a fost activat pe domeniul principal. Staging-ul unui client rula pe HTTP pe un subdomeniu și a devenit inaccesibil pentru toată echipa. Soluția a fost mutarea staging-ului pe alt domeniu și certificate pentru toate subdomeniile.
Greșeli frecvente
- Activezi HSTS cu max-age de un an din prima zi și blochezi propriul subdomeniu rămas pe HTTP.
- Închizi portul 80 și reînnoirea HTTP-01 eșuează fără să observe nimeni până la expirare.
- Instalezi certificatul, dar lași imagini și scripturi încărcate pe HTTP, iar browserul afișează conținut mixt.
- Adaugi preload fără să înțelegi că scoaterea din listă durează luni.
Cum te ajută 4hosting
- Pe planurile cPanel certificatul Let's Encrypt se emite și se reînnoiește automat, fără intervenția ta.
- Pe VPS și dedicate, orele de DevOps incluse acoperă configurarea TLS, HSTS și alerta de expirare; ceri lucrarea din panoul de client.
- Conținutul static livrat din CDN ajunge rapid în Moldova, pe HTTPS, fără configurare suplimentară.
Întrebări conexe
Am nevoie de certificat plătit pentru un magazin online?
Nu. Let's Encrypt oferă aceeași criptare ca certificatele comerciale, iar browserele le tratează identic. Certificatele plătite adaugă validare organizațională și garanții contractuale, relevante pentru bănci sau instituții, nu pentru un magazin obișnuit din Chișinău.
Ce fac dacă HSTS a blocat un subdomeniu de care am nevoie?
Pune HTTPS pe acel subdomeniu, este singura soluție rapidă. Poți reduce max-age la zero pe domeniul principal, dar browserele care au vizitat deja site-ul păstrează setarea până la următoarea vizită. De aceea includeSubDomains se activează abia după inventarul complet al subdomeniilor.