Bu sayfa, şu adımları uygulayın:
- 2048 bit RSA ortak/özel anahtar çifti oluşturuluyor.
- Ortak anahtarınızı yerleştiren bir sertifika imzalama isteği (CSR) oluşturma.
- CSR'nizi Sertifika Yetkilinizle (CA) paylaşma olabilir.
- Nihai sertifikanızı şunun gibi web erişimi olmayan bir yere yükleme:
/etc/ssl
(Linux ve Unix) veya IIS'nin gerekli olduğu her yerde (Windows).
Anahtarlar ve sertifika imzalama istekleri oluşturma
Bu bölümde, Opensl komut satırı programı kullanılmaktadır. Linux, BSD ve Mac OS X sistemlerini kullanarak özel ve genel anahtarlar ve bir CSR oluşturabilir.
Ortak/özel anahtar çifti oluşturun
Başlamak için 2.048 bit RSA anahtar çifti oluşturun. Daha kısa bir anahtarı, kaba kuvvet kullanarak yapılan tahminler ve uzun anahtarlar gereksiz kaynaklar kullanır.
RSA anahtar çifti oluşturmak için aşağıdaki komutu kullanın:
openssl genrsa -out www.example.com.key 2048
Bu işlem sonucunda aşağıdaki çıktı elde edilir:
Generating RSA private key, 2048 bit long modulus
.+++
.......................................................................................+++
e is 65537 (0x10001)
Sertifika imzalama isteği oluştur
Bu adımda, ortak anahtarınızı ve kuruluşunuzla ilgili bilgileri yerleştireceksiniz
bir sertifika imzalama isteğine veya CSR'ye
göndermeniz gerekir. openssl
komutu sizden gerekli meta verileri ister.
Aşağıdaki komutu çalıştırmak:
openssl req -new -sha256 -key www.example.com.key -out www.example.com.csr
Aşağıdaki çıktıları verir:
You are about to be asked to enter information that will be incorporated
into your certificate request
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CA
State or Province Name (full name) [Some-State]:California
Locality Name (for example, city) []:Mountain View
Organization Name (for example, company) [Internet Widgits Pty Ltd]:Example, Inc.
Organizational Unit Name (for example, section) []:Webmaster Help Center Example
Team
Common Name (e.g. server FQDN or YOUR name) []:www.example.com
Email Address []:webmaster@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
CSR'nin geçerli olduğundan emin olmak için şu komutu çalıştırın:
openssl req -text -in www.example.com.csr -noout
Yanıt şu şekilde görünmelidir:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=CA, ST=California, L=Mountain View, O=Google, Inc.,
OU=Webmaster Help Center Example Team,
CN=www.example.com/emailAddress=webmaster@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ad:fc:58:e0:da:f2:0b:73:51:93:29:a5:d3:9e:
f8:f1:14:13:64:cc:e0:bc:be:26:5d:04:e1:58:dc:
...
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha256WithRSAEncryption
5f:05:f3:71:d5:f7:b7:b6:dc:17:cc:88:03:b8:87:29:f6:87:
2f:7f:00:49:08:0a:20:41:0b:70:03:04:7d:94:af:69:3d:f4:
...
CSR'nizi bir sertifika yetkilisine gönderme
Farklı sertifika yetkilileri (CA) MT'lerinizi onlara göndermenizi gerektirir şekillerde kullanabilirsiniz. Web sitesindeki bir formu kullanarak veya CSR'ye gönderilir. Bazı CA'lar veya bayileri, bazı sertifika programlarını veya bazı durumlarda anahtar çifti ve MT oluşturma da dahil olmak üzere bu sürecin
CSR'yi CA'nıza gönderin ve nihai formunuzu almak için onların talimatlarını uygulayın. manuel olarak da girebilirsiniz.
Farklı CA'lar, kefil hizmeti için farklı tutarlarda ücret alır. kullanın.
Anahtarınızı birden fazla DNS adıyla eşlemek için kullanabileceğiniz seçenekler de vardır:
birkaç farklı ad (ör. tüm example.com, www.example.com, example.net,
ve www.example.net) veya "joker karakter" *.example.com
gibi adlar kullanabilir.
Sertifikaları, web'den erişilemeyen bir tarayıcıda tüm kullanıcı arabirimi sunucularınıza kopyalayın
/etc/ssl
(Linux ve Unix) veya IIS'nin (Windows) gerektirdiği her yerde
oluşturabilirsiniz.
Sunucularınızda HTTPS'yi etkinleştirme
Sunucularınızda HTTPS'nin etkinleştirilmesi, Google'a gönderir.
- Sunucunuzu HTTPS için ayarlamak için Mozilla'nın Sunucu Yapılandırma aracını kullanma destek.
- Sitenizi Qualys'le düzenli olarak test edin. SSL Sunucu Testi ve en azından A veya A+ alırsınız.
Bu noktada operasyonla ilgili çok önemli bir karar vermeniz gerekir. Aşağıdakilerden birini seçin: takip etmek için:
- Web sunucunuzun içerik sunduğu her ana makine adına ayrı bir IP adresi ayırın var.
- Ada dayalı sanal barındırma kullanın.
Her ana makine adı için ayrı IP adresleri kullanıyorsanız hem HTTP'yi hem de HTTPS'yi kullanır. Ancak, çoğu site operatörü ad tabanlı daha pratik olduğu için IP adreslerini korumak amacıyla bir sanal barındırma hizmeti genel.
Sunucularınızda HTTPS hizmeti halihazırda yoksa hizmeti şimdi etkinleştirin (HTTP'den HTTPS'ye yönlendirilmeden) HTTP'yi HTTPS'ye yönlendirme başlıklı makaleyi inceleyin. bakın). Web sunucunuzu, kullandığınız sertifikaları kullanacak şekilde satın alıp yükleyebilirsiniz. Mozilla'nın yapılandırmasında oluşturma aracı faydalı olur.
Çok sayıda ana makine adınız veya alt alan adınız varsa bunların her birinin doğru sertifikası.
Şimdi ve sitenizin ömrü boyunca düzenli olarak HTTPS'nizi kontrol edin Qualys' SSL Sunucu Testi. Siteniz A veya A+ puanına sahip olmalıdır. Düşük dereceye neden olan her şeyi ve titizlikle çalışın çünkü algoritmalara ve protokollere yapılan yeni saldırılar sürekli geliştiriliyor.
Site içi URL'leri göreli yapın
Artık sitenizi hem HTTP hem de HTTPS üzerinden yayınladığınıza göre sorunsuz bir şekilde çalışmasını sağlamalısınız. Önemli bir faktör, göreceli URL'leri kontrol edin.
Site içi URL'lerin ve harici URL'lerin belirli bir protokole bağlı olmadığından emin olun.
Göreli yollar kullanın veya protokolü //example.com/something.js
olduğu gibi hariç tutun.
HTTPS kullanarak HTTP kaynakları içeren bir sayfa sunma sorunlara neden olabilir. Tarayıcı, güvenli olmayan kaynakları kullanarak güvenli olmayan bir sayfayı kopyalarsa, kullanıcıları sayfanın tam olarak güvenli değildir ve bazı tarayıcılar HTTP yüklemesini veya çalıştırmayı reddedmektedir yardımcı olabilir. Ancak güvenli bir şekilde HTTPS'yi kaynaklarını kontrol edin. Bu sorunları düzeltme konusunda daha fazla yardım için bkz. Karma İçeriği Düzeltme.
Sitenizdeki diğer sayfalara yönlendiren HTTP tabanlı bağlantıları izlemek de
daha fazla bilgi edineceksiniz. Bunu düzeltmek için site içi URL'lerinizi
veya protokole bağlı olmadığından daha yüksek
protokolü (//example.com
ile başlar) veya ana bilgisayarla göreli (yalnızca
yol, örneğin /jquery.js
) girin.
<h1>Welcome To Example.com</h1> <script src="/jquery.js"></script> <link rel="stylesheet" href="/assets/style.css"/> <img src="/images/logo.png"/>; <p>A <a href="/2014/12/24">new post on cats!</a></p>
<h1>Welcome To Example.com</h1> <script src="//example.com/jquery.js"></script> <link rel="stylesheet" href="//assets.example.com/style.css"/> <img src="//img.example.com/logo.png"/>; <p>A <a href="//example.com/2014/12/24/">new post on cats!</a></p>
<h1>Welcome To Example.com</h1> <script src="/jquery.js"></script> <link rel="stylesheet" href="/assets/style.css"/> <img src="/images/logo.png"/>; <p>A <a href="/2014/12/24">new post on cats!</a></p> <p>Check out this <a href="https://foo.com/"><b>other cool site.</b></a></p>
Hata yapmamak için bağlantılarınızı elle değil, bir komut dosyasıyla güncelleyin. Eğer bir veritabanında bulunuyorsa komut dosyanızı aşağıdaki sitenin geliştirme kopyasında test edin: Sitenizin içeriği yalnızca basit dosyalardan oluşuyorsa komut dosyanızı test edin bir kopyası oluşturulur. Değişiklikleri üretime yalnızca şu tarihten sonra aktarın: normal bir şekilde kalite güvencesi testinden geçer. Bram van Damme'ın senaryosunu kullanabilirsiniz tespit etmek için kullanabileceğiniz başka bir araçtır.
Diğer sitelere bağlantı verirken (bu sitelere ait kaynakları eklemek yerine) protokolü değiştirmeyin. Bu sitelerin çalışma biçimi üzerinde herhangi bir denetiminiz yoktur.
Büyük siteler için taşıma sürecini daha sorunsuz hale getirmek üzere protokole bağlı URL'ler kullanmanızı öneririz. HTTPS'yi tam olarak dağıtıp dağıtamayacağınızdan emin değilseniz sitenizi geri tetiklenebilecek tüm alt kaynaklar için HTTPS kullanmak. Muhtemelen birtakım sorular HTTPS'nin sizin için yeni ve tuhaf olduğu ve HTTP sitesinin yine de çalışması gereken zaman geri dönüyor. Zaman içinde taşıma işlemini tamamlayıp HTTPS ile kilitlenirsiniz. (sonraki iki bölüme bakın).
Siteniz, üçüncü bir yayıncı tarafından sunulan komut dosyaları, resimler veya diğer kaynaklara dayanıyorsa bir CDN veya jquery.com gibi bir taraf kullanıyorsanız iki seçeneğiniz vardır:
- Bu kaynaklar için protokole bağlı URL'ler kullanın. Üçüncü taraf, HTTPS ile sunmalarını isteyin. jquery.com da dahil olmak üzere bunların çoğu zaten mevcuttur.
- Kaynakları, hem HTTP'yi sunan hem de sizin kontrolünüzdeki bir sunucudan sunun. ve HTTPS'ye gidin. Bu genellikle iyi bir fikirdir çünkü böylece daha iyi sitenizin görünümü, performansı ve güvenliği üzerinde denetim sahibidir ve üçüncü tarafa güvenebileceğiniz anlamına gelir.
HTTP'yi HTTPS'ye yönlendir
Arama motorlarına, sitenize erişmek için HTTPS kullanmalarını söylemek için
standart bağlantıyı
<link rel="canonical" href="https://…"/>
etiketlerini kullanarak her sayfanın başlığını yönetebilirsiniz.
Katı Taşıma Güvenliği'ni ve güvenli çerezleri etkinleştir
Bu noktada, "bağımlı" olmaya hazırsınız daha iyi anlamanızı sağlar:
- 301 maliyetinden kaçınmak için HTTP Strict Transport Security (HSTS) kullanın unutmayın.
- Çerezlerde her zaman Güvenli işaretini ayarla.
Öncelikle Strict Transport Security'yi kullanın
HTTPS kullanarak sunucunuza her zaman bağlanmaları gerektiğini,
(bir http://
referansını takip ederken) Bu, aşağıdaki gibi saldırıları yenebilir:
SSL Soyma,
Böylece, şurada etkinleştirdiğimiz 301 redirect
için gidiş-dönüş maliyetinden kurtulabilirsiniz:
HTTP'yi HTTPS'ye yönlendirin.
HSTS'yi etkinleştirmek için Strict-Transport-Security
başlığını ayarlayın. OWASP'ın HSTS sayfası
talimatlar bağlantıları içeriyor
farklı türde sunucu yazılımları için kullanılır.
Çoğu web sunucusu, özel üstbilgiler eklemeye benzer bir özellik sunar.
Ayrıca istemcilerin hiçbir zaman çerez göndermediğinden (örneğin, kimlik doğrulaması veya site tercihleri) devre dışı bırakılır. Örneğin, bir kullanıcının kimlik doğrulama çerezi düz metin olarak gösterilecekti. Bu, sizin güvenlik garantiniz başka her şeyi yapmış olsanız bile, oturumun tamamı silinir doğru!
Bunu önlemek için web uygulamanızı çerezlerde her zaman Güvenli işaretini ayarlayacak şekilde değiştirin belirler. Bu OWASP sayfasında, Güvenli işaretinin nasıl ayarlanacağı açıklanmaktadır. pek çok çerçevede kullanılabilir. Her appl çerçevesinin işareti ayarlamanın bir yolu vardır.
Çoğu web sunucusu basit bir yönlendirme özelliği sunar. 301 (Moved Permanently)
hesabını kullan
HTTPS sürümünün standart olduğunu arama motorlarına ve tarayıcılara belirtmek için
ve kullanıcılarınızı HTTP'den sitenizin HTTPS sürümüne yönlendirin.
Arama sıralaması
Google, HTTPS'yi pozitif bir arama kalitesi olarak kullanır göstergesi. Google ayrıca, verilerinizi taşıma, taşıma veya taşıma sitenizde bakımını yaparken en iyi sonucu verir. Bing, Google Ads'de aynı zamanda ziyaret edin.
Performans
İçerik ve uygulama katmanları iyi bir şekilde ayarlandığında (bkz. Steve Souders' bakın), ve performansla ilgili endişeler, reklamın genel maliyetine göre bir uygulamadır. Ayrıca, bu maliyetleri azaltabilir ve amorti edebilirsiniz. TLS hakkında öneri için Yüksek Performanslı Tarayıcı Ağları'na bakın. Ilya Grigorik ve Ivan Ristic'in OpenSSL Cookbook ve Kurşun geçirmez SSL ve TLS.
Bazı durumlarda TLS performansı artırabilir. Bunun için genellikle HTTP/2 mümkün. Daha fazla bilgi için şu sayfaya bakın: Chris Palmer's HTTPS ve HTTP/2 performansı hakkında konuşalım. Chrome Geliştirici Zirvesi 2014.
Başvuran başlıkları
Kullanıcılar HTTPS sitenizden diğer HTTP sitelerine giden bağlantıları izlediğinde, kullanıcı aracıları Yönlendiren başlığını göndermeyin. Bu bir sorunsa, birkaç şekilde çözün:
- Diğer siteler HTTPS'ye taşınmalıdır. Yönlendiren siteler
Sunucularınızda HTTPS'yi etkinleştirme bölümündeki
sitenizdeki bağlantıları
http://
yerine kendi siteleriyle değiştirebilirsinizhttps://
veya protokole bağlı bağlantılar kullanın. - Yönlendiren başlıklarıyla ilgili çeşitli sorunları çözmek için Yönlendiren Politikası standardı.
Reklam geliri
Reklam göstererek sitelerinden para kazanan site operatörleri,
reklam gösterimlerini azaltmaz. Ancak, karma reklamlar
İçerik güvenliği endişeleri olduğunda HTTP <iframe>
, HTTPS sayfasında çalışmaz.
Reklamverenler HTTPS üzerinden yayınlayana kadar site operatörleri HTTPS'ye taşınamaz
reklam geliri kaybetmezsiniz. ancak site operatörleri HTTPS'ye geçene kadar
reklamverenlerin HTTPS yayınlamak için çok az motivasyonu vardır.
Bu çıkmazı kırma sürecini başlatmak için, para kazanma olanağı sunan HTTPS üzerinden reklam hizmetleri sunmalarını ve HTTPS üzerinden sunulmayan reklamverenleri istemelerini en azından bir seçenek haline getirmek için. Projeyi tamamlamak için gereken süre Yeterli sayıda reklamveren olana kadar Site İçi URL'leri göreli yapın düzgün şekilde çalışmasını sağlamalısınız.