TLS1.0-1.1 DEPRECATION ÇÖZÜMÜ

Wikipedia ya göre TLS “Transport Layer Security” bilgisayar ağları arasında güvenli iletişimi sağlamaya yönelik geliştirilmiş kritografik bir protoldür. TLS OSI “Open System Interaction” katmanlarının Presentation “sunum “ katmanında çalışır ve 2 ayrı katmandan oluşmaktadır 1- TLS kayıt 2- TLS handshake protolleri. TLS in kullanıldığı uygulamalara örnek vermek gerekirse mail, anlık mesajlaşma, voIP(Voice Over IP ) ve en önemlisi HTTPS protokolünde güvenliği sağlamanta kullanılmaktadır. Yani sunucular, servisler, arası iletişimde “HTTPS “ kullanan kullanan uygulamarda kilit rol almaktadır. IETF “Internet Engineering Task Force” standardlarına uygun şekilde geliştirilmiştir. İlk olarak 1999 yılında tanımlandı ve şuanki versiyonu 1.3 dür. TLSv1.0 - TLSv1.1 Deprecation “sürüm düşürme “

OpenSSL OpenSSL açık kaynak şifreleme kütüphanesidir, SSL/TLS protokollerini uygular.Bu şekilde internet ortamında güvenli bir şekilde “şifreli” iletişim sağlarız.

OpenSSL, SSL/TLS protokollerinin yanı sıra diğer şifreleme protokollerine de uygulanabilir. örn: S/MIME/ HTTPS, SSH ve IPSec gibi protoller. OpenSSL birçok uygulamada kullanılır, sunucu, mail, VPN vb. 

OPENSSL 3.0 VE TLS

OpenSSL 3.0 ile 2018 Eylül ayında 3.0 versiyonu yayınlandı ve TLS 1.3 versiyonuna geçildi. TLS 1.3 versiyonu ile TLS 1.0 ve TLS 1.1 sürümden kaldırıldı (deprecated).

ILGILI TLS1.0-1.1 DEPRECATION ISSUE LinuxImg

https://github.com/openssl/openssl/issues/13299#issue-735006523

OPENSSL TLS 1.0- 1.1 DEPRECATION ÇÖZÜMÜ Bu yazıyı yazmaktaki asıl motivasyonum, TLS sürüm güncellenmesi ve eski sistemlerde örneğin SQL SERVER 2012 ve öncesinde TLS versiyonunun düşük tutulması ve TLS 1.3 versiyonu ile uyumlu çalışamaması. Default olarak /etc/pki/tls/openssl.cnf altında bulunan openssl_conf değeri openssl_init olarak ayarlıdır. Eğer sisteminizde TLS in güncel versiyonu ile çalışamayan bir servis var ise ve openssl_cnf’de **17. satırda openssl_conf değeri mecburen default_conf yapmak zorundayız yoksa diğer servislerimiz (TLS güncel sürümü talep eden servis - uygulamalar) istenildiği gibi çalışmayabilir veya durabilir. “ekteki ekran görüntüsünde openssl_cnf ayarı bulunmaktadır”Bunu bypass etmek için ise;

1- /etc/pki/tls/ dizini altında openssl_cnf adlı dosyamızı yeni bir isimle kopyalarız “openssl_my.cnf ” ve istediğimiz değişikliği yapar kayıt ederiz her ihtimale karşı orjinal kopyasını saklıyoruz.Ve buna da link vereceğiz. 2- /etc/ssl/ dizini altında /pki/tls/openssl_my.cnf adı ile oluşturduğumuz dosyamıza sembolik link veririz. ln -s /etc/pki/tls/openssl_my.cnf openssl_my.cnf sonraki görüntü şu şekilde olacak // /etc/ssl altında openssl_php.cnf -> /etc/pki/tls/openssl_php.cnf openssl.cnf -> /etc/pki/tls/openssl.cnf

3- /etc/pki/tls/openssl_my.cnf ilgili satır 17 -18’deki değişiklik ektedi gibi olacaktır. “siste”

openssl_my.cnf 17-18. satır : openssl_conf = openssl_init değeri olacaktır //default openssl_cnf 17-18.satır : openssl_conf = default_conf //bypass için yapılan değiştirme

4- Oluşturduğumuz openssl_my.cnf adlı dosyayı ortam değişkenine atıyoruz. sunucumuzun terminalinde SHELL’de export ediyoruz; export OPENSSL_CONF=/etc/pki/tls/openssl_php.cnf 5-Son olarak ilgili bash scriptimizin bizim örneğimizde başka servislerle iletişim kuracak, cronda çalışacak bir bash scripti içerisinde tekrardan bu değişkeni tanımlıyoruz. #!/bin/sh

export OPENSSL_CONF=/etc/ssl/openssl_my.cnf

6-Son aşamada ise systemctl reload php-fpm ile servislerimizi reload ediyoruz. İşlemimiz bu kadar

Mecburen Bypass edilmiş openssl_cnf LinuxImg