Fil-qosor: Konfigurazzjoni TLS soda għal web server toffri biss TLS 1.2 u TLS 1.3, tuża cipher suites b'Forward Secrecy u ċifrar awtentikat (AES-GCM, ChaCha20-Poly1305) u ċertifikat b'ċavetta ECDSA jew RSA twila biżżejjed, li jiġġedded awtomatikament. Orjentament jagħtu l-linja gwida BSI TR-02102-2 u r-rakkomandazzjonijiet Server-Side TLS ta' TLSRef. Ivverifikaw ir-riżultat mill-barra u ma tinsewx il-konnessjonijiet li PHP stess jibni.
Għaliex l-issettjar qadim ta' TLS jibqa' ħaj daqshekk
Il-lukkett fil-browser jinsab hemm, allura ċ-ċifrar jitqies li ntemm. Hekk jaħsbu ħafna operaturi, u għalhekk il-konfigurazzjoni TLS ħafna drabi tibqa' ma tinbidilx għal snin sħaħ. Din tkun toriġina miż-żmien tat-twaqqif tas-server, minn mudell ikkupjat jew mill-valuri awtomatiċi ta' panel.
Il-problema: ir-rakkomandazzjonijiet jinbidlu. Il-verżjonijiet tal-protokolli jiġu sostitwiti, proċeduri jitqiesu dgħajfa, jiżdiedu proċeduri ġodda ta' skambju taċ-ċwievet. Il-BSI (l-Uffiċċju Federali Ġermaniż għas-Sigurtà tal-Informazzjoni) ippubblika l-aħħar il-TR-02102 fil-verżjoni 2026-01 tas-27/01/2026 u hemmhekk diġà jindika proċeduri ibridi post-quantum għal TLS 1.3. Min ma ħarsx lejn l-issettjar tiegħu għal snin, x'aktarx ma jibqax aġġornat.
Min, xorta waħda, bħalissa qed jivverifika servers wara PHP2Shell, jista' jħares lejn il-konfigurazzjoni TLS f'daqqa. Ma tagħlaqx il-vulnerabbiltà ta' PHP, imma tappartjeni għal kull hardening nadif.
Fuq xiex hija bbażata konfigurazzjoni TLS tajba għal web server
Żewġ sorsi huma partikolarment utli għal operaturi fl-Ewropa. Il-BSI TR-02102 tivvaluta proċeduri kriptografiċi; il-Parti 2 tittratta TLS. Hija indirizzata l-aktar lil żviluppaturi u ppjanaturi u għal awtoritajiet u oqsma regolati spiss hija l-kejl. Ir-rakkomandazzjonijiet Server-Side TLS, ippreservati qabel fil-wiki ta' Mozilla, illum jinżammu taħt TLSRef u jagħtu profili konkreti li jistgħu jiġu kkupjati.
TLSRef fil-verżjoni 6.0 jiddistingwi żewġ profili:
| Karatteristika | Intermediate (għall-biċċa l-kbira tal-websajts) | Modern |
|---|---|---|
| Protokolli | TLS 1.2 u TLS 1.3 | biss TLS 1.3 |
| Cipher suites TLS 1.2 | ECDHE b'AES-GCM jew ChaCha20-Poly1305 | l-ebda waħda |
| Gruppi ta' skambju taċ-ċwievet | X25519MLKEM768, X25519, prime256v1, secp384r1 | bħal Intermediate |
| Ċertifikat | ECDSA P-256 rakkomandat jew RSA 2048 bit | ECDSA P-256 |
| Validità taċ-ċertifikat | 90 jum rakkomandat, l-aktar 366 jum | 90 jum |
| HSTS max-age | sentejn | sentejn |
Għal websajts pubbliċi Intermediate huwa l-punt tat-tluq tas-soltu. Il-profil jeskludi apparati antiki ħafna, imma jkopri browsers u sistemi operattivi attwali. Il-grupp ibridu X25519MLKEM768 jippreżupponi librerija TLS attwali. Iċċekkjaw jekk il-verżjoni tagħkom ta' OpenSSL tafux qabel ma tdaħħluh.
Nginx u Apache: punt tat-tluq sigur
L-eżempji li ġejjin japplikaw il-profil Intermediate. Il-mogħdijiet huma placeholders, il-lista tal-cipher suites tgħodd għal TLS 1.2; TLS 1.3 iġib proċeduri standard proprji u sikuri.
server {
listen 443 ssl;
server_name www.example.de;
ssl_certificate /etc/ssl/example/fullchain.pem;
ssl_certificate_key /etc/ssl/example/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-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
}
server {
listen 80;
server_name www.example.de;
return 301 https://$host$request_uri;
}
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
It-tieni blokk server jibgħat b'mod permanenti s-sejħiet mhux iċċifrati lejn HTTPS. Ir-redirect għandu jmur direttament lejn l-indirizz finali u mhux jgħaddi minn diversi stazzjonijiet intermedji. Wara ivverifikaw ukoll ir-riżorsi inkorporati: immaġini, skripts jew tipi ta' ittri li għadhom jitgħabbew b'HTTP iqajjmu twissijiet fil-browser jew jiġu mblukkati.
L-issettjar li l-klijent jagħżel l-ordni jikkorrispondi għar-rakkomandazzjoni ta' TLSRef: il-proċeduri kollha offruti jitqiesu sikuri, u apparati mingħajr aċċelerazzjoni tal-AES jistgħu hekk jippreferu ChaCha20. Wara kull bidla ittestjaw il-konfigurazzjoni (nginx -t rispettivament apachectl configtest) u erġgħu agħmlu load tas-servizz. L-header HSTS adattat u rekwiżiti oħra tal-browser jiddeskrivihom il-gwida Headers tas-sigurtà għall-websajts.
Panels bħal Plesk jew cPanel spiss jissostitwixxu bidliet proprji fil-fajls iġġenerati. Issettjaw ir-rekwiżiti TLS hemmhekk permezz tal-issettjar jew tal-mudelli previsti tal-panel.
Ċertifikati: ċavetta, katina, tiġdid
Parti kbira mill-problemi ta' TLS fil-prattika m'għandhom x'jaqsmu xejn ma' cipher suites, imma ma' ċertifikati. Żbalji tipiċi huma katina mhux kompluta, fejn jonqos iċ-ċertifikat intermedju, ċertifikati skaduti fuq domains sekondarji u ċwievet privati b'drittijiet tal-fajls wisgħin wisq.
Tliet regoli jgħinu:
- Iġġeddu awtomatikament u issorveljaw it-tiġdid. Validitajiet qosra, kif jirrakkomanda TLSRef, huma prattikabbli biss bl-awtomatizzazzjoni.
- Ipproteġu ċ-ċwievet privati: jinqraw biss minn root u mill-proċess tas-server tal-web, qatt fil-webroot, qatt f'repository.
- Irreġistraw l-ismijiet kollha: domain prinċipali, www, subdomains għall-ħanut, staging, interface tal-web tal-posta u panels.
Min juża ċertifikati f'diversi postijiet, pereżempju fuq CDN, load balancer u server tal-oriġini, għandu jżomm ħarsa ġenerali: liema ċertifikat huwa installat fejn, min iġeddu u meta jiskadi. Mingħajr din il-ħarsa ġenerali, ċertifikat skadut spiss jidher biss meta jikkuntattjaw il-klijenti.
Kif tivverifikaw il-konfigurazzjoni tagħkom mill-barra
Il-kmandi li ġejjin huma verifiki purament u ma jibdlu xejn. Ibdlu l-hostname bil-proprju tagħkom:
# TLS 1.3 u TLS 1.2 għandhom jaħdmu
openssl s_client -connect www.example.de:443 -servername www.example.de -tls1_3 </dev/null
openssl s_client -connect www.example.de:443 -servername www.example.de -tls1_2 </dev/null
# TLS 1.1 għandu jfalli
openssl s_client -connect www.example.de:443 -servername www.example.de -tls1_1 </dev/null
# Validità u sid taċ-ċertifikat mogħti
openssl s_client -connect www.example.de:443 -servername www.example.de </dev/null 2>/dev/null | openssl x509 -noout -subject -dates
Falliment fit-test ta' TLS 1.1 jista' jkun ukoll minħabba li l-verżjoni lokali tagħkom ta' OpenSSL ma toffrix aktar il-protokoll qadim. Għal rapport komplut dwar il-proċeduri kollha offruti jixraq scanner speċjalizzat ta' TLS. Ivverifikaw kull subdomain waħda waħda, għax spiss jaħdmu b'issettjar proprju.
Spiss injorat: TLS fejn PHP stess huwa klijent
L-applikazzjonijiet PHP stess jibnu ħafna konnessjonijiet: lejn fornituri tal-ħlas, kumpaniji tal-konsenja, interfaces, servers tal-posta u databases. Hawnhekk l-iżball l-aktar frekwenti mhuwiex issettjar dgħajjef, imma verifika tal-ċertifikat mitfija, spiss bħala soluzzjoni mgħaġġla għal problema fl-iżvilupp.
<?php
// Sigur: iċ-ċertifikat u l-hostname jiġu vverifikati (żommu l-imġiba standard)
$ch = curl_init('https://api.partner.example/v1/status');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_TIMEOUT => 10,
]);
$antwort = curl_exec($ch);
Fittxu fil-kodiċi għal CURLOPT_SSL_VERIFYPEER b'false u għal verify_peer fil-kuntesti tal-istream. Kull post fejn isibuh effettivament ineħħi l-protezzjoni ta' TLS għal dik il-konnessjoni. Fejn is-servizzi jinsabu wara CDN, anke t-triq bejn is-CDN u s-server tal-oriġini għandha tuża ċertifikat validu u vverifikat. Issettjar ieħor tas-server tal-web għal setups PHP issibuh f'Ikkonfigura Nginx għal PHP b'mod sigur, kriterji għall-hardening kollu f'CIS Benchmarks u blocks tal-BSI.
Kif tgħin PHP SOS b'mod konkret?
- Nirreġistraw il-hostnames u s-servizzi kollha b'TLS, inklużi panels, staging u interfaces tal-web tal-posta.
- Nqabblu l-issettjar mat-TR-02102 u mal-profil adattat ta' TLSRef u niddokumentaw devjazzjonijiet konxji.
- Nibdlu ċ-ċertifikati għal tiġdid awtomatiku b'sorveljanza.
- Infittxu fil-kodiċi tal-applikazzjoni verifiki taċ-ċertifikat mitfija u nuru l-korrezzjoni.
TLS huwa blokk wieħed mill-Hardening tas-server għal servers tal-web PHP tagħna; ir-relazzjoni mas-sitwazzjoni attwali tispjegaha X'inhu PHP2Shell?.
Mistoqsijiet frekwenti
Għadni neħtieġ noffri TLS 1.0 u TLS 1.1?
Ġeneralment le. Rakkomandazzjonijiet attwali bħall-profil Intermediate ta' TLSRef jistabbilixxu TLS 1.2 bħala l-limitu minimu. Min jeħtieġ protokolli aktar qodma għal apparati antiki għandu jiddeċiedi dan konxjament, jiddokumentah u jillimitah għal servizz separat.
Ċertifikat b'xejn huwa inqas sigur minn wieħed mixtri?
Għaċ-ċifrar ma jagħmel l-ebda differenza. Id-deċiżivi huma t-tip taċ-ċavetta, it-tul taċ-ċavetta, katina kompluta taċ-ċertifikat u tiġdid awtomatiku affidabbli. Id-differenzi jinsabu fl-ambitu tal-verifika, fit-tul tal-validità u fis-servizz tal-fornitur.
HTTPS bejn il-viżitatur u s-CDN huwa biżżejjed?
Le. Anke l-konnessjoni bejn is-CDN u s-server tal-oriġini għandha tkun iċċifrata u tivverifika ċ-ċertifikat tal-oriġini. Inkella d-data tgħaddi fit-tieni biċċa mingħajr ċifrar jew mingħajr verifika.
X'għandu x'jaqsam TLS ma' PHP2Shell?
Direttament xejn. TLS jipproteġi d-data waqt it-trasport, PHP2Shell jirrigwarda l-interpretatur ta' PHP fuq is-server. Konnessjoni ċċifrata tittrasporta b'mod affidabbli wkoll talbiet ta' attakk, għalhekk l-aġġornament ta' PHP jibqa' obbligatorju indipendentement.