WordPress SSL sertifikası nasıl kurulur


Ağustos 2014'te Google, HTTPS'yi destekleyen web sitelerini arama sonucu sayfalarında (SERP'ler) daha yüksek sıralamaya başlayacaklarını duyurdu. Şu anda etkisi minimum düzeyde olsa da, gelecekte daha alakalı hale gelebileceğini (bu, Google'ın er ya da geç olacağını söylüyor) belirttiler, öyleyse neden şimdi ilgilenip faydalarını uzun vadede toplamayasınız?

Dikkate alınması gereken bir diğer önemli faktör de güvenilirliktir ; Adres çubuğunda web sitesinin URL'sinin yanında artık iyi bilinen yeşil asma kilit bulunan bir web sitesini her ziyaret ettiğimde, istediğim ve/veya gönderdiğim verilerin güvenli bir şekilde iletildiğini biliyorum. Bu, web sitesinin sahibinin, web sitesinde gezinirken kendimi güvende hissettiğimden emin olmak için bu fazladan adımı attığı anlamına gelir. Benden bonus puanlar!

HTTPS, SSL, TLS, aman tanrım!

WordPress sitenizin güvenli bir bağlantı üzerinden sunulmasını sağlamak için öncelikle bu eğitimde görünecek birkaç temel terimi anlamanız gerekir:

  • HTTPS , Köprü Metni Aktarım Protokolü anlamına gelir ve temel olarak tarayıcınız (bu bağlamda istemci olarak da adlandırılır) ile web sunucusu arasında iletişim kurmanın bir yolu anlamına gelir. Sondaki S sadece güvenli anlamına gelir. Protokolü her iki tarafın da iletişim kurduğu bir dil olarak düşünün. Orada birçok protokol var ve sizin de aşina olduğunuz bir tanesi FTP , yani Dosya Aktarım Protokolü.
  • SSL , üçüncü tarafların (kötü amaçlı yazılımlar gibi) bu iletişimin içeriğini gözetlemesini önleyen şifreli veya basitçe ifade edilmiş, güvenli bir şekilde iletişimi sağlayan bir şifreleme protokolüdür (tekrar bir dil düşünün). Çocukken ve kimsenin anlayamayacağı özel bir dil geliştirdiğin en iyi bir arkadaşımız olduğu zamanları hatırlıyor musun? Pekala, bu bir yetişkin versiyonu Aynı zamanda artık kullanılmıyor, çünkü onun yerini …
  • Tüm amaç ve amaçlar için, SSL'nin yükseltilmiş bir sürümü olan TLS . Sunucunun kimliğini istemciye (tarayıcınız) doğrulamanın bir yolu olarak sertifikaları kullanır. Wikipedia'da bu konuda daha fazla bilgi edinmek için çekinmeyin
  • Sertifikalar , tarayıcıya yayınlayan bir yetkili tarafından doğrulandığını kanıtlayabilmesi için sunucuda ayarlanması gereken özel dosyalardır. Kimliğinizi, polis memuruna gösterdiğiniz ve buna dayanarak gerçekten siz olduğunuzu doğrulayabilecek bir sertifika olarak düşünün.

Terminoloji düzene girdiğine göre artık ellerimizi kirletmenin zamanı geldi.

Önkoşullar

Bu makale, kendi VPS sunucunuzu kullandığınızı varsayıyor, bu günlerde o kadar ucuza geliyorlar ki, paylaşılan barındırma kullanmak için kesinlikle hiçbir nedeniniz yok. TLS'yi paylaşılan bir ana bilgisayarda kurmak mümkün olsa da (belki bir kontrol paneli aracılığıyla?), Daha temiz bir yaklaşımı tercih ederim.

Ayrıca önceki öğreticimizde yaptığımız gibi WordPress kurulumunu da atlayacağız.

