Forum
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.
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.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
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.
*****************************************************************
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.
*****************************************************************
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
Kamu içerisinde isen normal, o zaman bu durumda kolaylıklar diliyorum.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
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.
*****************************************************************
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 [email protected]:/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 [email protected]:/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
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
Bence süper bir bilgi olmuş, eline, emeğine sağlık
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
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.
*****************************************************************
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.
*****************************************************************
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)
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.
*****************************************************************