{"id":1758,"date":"2025-11-12T23:40:02","date_gmt":"2025-11-12T20:40:02","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/nginx-apachede-ecdsa-rsa-ikili-ssl-uyumluluk-mu-hiz-mi-ikisini-birden-nasil-alirsin\/"},"modified":"2025-11-12T23:40:02","modified_gmt":"2025-11-12T20:40:02","slug":"nginx-apachede-ecdsa-rsa-ikili-ssl-uyumluluk-mu-hiz-mi-ikisini-birden-nasil-alirsin","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/nginx-apachede-ecdsa-rsa-ikili-ssl-uyumluluk-mu-hiz-mi-ikisini-birden-nasil-alirsin\/","title":{"rendered":"Nginx\/Apache\u2019de ECDSA + RSA \u0130kili SSL: Uyumluluk mu H\u0131z m\u0131? \u0130kisini Birden Nas\u0131l Al\u0131rs\u0131n?"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Ofiste_Baslayan_Kucuk_Bir_TLS_Macerasi\"><span class=\"toc_number toc_depth_1\">1<\/span> Ofiste Ba\u015flayan K\u00fc\u00e7\u00fck Bir TLS Maceras\u0131<\/a><\/li><li><a href=\"#ECDSA_RSA_Neden_Birlikte_Kucuk_Bir_Yol_Haritasi\"><span class=\"toc_number toc_depth_1\">2<\/span> ECDSA + RSA Neden Birlikte? K\u00fc\u00e7\u00fck Bir Yol Haritas\u0131<\/a><\/li><li><a href=\"#Sertifikalari_Nasil_Ediniyoruz_Kucuk_Ama_Temiz_Adimlar\"><span class=\"toc_number toc_depth_1\">3<\/span> Sertifikalar\u0131 Nas\u0131l Ediniyoruz? K\u00fc\u00e7\u00fck Ama Temiz Ad\u0131mlar<\/a><ul><li><a href=\"#Hangi_Tur_Hangi_Boyut\"><span class=\"toc_number toc_depth_2\">3.1<\/span> Hangi T\u00fcr, Hangi Boyut?<\/a><\/li><li><a href=\"#Lets_Encrypt_ile_Ikili_Sertifika\"><span class=\"toc_number toc_depth_2\">3.2<\/span> Let\u2019s Encrypt ile \u0130kili Sertifika<\/a><\/li><li><a href=\"#OpenSSL_ile_Minik_Bir_Atolye\"><span class=\"toc_number toc_depth_2\">3.3<\/span> OpenSSL ile Minik Bir At\u00f6lye<\/a><\/li><\/ul><\/li><li><a href=\"#Nginxte_ECDSA_RSA_Ikili_Sertifika_Nasil_Sunulur\"><span class=\"toc_number toc_depth_1\">4<\/span> Nginx\u2019te ECDSA + RSA \u0130kili Sertifika Nas\u0131l Sunulur?<\/a><\/li><li><a href=\"#Apachede_ECDSA_RSA_Coklu_Sertifika_Temiz_Bir_Sanat\"><span class=\"toc_number toc_depth_1\">5<\/span> Apache\u2019de ECDSA + RSA \u00c7oklu Sertifika: Temiz Bir Sanat<\/a><\/li><li><a href=\"#Performans_ve_Uyumluluk_Dengeleri_Nazikce_Ayarlamak\"><span class=\"toc_number toc_depth_1\">6<\/span> Performans ve Uyumluluk: Dengeleri Nazik\u00e7e Ayarlamak<\/a><\/li><li><a href=\"#Canli_Gecis_Trafigi_Urkutmeden_Nasil_Tasiriz\"><span class=\"toc_number toc_depth_1\">7<\/span> Canl\u0131 Ge\u00e7i\u015f: Trafi\u011fi \u00dcrk\u00fctmeden Nas\u0131l Ta\u015f\u0131r\u0131z?<\/a><\/li><li><a href=\"#Test_Etmeden_Olmaz_Kucuk_Kontroller_Buyuk_Rahatlik\"><span class=\"toc_number toc_depth_1\">8<\/span> Test Etmeden Olmaz: K\u00fc\u00e7\u00fck Kontroller, B\u00fcy\u00fck Rahatl\u0131k<\/a><\/li><li><a href=\"#Kucuk_Tuzaklar_Basimiza_Gelenler_ve_Yoldaki_Taslar\"><span class=\"toc_number toc_depth_1\">9<\/span> K\u00fc\u00e7\u00fck Tuzaklar: Ba\u015f\u0131m\u0131za Gelenler ve Yoldaki Ta\u015flar<\/a><\/li><li><a href=\"#Uyumluluk_ve_Politika_PCI-DSS_ve_Dis_Denetimler_Korkulacak_Seyler_Degil\"><span class=\"toc_number toc_depth_1\">10<\/span> Uyumluluk ve Politika: PCI-DSS ve D\u0131\u015f Denetimler Korkulacak \u015eeyler De\u011fil<\/a><\/li><li><a href=\"#Bakim_Rutini_Yenile_Test_Et_Gunlukleri_Dinle\"><span class=\"toc_number toc_depth_1\">11<\/span> Bak\u0131m Rutini: Yenile, Test Et, G\u00fcnl\u00fckleri Dinle<\/a><\/li><li><a href=\"#Kapanis_Hizla_Baris_Uyumlulugu_Kucakla\"><span class=\"toc_number toc_depth_1\">12<\/span> Kapan\u0131\u015f: H\u0131zla Bar\u0131\u015f, Uyumlulu\u011fu Kucakla<\/a><\/li><\/ul><\/div>\n<h2 id=\"section-1\"><span id=\"Ofiste_Baslayan_Kucuk_Bir_TLS_Macerasi\">Ofiste Ba\u015flayan K\u00fc\u00e7\u00fck Bir TLS Maceras\u0131<\/span><\/h2>\n<p>Hi\u00e7 \u015f\u00f6yle oldu mu? Bir g\u00fcn sayfan gayet h\u0131zl\u0131, \u0131\u015f\u0131lt\u0131l\u0131 a\u00e7\u0131l\u0131yor; ertesi g\u00fcn bir m\u00fc\u015fteriden, \u201cTelefonumdaki eski taray\u0131c\u0131da site a\u00e7\u0131lm\u0131yor\u201d diye bir e\u2011posta geliyor. \u0130\u015fte tam o g\u00fcn, kahveni yudumlarken \u015funu d\u00fc\u015f\u00fcn\u00fcyorsun: Hem h\u0131zdan \u00f6d\u00fcn vermeden, hem de eski ve inat\u00e7\u0131 cihazlar\u0131 k\u00fcst\u00fcrmeden nas\u0131l g\u00fcvenli kal\u0131r\u0131m? Ben bu soruyu y\u0131llar \u00f6nce kendime sordum ve ECDSA + RSA ikili SSL yakla\u015f\u0131m\u0131yla tan\u0131\u015ft\u0131m. O g\u00fcn bug\u00fcnd\u00fcr yeni kurulumlarda neredeyse refleks olarak ikisini birlikte sunuyorum.<\/p>\n<p>Bazen \u00e7\u00f6z\u00fcm, tek bir do\u011fruyu se\u00e7mekten de\u011fil, iki do\u011fruyu ak\u0131ll\u0131ca bir araya getirmekten ge\u00e7iyor. ECDSA elin kolun gibi hafif ve \u00e7evik; RSA ise h\u00e2l\u00e2 geni\u015f bir mahalleyle konu\u015fabiliyor. \u0130kisini ayn\u0131 kap\u0131da bulu\u015fturdu\u011funda, modern taray\u0131c\u0131lar ECDSA\u2019n\u0131n h\u0131z\u0131n\u0131 kap\u0131yor, daha \u00e7ekingen olanlar da RSA\u2019ya tutunup yoluna devam ediyor. Sonu\u00e7 mu? Hem performans, hem uyumluluk.<\/p>\n<p>Bu yaz\u0131da, Nginx ve Apache \u00fczerinde ikili sertifika sunmay\u0131, sahada kar\u015f\u0131ma \u00e7\u0131kan k\u00fc\u00e7\u00fck s\u00fcrprizleri ve pratik ayarlar\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131m. Dola\u015f\u0131k teknik terimlere bo\u011fulmadan, ger\u00e7ek d\u00fcnyadan \u00f6rneklerle ilerleyelim. Mesela \u015f\u00f6yle d\u00fc\u015f\u00fcn\u00fcn: Ziyaret\u00e7ilerinize kap\u0131da iki anahtar uzat\u0131yorsunuz; hangisi cebe daha rahat s\u0131\u011f\u0131yorsa onu al\u0131yor ve i\u00e7eri giriyorlar. Hadi ba\u015flayal\u0131m.<\/p>\n<h2 id=\"section-2\"><span id=\"ECDSA_RSA_Neden_Birlikte_Kucuk_Bir_Yol_Haritasi\">ECDSA + RSA Neden Birlikte? K\u00fc\u00e7\u00fck Bir Yol Haritas\u0131<\/span><\/h2>\n<p>ECDSA, k\u0131sa ve \u00f6z imzalar\u0131 seviyor. Sunucu taraf\u0131nda imza atmak, elini \u00e7abuk tutan bir \u015fef garson gibi. RSA ise y\u0131llar\u0131n eskitemedi\u011fi bir klasik. Hal\u00e2 kimi eski cihazlar\u0131n ilk a\u015fk\u0131. Bu ikiliyi birlikte sundu\u011funda, modern taray\u0131c\u0131lar do\u011fal olarak ECDSA\u2019y\u0131 se\u00e7iyor. Eski dostlar da \u201cBen RSA\u2019dan \u015fa\u015fmam\u201d deyip ba\u011flan\u0131yor. Sen de performanstan taviz vermeden geni\u015f bir uyumluluk yakal\u0131yorsun.<\/p>\n<p>Benim kafamda \u015f\u00f6yle canlan\u0131yor: ECDSA, \u00f6zellikle mobil d\u00fcnyada t\u0131kanan anlarda ferahlat\u0131c\u0131 bir nefes. RSA ise kurumsal duvarlar\u0131n arkas\u0131ndaki eski TLS y\u0131\u011f\u0131nlar\u0131yla bar\u0131\u015f imzal\u0131yor. \u0130kisini birlikte sunmak, \u201cherkese ayn\u0131 ayakkab\u0131\u201d yerine \u201cnumaras\u0131 uyana\u201d mant\u0131\u011f\u0131. Bir ta\u015fla iki ku\u015f, ama ku\u015flar\u0131 \u00fcrk\u00fctmeden.<\/p>\n<p>Avantajlar\u0131n yan\u0131nda birka\u00e7 k\u00fc\u00e7\u00fck noktay\u0131 da d\u00fcr\u00fcst\u00e7e s\u00f6ylemek gerek. Sertifika y\u00f6netimin biraz daha \u00f6zen istiyor; iki sertifikay\u0131 birden yeniliyor, iki anahtar\u0131 da g\u00f6z\u00fcn gibi koruyorsun. Konfig\u00fcrasyonda fazladan birka\u00e7 sat\u0131r var, evet. Ama kar\u015f\u0131l\u0131\u011f\u0131nda ald\u0131\u011f\u0131n konfor, \u00f6zellikle trafik \u00e7e\u015fitlendi\u011finde y\u00fcz g\u00fcld\u00fcr\u00fcyor.<\/p>\n<h2 id=\"section-3\"><span id=\"Sertifikalari_Nasil_Ediniyoruz_Kucuk_Ama_Temiz_Adimlar\">Sertifikalar\u0131 Nas\u0131l Ediniyoruz? K\u00fc\u00e7\u00fck Ama Temiz Ad\u0131mlar<\/span><\/h2>\n<h3><span id=\"Hangi_Tur_Hangi_Boyut\">Hangi T\u00fcr, Hangi Boyut?<\/span><\/h3>\n<p>ECDSA taraf\u0131nda genelde secp256r1 (prime256v1) e\u011frisi g\u00fcnl\u00fck hayat i\u00e7in gayet dengeli. X25519 da pop\u00fcler. RSA taraf\u0131nda 2048 \u00e7o\u011fu senaryo i\u00e7in yeterli oluyor, \u00e7ok hassas ortamlarda 3072\u2019ye uzanmak m\u00fcmk\u00fcn. Burada mesele, gereksiz yere a\u011f\u0131rla\u015fmadan makul g\u00fcvenlikte kalabilmek. ECDSA daha hafif ko\u015fuyor, RSA ise geni\u015f camiaya sesleniyor. \u0130kisini yan yana koydu\u011funda, taray\u0131c\u0131lar kendi kapasitelerine g\u00f6re se\u00e7iyor zaten.<\/p>\n<h3><span id=\"Lets_Encrypt_ile_Ikili_Sertifika\">Let\u2019s Encrypt ile \u0130kili Sertifika<\/span><\/h3>\n<p>Ben \u00e7o\u011fu projede Let\u2019s Encrypt\u2019le pratik ilerliyorum. \u0130stersen ayn\u0131 alan ad\u0131 i\u00e7in ayr\u0131 ayr\u0131 bir ECDSA, bir de RSA sertifikas\u0131 alabilirsin. \u00c7o\u011fu ACME istemcisi bu s\u00fcreci iki komutla hallediyor. Mesela ECDSA i\u00e7in anahtar ve sertifika \u00fcretip, sonra RSA i\u00e7in de ayn\u0131s\u0131n\u0131 yap\u0131yorsun. Konfig\u00fcrasyonda ikisini birlikte i\u015faretledi\u011finde sunucu, istemcinin destekledi\u011fine g\u00f6re do\u011fru sertifikay\u0131 se\u00e7iyor.<\/p>\n<h3><span id=\"OpenSSL_ile_Minik_Bir_Atolye\">OpenSSL ile Minik Bir At\u00f6lye<\/span><\/h3>\n<p>Diyelim ki \u00fcretimi kendin yapmak istiyorsun. Basit bir at\u00f6lye kural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\"># ECDSA \u00f6zel anahtar (prime256v1) ve CSR\nopenssl ecparam -name prime256v1 -genkey -noout -out \/etc\/ssl\/private\/site-ecdsa.key\nopenssl req -new -key \/etc\/ssl\/private\/site-ecdsa.key -out \/etc\/ssl\/csr\/site-ecdsa.csr -subj &quot;\/CN=example.com&quot;\n\n# RSA \u00f6zel anahtar ve CSR\nopenssl genrsa -out \/etc\/ssl\/private\/site-rsa.key 2048\nopenssl req -new -key \/etc\/ssl\/private\/site-rsa.key -out \/etc\/ssl\/csr\/site-rsa.csr -subj &quot;\/CN=example.com&quot;<\/code><\/pre>\n<p>Olu\u015fan CSR\u2019lar\u0131 sertifika sa\u011flay\u0131c\u0131na veriyorsun. Geri d\u00f6nen sertifikalar\u0131 da tam zinciriyle birlikte sakl\u0131yorsun. Ben klas\u00f6r hiyerar\u015fisini net tutmay\u0131 seviyorum; ecdsa ve rsa dosyalar\u0131n\u0131 isimleriyle ay\u0131r\u0131nca kafa kar\u0131\u015fm\u0131yor.<\/p>\n<h2 id=\"section-4\"><span id=\"Nginxte_ECDSA_RSA_Ikili_Sertifika_Nasil_Sunulur\">Nginx\u2019te ECDSA + RSA \u0130kili Sertifika Nas\u0131l Sunulur?<\/span><\/h2>\n<p>Nginx, birden fazla sertifika sat\u0131r\u0131n\u0131 gayet olgun kar\u015f\u0131l\u0131yor. ECDSA ve RSA sertifikalar\u0131n\u0131 art arda tan\u0131mlad\u0131\u011f\u0131nda, istemciye g\u00f6re do\u011fru olan\u0131 otomatik sunuyor. Ben \u015f\u00f6yle bir yap\u0131 kullan\u0131yorum, gayet de temiz.<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 443 ssl http2;\n    server_name example.com;\n\n    # ECDSA sertifika ve anahtar\n    ssl_certificate     \/etc\/ssl\/certs\/site-ecdsa-fullchain.pem;\n    ssl_certificate_key \/etc\/ssl\/private\/site-ecdsa.key;\n\n    # RSA sertifika ve anahtar\n    ssl_certificate     \/etc\/ssl\/certs\/site-rsa-fullchain.pem;\n    ssl_certificate_key \/etc\/ssl\/private\/site-rsa.key;\n\n    # TLS s\u00fcr\u00fcmleri ve \u015fifre k\u00fcmeleri (makul, sade bir yakla\u015f\u0131m)\n    ssl_protocols TLSv1.2 TLSv1.3;\n    ssl_ciphers HIGH:!aNULL:!MD5;\n    ssl_prefer_server_ciphers on;\n\n    # E\u011friler (ECDSA i\u00e7in yayg\u0131n ve h\u0131zl\u0131 se\u00e7enekler)\n    ssl_ecdh_curve X25519:prime256v1;\n\n    # OCSP stapling (isteyen istemciye taze bilgi sunmak iyi hissettirir)\n    ssl_stapling on;\n    ssl_stapling_verify on;\n    resolver 1.1.1.1 8.8.8.8 valid=300s;\n    resolver_timeout 5s;\n\n    # HSTS (canl\u0131ya almadan \u00f6nce iyi d\u00fc\u015f\u00fcn; CDN\/alt alanlar vs.)\n    # add_header Strict-Transport-Security &quot;max-age=31536000; includeSubDomains; preload&quot; always;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:8080;\n    }\n}<\/code><\/pre>\n<p>Burada ak\u0131lda tutulmas\u0131 gereken k\u00fc\u00e7\u00fck bir not: TLS 1.3 ile \u015fifre k\u00fcmeleri biraz farkl\u0131 ilerliyor, ama bu temel ayar \u00e7o\u011fu senaryoda i\u015fini g\u00f6r\u00fcr. HTTP\/2\u2019yi de devreye almak kafadan bir nefes ald\u0131r\u0131yor. E\u011fer istersen ALPN m\u00fczakeresine dokunmadan varsay\u0131lan ak\u0131\u015fla bile gayet modern bir sonu\u00e7 al\u0131rs\u0131n.<\/p>\n<p>\u0130\u015fin mTLS taraf\u0131n\u0131 merak ediyorsan, Nginx taraf\u0131nda istemci sertifikas\u0131 do\u011frulamas\u0131n\u0131 ayr\u0131ca kurars\u0131n. Ben s\u00fcre\u00e7leri <a href=\"https:\/\/www.dchost.com\/blog\/nginx-ve-caddyde-mtls-nasil-kurulur-mikroservislerde-sertifika-dogrulamanin-tatli-sirlari\/\">Nginx ve Caddy\u2019de mTLS kurulumunun p\u00fcf noktalar\u0131<\/a> yaz\u0131s\u0131nda ad\u0131m ad\u0131m anlatm\u0131\u015ft\u0131m; ikili sertifika modelinle birlikte sorunsuz y\u00fcr\u00fcr.<\/p>\n<h2 id=\"section-5\"><span id=\"Apachede_ECDSA_RSA_Coklu_Sertifika_Temiz_Bir_Sanat\">Apache\u2019de ECDSA + RSA \u00c7oklu Sertifika: Temiz Bir Sanat<\/span><\/h2>\n<p>Apache 2.4.8 ve sonras\u0131, ayn\u0131 sanal host i\u00e7inde birden fazla sertifika dosyas\u0131 tan\u0131mlamay\u0131 destekliyor. Sahnede iki oyuncu var ve s\u0131rayla yerlerini al\u0131yorlar. Dert yok, sadece tertipli yazmak gerekiyor. Ben en basit haliyle \u015fu d\u00fczeni tercih ediyorum:<\/p>\n<pre class=\"language-apache line-numbers\"><code class=\"language-apache\">&lt;VirtualHost *:443&gt;\n    ServerName example.com\n\n    # RSA \u00e7ifti\n    SSLCertificateFile    \/etc\/ssl\/certs\/site-rsa-fullchain.pem\n    SSLCertificateKeyFile \/etc\/ssl\/private\/site-rsa.key\n\n    # ECDSA \u00e7ifti\n    SSLCertificateFile    \/etc\/ssl\/certs\/site-ecdsa-fullchain.pem\n    SSLCertificateKeyFile \/etc\/ssl\/private\/site-ecdsa.key\n\n    # Protokol ve \u015fifreler (sade ve dengeli)\n    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1\n    SSLCipherSuite HIGH:!aNULL:!MD5\n    SSLHonorCipherOrder on\n\n    # OCSP stapling\n    SSLUseStapling on\n    SSLStaplingResponderTimeout 5\n    SSLStaplingReturnResponderErrors off\n\n    ProxyPass        \/ http:\/\/127.0.0.1:8080\/\n    ProxyPassReverse \/ http:\/\/127.0.0.1:8080\/\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>Burada \u00f6nemli olan, sertifika ve anahtarlar\u0131n do\u011fru e\u015fle\u015fti\u011finden emin olmak. Ben dosya adlar\u0131nda \u201crsa\u201d ve \u201cecdsa\u201d ibarelerini kullanarak kar\u0131\u015f\u0131kl\u0131\u011f\u0131n \u00f6n\u00fcne ge\u00e7iyorum. Bir de mod_ssl\u2019in y\u00fckl\u00fc ve etkin oldu\u011fundan emin ol. Apache esnek bir usta; do\u011fru verdi\u011finde kar\u015f\u0131l\u0131\u011f\u0131n\u0131 veriyor.<\/p>\n<h2 id=\"section-6\"><span id=\"Performans_ve_Uyumluluk_Dengeleri_Nazikce_Ayarlamak\">Performans ve Uyumluluk: Dengeleri Nazik\u00e7e Ayarlamak<\/span><\/h2>\n<p>Ger\u00e7ek hayatta trafik kar\u0131\u015f\u0131k. HTTP\/2 sevenler var, h\u00e2l\u00e2 HTTP\/1.1 ile kalanlar var. Mobil a\u011f\u0131n nefesi dar, ofis a\u011flar\u0131 bazen \u015firket duvarlar\u0131yla me\u015fgul. \u0130kili sertifika, bu kalabal\u0131kta herkese bir sandalye sunuyor. Modern taray\u0131c\u0131 ECDSA\u2019y\u0131 tercih ediyor, daha eski bir istemci RSA ile ba\u011flan\u0131yor. Sen de \u201ctek bir yol\u201d dayatmadan herkese kibarca alan a\u00e7\u0131yorsun.<\/p>\n<p>Ben ECDSA\u2019y\u0131 \u00f6zellikle mobil sahnede hissedilir buluyorum. K\u0131sa imzalar, daha hafif el s\u0131k\u0131\u015fmalar demek. RSA\u2019n\u0131n k\u0131ymeti ise eski ve g\u00f6rece k\u0131s\u0131tl\u0131 TLS y\u0131\u011f\u0131nlar\u0131nda. \u0130kisi bir arada olunca, \u201cya h\u0131z ya uyumluluk\u201d ikilemi biraz eriyor. \u00dcstelik sunucu kaynaklar\u0131nda da daha dengeli bir tablo g\u00f6r\u00fcyorsun. \u0130mza atma i\u015fi ECDSA\u2019da d\u00fc\u015f\u00fck maliyetliyken, baz\u0131 ba\u011flant\u0131lar RSA ile ilerlese bile toplam hissiyat tatl\u0131 kal\u0131yor.<\/p>\n<p>Yap\u0131land\u0131rmada k\u00fc\u00e7\u00fck dokunu\u015flar da fark ettiriyor. Oturum yeniden kullan\u0131m\u0131 canl\u0131 olursa, el s\u0131k\u0131\u015fman\u0131n maliyeti d\u00fc\u015f\u00fcyor. OCSP stapling\u2019le sertifika do\u011frulama s\u00fcresi k\u0131sal\u0131yor. HTTP\/2 etkinken ayn\u0131 ba\u011flant\u0131da birden fazla istek ta\u015f\u0131mak g\u00f6zle g\u00f6r\u00fcl\u00fcr bir rahatl\u0131k sa\u011fl\u0131yor. Bu i\u015fte \u201ck\u00fc\u00e7\u00fck ayarlar\u201d topland\u0131k\u00e7a hissedilen h\u0131z b\u00fcy\u00fcyor.<\/p>\n<h2 id=\"section-7\"><span id=\"Canli_Gecis_Trafigi_Urkutmeden_Nasil_Tasiriz\">Canl\u0131 Ge\u00e7i\u015f: Trafi\u011fi \u00dcrk\u00fctmeden Nas\u0131l Ta\u015f\u0131r\u0131z?<\/span><\/h2>\n<p>Ben canl\u0131 ge\u00e7i\u015flerde \u00f6nce kapal\u0131 ortamda do\u011frulamay\u0131 seviyorum. \u0130ki sertifika do\u011fru y\u00fckleniyor mu, zincirler tam m\u0131, OCSP stapling \u00e7al\u0131\u015f\u0131yor mu? Nginx\u2019te ve Apache\u2019de hata g\u00fcnl\u00fcklerine k\u0131sa bir g\u00f6z atmak \u00e7o\u011fu s\u00fcrprizi daha do\u011fmadan yakal\u0131yor. Sonras\u0131nda k\u00fc\u00e7\u00fck bir kullan\u0131c\u0131 dilimini yeni node\u2019a y\u00f6nlendirip izlemek iyi bir y\u00f6ntem. \u0130lgili grafikleri kontrol edince, ECDSA ba\u011flant\u0131 oranlar\u0131n\u0131n artt\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcyorsun; bu, modern istemcilerin do\u011fal ak\u0131\u015fta ECDSA\u2019y\u0131 benimsedi\u011finin basit bir i\u015fareti.<\/p>\n<p>Y\u00fck dengeleyici kullan\u0131yorsan, TLS\u2019i \u00f6nde bitirip arkaya sade HTTP ta\u015f\u0131yabilirsin. Ya da u\u00e7tan uca \u015fifrelemeyi g\u00f6zetip passthrough\u2019la arkaya b\u0131rakabilirsin. Se\u00e7im senin mimarinin ritmine ba\u011fl\u0131. Bu konuyu daha detayl\u0131 d\u00fc\u015f\u00fcnenler i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/haproxy-ile-l4-l7-yuk-dengeleme-nasil-sifir-kesinti-sunar-health-check-sticky-sessions-ve-tls-passthroughu-sade-sade-konusalim\/\">HAProxy ile TLS passthrough ve sa\u011fl\u0131k kontrolleri \u00fczerine sahadan notlar<\/a> yaz\u0131s\u0131 tatl\u0131 bir e\u015flik\u00e7i olur.<\/p>\n<p>CDN katman\u0131nda \u00e7al\u0131\u015fan projelerde ise, ara katman da el s\u0131k\u0131\u015fmaya dahil olabiliyor. Cloudflare gibi hizmetler, \u00f6ndeki m\u00fc\u015fteri trafi\u011fini modernle\u015ftirirken arkaya do\u011fru yine ikili sertifikay\u0131 sunabilirsin. Bu dengeyi konu\u015furken, <a href=\"https:\/\/www.dchost.com\/blog\/cloudflare-ile-websocket-ve-grpc-yayini-nasil-hep-canli-kalir-nginx-timeout-keep%e2%80%91alive-ve-kesintisiz-dagitimin-sirlari\/\">Cloudflare ile WebSocket ve gRPC trafi\u011fini canl\u0131 tutman\u0131n p\u00fcf noktalar\u0131n\u0131<\/a> anlatt\u0131\u011f\u0131m rehberde de ba\u011flant\u0131 s\u00fcreklili\u011fi taraf\u0131n\u0131 detayland\u0131rm\u0131\u015ft\u0131m.<\/p>\n<h2 id=\"section-8\"><span id=\"Test_Etmeden_Olmaz_Kucuk_Kontroller_Buyuk_Rahatlik\">Test Etmeden Olmaz: K\u00fc\u00e7\u00fck Kontroller, B\u00fcy\u00fck Rahatl\u0131k<\/span><\/h2>\n<p>Kendi makinenizden \u015f\u00f6yle k\u00fc\u00e7\u00fck testler iyi fikir verir. Basit bir kontrolle sunucunun ne sundu\u011funu g\u00f6rebilirsin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\"># Genel bir bak\u0131\u015f\nopenssl s_client -connect example.com:443 -servername example.com &lt; \/dev\/null 2&gt;\/dev\/null | grep -E &quot;Server public key|subject=|issuer=&quot;\n\n# TLS 1.3 denemesi (destekliyse)\nopenssl s_client -connect example.com:443 -servername example.com -tls1_3 &lt; \/dev\/null | grep -E &quot;Server public key|subject=|issuer=&quot;<\/code><\/pre>\n<p>D\u0131\u015far\u0131dan bakan bir g\u00f6zle rapor almak istedi\u011finde, g\u00f6n\u00fcl rahatl\u0131\u011f\u0131yla <a href=\"https:\/\/www.ssllabs.com\/ssltest\/\" rel=\"nofollow noopener\" target=\"_blank\">SSL Labs\u2019\u0131n ayr\u0131nt\u0131l\u0131 testini<\/a> \u00e7al\u0131\u015ft\u0131r. Ayr\u0131ca ayarlar\u0131 toparlarken, sade ve g\u00fcncel bir referans olarak <a href=\"https:\/\/ssl-config.mozilla.org\/\" rel=\"nofollow noopener\" target=\"_blank\">Mozilla\u2019n\u0131n TLS yap\u0131land\u0131rma \u00f6nerileri<\/a> elini g\u00fc\u00e7lendirir. Let\u2019s Encrypt taraf\u0131nda da sertifika t\u00fcrleri ve ipu\u00e7lar\u0131 i\u00e7in <a href=\"https:\/\/letsencrypt.org\/docs\/\" rel=\"nofollow noopener\" target=\"_blank\">resmi dok\u00fcman sayfas\u0131n\u0131<\/a> kenarda a\u00e7\u0131k tutmay\u0131 seviyorum.<\/p>\n<h2 id=\"section-9\"><span id=\"Kucuk_Tuzaklar_Basimiza_Gelenler_ve_Yoldaki_Taslar\">K\u00fc\u00e7\u00fck Tuzaklar: Ba\u015f\u0131m\u0131za Gelenler ve Yoldaki Ta\u015flar<\/span><\/h2>\n<p>Bir kere zincir dosyas\u0131n\u0131 eksik koymu\u015f, \u00fcst otoriteyi unuttu\u011fum i\u00e7in baz\u0131 istemcilerde tuhaf hatalar g\u00f6rm\u00fc\u015ft\u00fcm. G\u00f6zden ka\u00e7\u0131yor, oluyor. O y\u00fczden \u201cfullchain\u201d dosyalar\u0131yla \u00e7al\u0131\u015fmak i\u015fini kolayla\u015ft\u0131r\u0131yor. Bir ba\u015fka defa, OCSP stapling i\u00e7in resolver tan\u0131mlamay\u0131 unutup gereksiz gecikmelere sebep olmu\u015ftum. K\u00fc\u00e7\u00fck ama can s\u0131k\u0131c\u0131. Bir sat\u0131rla d\u00fczeliyor, yine de ba\u015fta ak\u0131lda tutmal\u0131.<\/p>\n<p>HSTS\u2019i kurarken fazla atak davran\u0131p t\u00fcm alt alanlar\u0131 dahil edince, ayr\u0131 bir test alan\u0131 i\u00e7in gereksiz engeller olu\u015fmu\u015ftu. Canl\u0131ya almadan \u00f6nce bir s\u00fcre g\u00f6zlem yapmak iyi geliyor. Bir de y\u00fck testlerinde, CPU grafi\u011fine bir g\u00f6z at. ECDSA imza maliyeti d\u00fc\u015f\u00fck olsa da, anl\u0131k patlamalarda beklenmedik noktalar ortaya \u00e7\u0131kabiliyor. Bu y\u00fczden ufak bir yo\u011funluk testiyle s\u0131n\u0131rlar\u0131n\u0131 g\u00f6rmek iyi al\u0131\u015fkanl\u0131k.<\/p>\n<p>mTLS gibi geli\u015fmi\u015f ak\u0131\u015flar da bu d\u00fczenle bar\u0131\u015f i\u00e7inde ya\u015far. \u0130stemci sertifikalar\u0131n\u0131 do\u011frularken sunucu sertifikas\u0131n\u0131n ikili olmas\u0131 hi\u00e7bir sorun yaratm\u0131yor. \u0130htiya\u00e7 olursa <a href=\"https:\/\/www.dchost.com\/blog\/yonetim-panellerini-mtls-ile-nasil-kale-gibi-korursun-nginxte-istemci-sertifikalari-adim-adim\/\">y\u00f6netim panellerini mTLS ile korumak<\/a> konusunda yazd\u0131\u011f\u0131m notlar pratikte \u00e7ok i\u015fe yar\u0131yor.<\/p>\n<h2 id=\"section-10\"><span id=\"Uyumluluk_ve_Politika_PCI-DSS_ve_Dis_Denetimler_Korkulacak_Seyler_Degil\">Uyumluluk ve Politika: PCI-DSS ve D\u0131\u015f Denetimler Korkulacak \u015eeyler De\u011fil<\/span><\/h2>\n<p>\u0130\u015f e\u2011ticarete, kart verisi dokunan ak\u0131\u015flara geldi\u011finde, denetimler ve sorular kap\u0131y\u0131 \u00e7al\u0131yor. \u0130kili sertifika yakla\u015f\u0131m\u0131 burada bir engel de\u011fil, aksine d\u00fczg\u00fcn ayarlanm\u0131\u015f bir TLS politikas\u0131yla kartlar\u0131n daha temiz oynand\u0131\u011f\u0131 bir tablo \u00e7iziyor. Eski protokolleri kapatmak, sa\u011flam \u015fifre k\u00fcmeleri se\u00e7mek ve zincirleri tam kurmak zaten beklenen temel ad\u0131mlar.<\/p>\n<p>Detaylarda kaybolmadan \u201cnereden ba\u015flamal\u0131y\u0131m?\u201d diyenler i\u00e7in kendi tecr\u00fcbelerimi toplad\u0131\u011f\u0131m bir yaz\u0131y\u0131 \u00f6nerebilirim: <a href=\"https:\/\/www.dchost.com\/blog\/pci-dss-uyumlu-woocommerce-hosting-kontrol-listesi-saq-a-mi-a%e2%80%91ep-mi-tlste-nereden-baslamaliyiz\/\">PCI-DSS uyumlu WooCommerce ortam\u0131nda TLS taraf\u0131 i\u00e7in pratik ba\u015flang\u0131\u00e7 noktalar\u0131<\/a>. Oradaki ak\u0131\u015fla, burada anlatt\u0131klar\u0131m\u0131z birbirini tamaml\u0131yor.<\/p>\n<h2 id=\"section-11\"><span id=\"Bakim_Rutini_Yenile_Test_Et_Gunlukleri_Dinle\">Bak\u0131m Rutini: Yenile, Test Et, G\u00fcnl\u00fckleri Dinle<\/span><\/h2>\n<p>\u0130kili sertifika kurulumunun en g\u00fczel yan\u0131, kurduktan sonra gerisinin bir ritme oturmas\u0131. Sertifikalar\u0131 birlikte yenilemeyi bir takvime ba\u011fla. Otomasyon kullan\u0131yorsan, yenileme sonras\u0131 konfig\u00fcrasyonu test edip servisi kibarca yeniden y\u00fcklemeyi sak\u0131n unutma. K\u0131sa bir reload ile t\u00fcm trafik yeni sertifikalara d\u00f6ner, kimse fark etmez bile.<\/p>\n<p>G\u00fcnl\u00fckleri arada bir dinlemek de iyi fikir. Hata kodlar\u0131, el s\u0131k\u0131\u015fma uyar\u0131lar\u0131, stapling mesajlar\u0131 k\u00fc\u00e7\u00fck ipu\u00e7lar\u0131 veriyor. Bir de ara s\u0131ra d\u0131\u015far\u0131dan test al; yeni taray\u0131c\u0131 s\u00fcr\u00fcmleri, eski cihazlar\u0131n kaprisleri derken, tablo zamanla de\u011fi\u015fiyor. \u0130kili yakla\u015f\u0131m bu de\u011fi\u015fime kar\u015f\u0131 zaten esnek duruyor, ama sen yine de g\u00f6z\u00fcn\u00fc d\u00f6rt a\u00e7.<\/p>\n<h2 id=\"section-12\"><span id=\"Kapanis_Hizla_Baris_Uyumlulugu_Kucakla\">Kapan\u0131\u015f: H\u0131zla Bar\u0131\u015f, Uyumlulu\u011fu Kucakla<\/span><\/h2>\n<p>Toparlayal\u0131m. ECDSA + RSA ikili SSL, modern trafi\u011fin h\u0131z iste\u011fiyle eski d\u00fcnyan\u0131n inad\u0131 aras\u0131nda ak\u0131ll\u0131 bir k\u00f6pr\u00fc kuruyor. Nginx ve Apache, bu k\u00f6pr\u00fcy\u00fc in\u015fa etmek i\u00e7in yeterince olgun. Sertifikalar\u0131 iki koldan haz\u0131rlay\u0131p, konfig\u00fcrasyonda yan yana tan\u0131mlad\u0131\u011f\u0131nda, ziyaret\u00e7i hangi taraftan gelirse gelsin g\u00fcler y\u00fczle kar\u015f\u0131lan\u0131yor.<\/p>\n<p>Pratikte birka\u00e7 noktaya \u00f6zen yetiyor: Zincir dosyalar\u0131n\u0131 tam kullan, OCSP stapling\u2019i a\u00e7, eski protokolleri kapat, HTTP\/2\u2019yi rahat rahat ko\u015ftur. Canl\u0131 ge\u00e7i\u015fi k\u00fc\u00e7\u00fck bir trafik dilimiyle test etmek, i\u00e7ini iyice rahatlat\u0131r. Sonras\u0131nda zaten ak\u0131\u015f kendi dengesini buluyor.<\/p>\n<p>Umar\u0131m bu rehber, kafandaki soru i\u015faretlerini biraz olsun da\u011f\u0131tm\u0131\u015ft\u0131r. Bir sonraki projende, ikili sertifikay\u0131 kurup ilk trafi\u011fi g\u00f6rd\u00fc\u011f\u00fcnde o tatl\u0131 ferahl\u0131\u011f\u0131 hissedeceksin. Merak ettiklerin olursa yaz, konu\u015fal\u0131m. Bu arada TLS d\u00fcnyas\u0131n\u0131n di\u011fer k\u00f6\u015feleri de ilgin\u00e7; istersen <a href=\"https:\/\/www.dchost.com\/blog\/mta-sts-tls-rpt-ve-dane-tlsa-ile-smtp-guvenligi-teslim-edilebilirligi-ve-sifrelemeyi-nasil-guclendirirsin\/\">SMTP taraf\u0131nda TLS\u2019i g\u00fc\u00e7lendirme ipu\u00e7lar\u0131<\/a> gibi yaz\u0131lara da g\u00f6z at. Bir dahaki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Ofiste Ba\u015flayan K\u00fc\u00e7\u00fck Bir TLS Maceras\u01312 ECDSA + RSA Neden Birlikte? K\u00fc\u00e7\u00fck Bir Yol Haritas\u01313 Sertifikalar\u0131 Nas\u0131l Ediniyoruz? K\u00fc\u00e7\u00fck Ama Temiz Ad\u0131mlar3.1 Hangi T\u00fcr, Hangi Boyut?3.2 Let\u2019s Encrypt ile \u0130kili Sertifika3.3 OpenSSL ile Minik Bir At\u00f6lye4 Nginx\u2019te ECDSA + RSA \u0130kili Sertifika Nas\u0131l Sunulur?5 Apache\u2019de ECDSA + RSA \u00c7oklu Sertifika: Temiz Bir Sanat6 Performans [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1759,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-1758","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=1758"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/1758\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/1759"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=1758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=1758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=1758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}