Ayrıca, daha az bellek (RAM) kullandığından, aynı koşullar altında daha hızlı olduğundan ve daha hafif bir yazılım parçası olduğundan, Apache yerine Nginx kullanacağız. Bununla birlikte, atacağımız adımların çoğu kolayca Apache'ye uyarlanabilir ve talep olması durumunda bunları dahil edeceğiz.

Gerekli dosyaları oluşturun

Yukarıda bahsedildiği gibi, sertifikalar güvenli iletişimin temelini oluşturur ve sertifika almak için önce özel anahtar denilen şeyi oluşturmanız gerekir; Bu, güvenli WordPress web sitenizi kurmak için ihtiyaç duyacağınız dört dosyadan ilkidir.

Not: Bu bölümdeki tüm komutlar bir Linux kabuğu aracılığıyla yapılır; bu, sunucuya SSH üzerinden oturum açmanız (kaçırmış olmanız durumunda ilk öğreticimizde bir tane kurduk!) veya çalıştırmanız gerektiği anlamına gelir. bilgisayarınızda bir terminalin içinde.

Özel anahtarı oluşturmak için aşağıdaki komutu çalıştırın (wp-kickstart.com'u anahtarı oluşturduğunuz etki alanıyla değiştirin):

 $ openssl genrsa -des3 -out wp-kickstart.com.key 2048

Bu bir anahtar dosyası oluşturacak ve ayrıca sizden bir parola (parola) isteyecektir. Onu kaybetme! Bunu yaparsanız, daha sonra sertifikaya erişmekte sorun yaşayacaksınız.

Artık anahtarımız olduğuna göre, request adlı bir dosya oluşturalım. Bu dosya, veren yetkili tarafından sunucunun tarayıcıyla paylaşabileceği bir sertifika oluşturmak için gereklidir (çünkü anahtar kimseyle paylaşılamayacak kadar önemlidir).

 $ openssl req -new -key wp-kickstart.com.key -out wp-kickstart.com.csr

Bu komutu girdikten sonra, sizden parola istenecek ve bir kez girildikten sonra aşağıdaki gibi birkaç soru sorulacaktır:

WordPress SSL sertifikası oluşturun
WordPress SSL sertifikası oluşturun

En önemli kısım, sertifikanızı oluşturduğunuz etki alanı olan ortak addır . Bu bağlamda www.wp-kickstart.com ve wp-kickstart.com'un iki farklı etki alanı olduğunu unutmayın, bu nedenle kullanıyorsanız www girdiğinizden emin olun!

Artık sertifika imzalama istek dosyasına (csr) sahip olduğumuza göre, orijinal anahtardan geçiş ifadesini kaldırmamız gerekiyor, aksi takdirde sunucuda nginx'i her çalıştırdığımızda onu girmek zorunda kalırdık, bu kötü bir fikirdir:

 $ cp wp-kickstart.com.key wp-kickstart.com.key.pass $ openssl rsa -in wp-kickstart.com.key.pass -out wp-kickstart.com.key 
WordPress SSL liste sertifikaları
SSL sertifika dosyalarını listeleyin

işte! Sertifikamızı almak için ihtiyacımız olan her şeye sahibiz. Şimdi, csr dosyasını veren makama (sertifika satan bir şirket) göndermemiz gerekiyor. ssls.com'u tavsiye ederim çünkü orada yılda 4,99$ gibi düşük bir fiyata sertifika alabilirsiniz, bu da onu hiç de zahmetsiz kılıyor.

Not: Resmi satıcılardan sertifika satın almayın çünkü bunlar genellikle 10 kat daha pahalıdır ve kesinlikle hiçbir ek faydası yoktur! RapidSSL'yi ziyaret edin ve aynı sertifikanın yıllık 49$'a mal olduğunu göreceksiniz!

Öyleyse devam edin ve bir sertifika satın alın, süreç oldukça basittir ve web sitesi size sertifika almak için hangi adımları atmanız gerektiği konusunda uygun talimatlar vermelidir. İpucu: Oluşturduğunuz csr'nin içeriğini almak için aşağıdaki komutu girmeniz yeterlidir:

 $ cat wp-kickstart.com.csr 
WordPress SSL gösteri sertifikası
Sertifika içeriği (güvenlik için kısmen gizlenmiştir)

csr içeriğini girmeniz istendiğinde, onu hangi sunucu için oluşturduğunuz da sorulacaktır. Seçenek olarak nginx yoksa, sadece other öğesini seçin.

Sertifikayı içeren bir e-posta aldığınızda okumaya devam edin. Bekleyeceğim

Muhtemelen biri ara sertifika olarak adlandırılan İKİ sertifika aldınız. Bu noktada ayrıntılara girmeyeceğiz, iki sertifikayı tek bir dosyada birleştirmeniz gerektiğini söylemek yeterli, bu nedenle önce sertifikanızı, ardından aracıyı hemen altına (arada boş satırlar olmadan) yapıştırın ve kaydedin. wp-kickstart.com.crt olarak dosyalayın ( wp-kickstart.com'u sertifikanız olan alan adıyla değiştirin). Şimdi ihtiyacımız olan her şeye sahibiz, zaman…

nginx'i kur

Henüz yapmadıysanız, şimdi tüm dosyaları sunucuya kopyalamanın zamanı geldi, bunun için en yaygın dizin /etc/ssl , ancak oldukça kalabalık olduğu için onları ana dizinimize koyacağım /home/webmaster/certs/ . Bunu yaptığınızı varsayarsak, burada göstereceğim ve aşağıda yorum yapacağım nginx yapılandırma dosyasını değiştirmenin zamanı geldi:

 server { listen 443 ssl spdy; server_name www.wp-kickstart.com; ssl on; ssl_certificate /home/webmaster/certs/wp-kickstart.com.crt; ssl_certificate_key /home/webmaster/certs/wp-kickstart.com.key; # Where the root of your WordPress site is root /home/webmaster/www/www.wp-kickstart.com; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include fastcgi_params; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_script_name; } } server { listen 443; server_name wp-kickstart.com; return 301 https://www.wp-kickstart.com$request_uri; } server { listen 80; server_name www.wp-kickstart.com; return 301 https://www.wp-kickstart.com$request_uri; } server { listen 80; server_name wp-kickstart.com; return 301 https://www.wp-kickstart.com$request_uri; }

Yukarıdaki bloğun ikinci satırındaki spdy kelimesine dikkat edin? Bu kelime, güvenli web sitelerinin sunulma hızını önemli ölçüde artıran, Google'ın deneysel bir protokolünü etkinleştirir. Nginx'in en son sürümlerinden birini kullanıyorsanız, zaten derlenmiş olmalıdır.

Yukarıdaki nginx yapılandırmamızda, dört sanal ana bilgisayar tanımladık ve bunlar, talep edilen aşağıdaki URL'leri kapsar:

  • http://wp-kickstart.com (yanlış, güvenli değil, www yok)
  • http://www.wp-kickstart.com (yanlış, güvenli değil ama www ile)
  • https://wp-kickstart.com (yanlış, güvenli, ancak www yok)
  • https://www.wp-kickstart.com (evet, bu o!)

Neden dört senaryoyu da ele almamız gerekiyor? İki neden: Birincisi, kullanıcı deneyimini iyileştiriyoruz, çünkü bunların tümü sadece mümkün değil, muhtemelen gerçekleşecek – bu nedenle tüm bu ziyaretçileri doğru alana (ve protokole) yönlendiriyoruz. İkincisi, arama motorları yinelenen içeriğe sahip olduğunuz için sizi cezalandırmaz (çünkü siteniz WWW ile çalışıyorsa ve onsuz çalışıyorsa, Google bunların iki ayrı web sitesi olduğunu düşünür!).

Bu nedenle, yukarıdaki yapılandırma dosyasının eti ilk server {} bloğudur veya daha spesifik olarak, dosyanın geri kalanı elbette gereksinimlerinize ve/veya mevcut kuruluma göre değişebileceğinden ssl ile başlayan satırlardır.

(Nginx yapılandırmasıyla ilgili daha gelişmiş şeyler için, kendi versiyonumu geliştirmek için bazı parçaları aldığım bu Github deposunu kontrol edin, burada görebilirsiniz)

Bittiğinde, nginx'i yeniden başlatın (Ubuntu'da, bu genellikle $ sudo service nginx restart yürütülerek gerçekleştirilir) ve artık güvenli bir şekilde sunulan bir WordPress siteniz ve tıpkı bunun gibi yeşil bir onur rozetiniz (asma kilit gibi görünen) olmalıdır:

WordPress HTTPS asma kilidi
Yeşil asma kilit simgesi (Chrome'da)

FTP güvenliğini sağlama

Sertifikaları ana klasörde bırakmaya karar verdiyseniz, şimdi sunucumuza son erişim noktası olan FTP'yi güvence altına almanın tam zamanı.

İlk öğreticimizde vsFTPd'yi kurduk ve onu düzgün bir şekilde güvenceye almak ve sFTP'ye ( s , genellikle güvenli anlamına gelir) dönüştürmek için tüm önkoşullarla birlikte gelir.

Bunu yapmak için, önce hem anahtarımızı hem de sertifikanın kendisini tutacak bir sertifika dosyası oluşturmanız gerekir; bu, bu komutu çalıştırarak yapılır:

 $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

FTP sunucumuzda yapılandırmamız gereken yama olan bir pem dosyası elde edeceksiniz:

 $ sudo nano /etc/vsftpd.conf

Dosyanın sonuna kadar kaydırın ve rsa_cert_file ve rsa_private_key anahtarlarını yorumladığınızdan (önce # işareti eklediğinizden) emin olun, ardından dosyadaki son satırdan sonra aşağıdaki satırları yapıştırın:

 rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO ssl_ciphers=HIGH

Düzenleyiciden çıkın ve vsFTPd'yi yeniden başlatın:

 $ sudo service vsftpd restart

Yeni, güvenli FTP'mizi gerçekten test etmeden önce yapmamız gereken son bir şey var. İlk öğreticimizde, yeniden etkinleştirmemiz gereken parola doğrulamasını engelledik, bu nedenle dosyayı açın:

 $ sudo nano /etc/ssh/sshd_config

ve PasswordAuthentication yazan satırı bulun ve ardından değerini yes olarak değiştirin. Düzenleyiciyi kapatın ve SSH arka plan programımızı yeniden başlatın:

 $ sudo service ssh restart

Sunucumuzun güvenliğini biraz düşürdüğümüzü düşünüyorsanız, haklısınız, ancak korkmayın, SSH erişimi ile ilgili tüm kötü etkinlikleri izleyecek ve önleyecek Sshguard'ı kurmanız yeterlidir:

 $ sudo apt-get install -y sshguard

Ve hepsi bu kadar! Bu yeni konfigürasyonu iki şekilde test edebilirsiniz; Sunucuya bir FTP istemcisi ile bağlanmayı deneyin (SFTP protokolünü ve 22 numaralı bağlantı noktasını seçin) veya WordPress'inize giriş yapın ve bir eklenti yükleyin ( bağlantı türü olarak FTPS'yi seçin).

Çözüm

Gördüğünüz gibi, bir SSL sertifikası yüklemek gerçekten büyük bir anlaşma değil ve kesinlikle web sitenize ve güvenilirliğinize uzun vadeli bir yatırım! Ayrıca, bir eklenti kullanmak zorunda değildik, bu her zaman iyi bir fikirdir, çünkü daha fazla eklenti neredeyse her zaman daha yavaş WordPress anlamına gelir. Bir eklenti sorunlu değildir, ancak 20 veya daha fazla şeye sahip olduğunuzda gerçekten yavaşlama eğilimindedir.

Gelecek hafta size WordPress sitenizi bir Dropbox hesabına nasıl yedekleyeceğinizi öğreteceğim – her gün!

sorular? Aşağıda sorun.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir