Arch Linux Webserverda HTTPS Nasıl Kullanılır

Ön şartlar

  • Güncel Arch Linux çalıştıran bir Vultr sunucusu ( bu makaleye bakın .)
  • Çalışan bir web sunucusu, Apache veya Nginx
  • Sudo erişimi
    • Kök olarak çalıştırılması gereken komutların önüne #ve normal kullanıcı olarak çalıştırılabilen komutların önüne gelir $. Komutları root olarak çalıştırmanın önerilen yolu, normal bir kullanıcı olarak her birinin önüne önek eklemektir sudo.
  • Yüklü bir metin düzenleyicisine sahip olun ve vi, vim, nano, emacs veya benzeri başka bir düzenleyici gibi bunlara aşina olun.

HTTPS ile Güvenli Sunum

İçeriği HTTPS üzerinden sunmak son derece güçlü şifreleme kullanabilir, böylece kullanıcı ve web sunucusu arasındaki trafiği hiç kimse kesemez. Yalnızca trafiğin kendisini değil, erişilen URL'yi de şifreler, aksi takdirde bilgileri açığa çıkarabilir. Google, bir süredir, HTTPS Everywhere girişiminin bir parçası olarak bir sayfanın HTTPS kullanıp kullanmadığına bağlı olarak arama sıralamalarını kısmen belirliyor.

Not : Bir DNS araması, bağlanmakta olan etki alanı adını göstermez, ancak bu işlem sırasında URL'nin tamamı gösterilmez.

SSL / TLS Sertifikası Alın

Teknik olarak, TLS, HTTPS Sertifikaları için SSL'nin yerini aldı, ancak çoğu yer, daha popüler olan SSL Sertifikaları ile TLS Sertifikalarını aramaya devam etti. Yaygın kullanımdan sonra, bu kılavuz da aynı şeyi yapacaktır.

HTTPS'yi kullanmak için, web sunucunuzun özel .keyolarak kullanması için özel bir anahtara ( ) ve .crtortak anahtar içeren herkese açık bir sertifikaya ( ) sahip olması gerekir. Bir sertifika imzalanmalıdır. Bunu kendiniz imzalayabilirsiniz, ancak modern tarayıcılar imzalayanı tanımadıklarından şikayet edecektir. Örneğin, Chrome gösterecektir: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Web sitesini yalnızca özel bir grup kullanıcı kullanıyorsa, bu kabul edilebilir, çünkü tarayıcılar devam etmenin bir yolunu sağlayacaktır. Örneğin, Chrome'da "Gelişmiş" i, ardından "Devam et ... (güvenli değil)"; yine de "Güvenli değil" i gösterir ve "https" yi geçer.

Bu işlemin ülkenizi, eyaletinizi / hizmetinizi, konumunuzu, kuruluşunuzu, kuruluş biriminizi ve ortak adlarınızı ve e-posta adresinizi isteyeceğini unutmayın; hepsine sitenize HTTPS üzerinden bağlanan herkesin tarayıcısından erişilebilir.

Ayrıca, sanal ana bilgisayar sertifikaları veriyorsanız, aşağıda farklı dosya adları vermeniz ve sanal ana bilgisayar yapılandırmalarınızda bunlara işaret etmeniz gerektiğini unutmayın.

Web sunucunuz için uygun dizine geçin.

Apache yüklediyseniz:

$ cd /etc/httpd/conf

Nginx'i yüklediyseniz:

$ cd /etc/nginx

Uygun dizine girdikten sonra özel bir anahtar ( server.key) ve kendinden imzalı sertifika ( server.crt) oluşturun:

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Salt okunur izinleri ayarlayın ve yalnızca özel anahtarın kök tarafından okunmasına izin verin:

# chmod 400 server.key
# chmod 444 server.crt

Alternatif olarak, güvenilir bir sertifika yetkilisi tarafından imzalanmış bir sertifika alabilirsiniz. Sertifikanızı sizin için imzalamak için çeşitli şirketlere (sertifika yetkilileri) ödeme yapabilirsiniz. Sertifika yetkililerini değerlendirirken, hangi tarayıcıların ve hangi sürümlerin bunları tanıyacağına bakmak önemli olabilir. Bazı yeni sertifika yetkilileri, eski tarayıcı sürümlerinde kendinden imzalı bir sertifikadan daha resmi olarak tanınmayabilir.

Genellikle yalnızca herkese açık bir IP adresine değil, aynı zamanda bir alan adına da ihtiyacınız vardır. Bazı sertifika yetkilileri genel bir IP adresine sertifika verebilir, ancak nadiren yapılır.

Birçok sağlayıcı, ödeme yapmadan önce sürecin sizin için çalıştığından emin olabilmeniz için 30 günlük ücretsiz bir deneme sürümü sunar. Fiyatlar, türüne ve birden çok alan adı veya alt alan adı gibi seçeneklere bağlı olarak yılda birkaç dolar ile yüzlerce arasında değişebilir. Standart bir sertifika yalnızca imza yetkilisinin, sertifikayı alan kişinin etki alanında değişiklik yapabileceğini doğruladığını gösterir. Genişletilmiş Doğrulama sertifikası, imzalayan otoritenin talep sahibini incelemek için gerekli özeni göstermiş olduğunu ve modern tarayıcılarda URL'nin içinde veya yakınında yeşil bir çubuk göstereceğini belirtir. Alan adında değişiklik yapabileceğinizi doğrularken, bazı imza yetkilileri, alan adında önemli bir sondaj adresinden e-posta almanızı isteyecektir.admin@your-domain.com. Birçoğu, sunucunuzu yerleştirmeniz için bir dosya vermek, örneğin dosyalarını /srv/http/.well-known/pki-validation/Apache veya /usr/share/nginx/html/.well-known/pki-validation/Nginx için tek barındırma dizini yapılandırmaları için yerleştirmek; veya geçici olarak alan adınızın DNS kayıtlarında sağladıkları bir CNAME girişi oluşturabilirsiniz.

Seçtiğiniz imzalama yetkilisinin biraz farklı adımları olabilir, ancak çoğu aşağıdaki prosedürü kabul edecektir:

Uygun dizinde özel bir anahtar ( server.key) oluşturun:

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Özel anahtarı salt okunur olarak, yalnızca root olarak ayarlayın:

# chmod 400 server.key

Sertifika imzalama isteği oluşturun ( server.csr). Alan adınızı sizden istediğinde girmeniz gerekir Common Nameve meydan okuma şifresini boş bırakabilirsiniz:

# openssl req -new -sha256 -key server.key -out server.csr

Sertifika imzalama isteğini salt okunur olarak, yalnızca kök olarak ayarlayın:

# chmod 400 server.csr

Sertifika imzalama isteğinin içeriğini görüntüleyin. Bu bilgi base64 kodludur, bu yüzden rastgele karakterler gibi görünecektir:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

İmzalama yetkilinizin işlemlerini gözden geçirin ve CSR'nize yapıştırmanız istendiğinde -----satırlar da dahil olmak üzere bu dosyanın tamamını kopyalayıp yapıştırın . Seçtiğiniz imza yetkilisine ve sertifika türüne bağlı olarak, size hemen imzalanan sertifikayı verebilir veya birkaç gün sürebilir. İmzalı sertifikayı verdikten sonra, sertifikayı ( -----BEGIN CERTIFICATE-----ve -----END CERTIFICATE-----satırları da dahil olmak üzere ) server.crtyukarıda web sunucunuz için verilen uygun dizinde kopyalayın ve salt okunur olarak ayarlayın:

# chmod 444 server.crt

Web Sunucunuzu Özel Anahtarı ve Sertifikayı Kullanacak Şekilde Yapılandırma

Güvenlik duvarı kullanıyorsanız, bağlantı noktasına gelen TCP trafiğini etkinleştirmeniz gerekir 443.

Apache için

Düzen /etc/httpd/conf/httpd.confve yorumsuz bu hatları:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Sanal ana bilgisayar kullanıyorsanız yukarıdaki değişikliği yapmanın /etc/httpd/conf/httpd.conftüm ana bilgisayarlarda aynı sertifikayı kullanacağını unutmayın. Tarayıcıların alan adıyla eşleşmediğinden şikayet etmelerini önlemek için her ana bilgisayara kendi sertifikasını vermek için, yapılandırma dosyalarının her birini /etc/httpd/conf/vhosts/kendi sertifikasını ve özel anahtarını gösterecek şekilde düzenlemeniz gerekir :

  • Değişim <VirtualHost *:80>için <VirtualHost *:80 *:443>.
  • İçinde VirtualHostbölümünde aşağıdakileri ekleyin:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Apache'yi yeniden başlat:

# systemctl restart httpd

Nginx için

Düzen /etc/nginx/nginx.confve altına yakın, dışarı yorumsuz HTTPS serverbölümü ve aşağıdakilere satırları değiştirin:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Sanal ana bilgisayar kullanıyorsanız, yukarıdaki değişikliği yapmanın /etc/nginx/nginx.conftüm ana bilgisayarları bu konuma göndereceğini unutmayın. Her ana bilgisayara kendi sertifikasını vermek /etc/nginx/sites-enabled/için, kendi sertifikasına ve özel anahtarına işaret edecek ek bir sunucu bloğuna sahip olmak için yapılandırma dosyalarının her birini düzenlemeniz gerekir :

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Nginx'i yeniden başlat:

# systemctl restart nginx

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.