Anasayfa » Forum

Kurum içi self-sign...
 

[Çözüldü] Kurum içi self-signed sertifika basmak hk.  

  RSS
Hüseyin Baduk
(@huseyinbaduk)
Yeni Üye

Merhaba Çözümpark Ailesi,

     RHEL/Centos 7 üzerinde OpenSSL ile Apache için kendi sertifikamı basıp ayarlarımı gerçekleştirdim. Beklediğim üzere tarayıcımda bu bağlantı güvenli değil hatası alıyorum ilerle deyince bağlantı gerçekleştirebiliyorum. 

     Yalnız amacım tarayıcıda açmak değil bu server üzerinde RESTful web  service çalıştırmak istiyorum. SSL doğrulama gerçekleştiremediği için bağlantı kuramıyor. Ürettiğim sertifikayı bilgisayarımda "Güvenilen Kök Sertifika Yetkilileri" kısmına eklememe rağmen bilgisayarım ve server arasında güvenli bir bağlantı kuramıyorum. Bu servera güvenli bağlantı sağlayabilmek için nasıl bir yol izlemeliyim.

Bu konu 4 hafta önce Hüseyin Baduk tarafından düzenlendi
Alıntı
Gönderildi : 21/05/2019 13:43
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Merhaba,

Bence bir sertifika satın almanız maliyet açısından daha uygun olacaktır. Eğer SAN, UCC değil ise bir sertifika 100TL

Sorun ise kök dağıtıcı, adı üstüne dağıtıcılar içindir, siz ise kendi kendine imzalanmış bir sertifika kullanıyorsunuz.

Yani bir dağıtıcıdan alırsanız dediğiniz yöntem çalışır ama siz öyle yapmamışsınız.

İlla 100TL ödemeyeceğim diyorsanız en azından bir CA kurun ondan alın.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 21/05/2019 18:56
Turan COŞKUN
(@turancoskun)
Tanınmış Üye Forum Yöneticisi

merhaba,

Hakan hocanın belirttiklerine ek olarak, web servis için 10$'lık sertifiklar mevcut. bkz. comodo positive ssl

birden fazla ihtiyaç var veya bütçe yok ise let's encrypt kullanmanızı öneririm.

ücretsiz olarak web server tercihiniz apache veya nginx farketmeksizin yapılandırabilirsiniz.

referans adreslerden yararlanabilirsiniz, taklıdığınız yerde tekrar bakarız.

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-7

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 22/05/2019 00:09
Hüseyin Baduk
(@huseyinbaduk)
Yeni Üye

Merhaba Turan ve Hakan Hocam,

Certificate yapısının mantığını kavrayabilmek adına deneysel olarak şu anda kurcalama aşamasındayım. Aslında deneyleri de SSL satın alarak yapmayı planlıyordum yalnız bildiğiniz üzere Kamu kurumlarının satın alma prosedürleri biraz sıkıntılı oluyor. Hakan Hocamın dediği gibi CentOS üzerinde CA kurup Sertifikamı imzalamayı deneyeceğim. Laboratuvar ortamında amacıma ulaştıktan sonra Turan Hocamın önerdiği SSL hizmetini almayı planlıyorum.
Cevaplarınız için teşekkür ederim. İyi çalışmalar

CevapAlıntı
Gönderildi : 22/05/2019 01:40
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Kamu içerisinde isen normal, o zaman bu durumda kolaylıklar diliyorum.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 22/05/2019 02:11
Hüseyin Baduk
(@huseyinbaduk)
Yeni Üye

Yardımlarınız için tekrardan teşekkürler Turan ve Hakan Hocam.
Mozilla'da
HTTP Strict Transport Security: false
HTTP Public Key Pinning: false
Hatalarını vermesine rağmen Chrome ve IE'de hatasız çalışmaktadır. Başkalarına da yararlı olması açısından notlarımı paylaşıyorum.

192.168.65.141 = http.server.com
192.168.65.142 = ca.server.com

CA TARAFI
1) OpenSSL kurulumu
# yum install -y openssl

2) CA Sertifikası için private key oluşturuyoruz.
# openssl genrsa -aes128 -out /opt/my_ssl/private/ourCA.key 2048 (pass phrase: ca123)

3) CA Sertifikası basımı
# openssl req -new -x509 -days 1825 -key /opt/my_ssl/private/ourCA.key -out /opt/my_ssl/cert/ourCA.crt

HTTP SERVER TARAFI
4) SSL bağlantılarını desteklemek için repo yüklemesi
# yum install -y mod_ssl

5) Server Sertifikası için private key oluşturuyoruz.
# openssl genrsa -out /opt/my_ssl/private/web-01.key 1024

6) Private Keyden CSR oluşturmak.
# openssl req -new -key /opt/my_ssl/private/web-01.key -out /opt/my_ssl/csr/web-01.csr

7) CSRyi imzalaması için CA'ya gönderiyoruz.
# scp /opt/my_ssl/csr/web-01.csr root@192.168.65.142:/opt/my_ssl/workflow/web-01.csr

GELEN İSTEĞİ CA'DA İMZALAMAK
8) imzalamak
# openssl x509 -req -extfile <(printf "subjectAltName=IP:192.168.65.141") -in /opt/my_ssl/workflow/web-01.csr -CA /opt/my_ssl/cert/ourCA.crt -CAkey /opt/my_ssl/private/ourCA.key -CAcreateserial -out /opt/my_ssl/workflow/web-01.crt -days 365

9) imzalama sonrası web-01.crt isimli bir sertifika dosyası oluştu bunu HTTP servera göndermemiz lazım.
# scp /opt/my_ssl/workflow/web-01.crt root@192.168.65.141:/opt/my_ssl/cert/web-01.crt

HTTP SERVERDA AYARLAMA
10) ssl path'lerinin belirtilmesi
# nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/web-01.crt
SSLCertificateKeyFile /etc/pki/tls/private/web-01.key

11) apache serveri restart etmek
# systemctl restart httpd
# apachectl restart

12) güvenlik duvarında istisnaların belirtilmesi
# firewall-cmd --permanent --add-service=https
# firewall-cmd --reload

İSTEMCİ TARAFI
13) CA sertifika dosyasının Güvenilen sertifikalar listesine eklenmesinin gerçekleştirilmesi

Adsız

Adsız2

Kaynaklar:

http://www.hakanuzuner.com/index.php/neterr_cert_common_name_invalid-hatasi-hakkinda.html
https://ahmermansoor.blogspot.com/2019/01/configure-certificate-authority-ca-centos-7.html

Bu ileti 3 hafta önce 3 defa Hüseyin Baduk tarafından düzenlendi
CevapAlıntı
Gönderildi : 24/05/2019 16:52
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Bence süper bir bilgi olmuş, eline, emeğine sağlık

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 24/05/2019 17:07
Turan COŞKUN
(@turancoskun)
Tanınmış Üye Forum Yöneticisi

Hüseyin bey paylaşımınız için teşekkürler.

aslında projenizde let's encrypt kullanmanız, süreç ve yönetim açısından daha kolay olabilirdi, denemenizi öneririm.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 26/05/2019 23:21
Hüseyin Baduk
(@huseyinbaduk)
Yeni Üye

Merhaba Turan Hocam,
Deneylerde bir domain adresi değilde local ip adresi kullandığım için lets encrypt sonuç vermeyecekti. Bu sebeple biraz zor olanı denemek zorunda kaldım. Yeri gelmişken sorayım Lets encrypt public ip adresi ve web service için  kullanılabilir mi? Malum işin sonunda https://10.10.10.10/myservices/authentication gibi bir URI ile iletişime geçilecek. (mevcut bastığım sertifika web service için çalışmıyor)

CevapAlıntı
Gönderildi : 27/05/2019 01:36
Turan COŞKUN
(@turancoskun)
Tanınmış Üye Forum Yöneticisi

Hüseyin bey,

yapınızda ip adresleri yerine domain isimleri ile ilerlemek için internal dns server konumlandırın.

bugüne kadar ihtiyaç duymamakla birlikte, internal network için let's encrypt kullanabilmeniz gerekir, referans adreste örnek yapılandırma mevcut.

https://r.je/guide-lets-encrypt-certificate-for-local-development

public tarafta kullanımı ile ilgili çok fazla kaynak mevcut, basit bir arama ile ulaşabilirsiniz.

kullanıcı verileri vb. kritik verileri içeren sitelerde let's encrypt önerilmiyor.

yapınızda çok fazla web server mevcut ve ssl tarafını rahat yönetmek isterseniz, nginx üzerinde reverse proxy tercihi işinizi kolaylaştıracaktır.

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 28/05/2019 00:26
Paylaş:
  
Çalışıyor

Lütfen Giriş yap yada Kayıt ol