BİLİŞİM SİSTEMLERİ GÜVENLİĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR GÜVENLİK PROTOKOLLERİ • Güvenlik protokollerinin amacı; • İç ve dış erişimlerin denetim altına alınması. • Aktarımlarda verinin şifrelenmesi. • Aktarılan verinin bütünlüğünün sağlanması. • Göndericinin doğrulanması. • Yetkisiz bağlantı kurulmasının engellenmesi IP SEC • IPSec şifreleme algoritmalarının ihtiyaç duyduğu verilerin IP başlığına eklenmesiyle oluşturulmuş bir protokoldür. • IPSec’in genel özellikleri; • Veri bütünlüğünün doğrulanması. • Saldırılara karşı kısmi koruma sağlanması ve sahte paketlerin anlaşılması • Şifreleme algoritmalarının uygulanabilmesi. IP SEC • IPSec SSL’den daha alt katmanda, IP katmanı ile çalışır. • IPSec iki modda çalışır; • Aktarım. • Tünelleme. • Aktarım iki uç sistem arasında kullanılırken tünelleme iki LAN arasında veya bir LAN ile bir ana sistem arasında kullanılır. IP SEC BAŞLIK YAPISI Sonraki başlık Veri yükü uzunluğu Boş Güvenlik parametresi Sıra numarası Doğrulama verisi • Sonraki başlık: 8 bittir. Kendinden sonra gelecek başlığın türü bu alana yazılmıştır. • Doğrulama verisinin uzunluğu veri yükü alanına yazılır. IP SEC BAŞLIK YAPISI • Güvenlik parametresi alanına veri transferini gerçekleştiren sistemlerin kullanacağı parametreler yazılır. • Sıra numarası, tekrarlı paket gönderilerek yapılan saldırılara (DOS – Denial of Service) karşı kullanılır. • Doğrulama verisi, paket içinde bir değişiklik yapılıp yapılmadığının anlaşılmasında kullanılır. IP SEC BAŞLIK YAPISI • IP Sec başlığı ile bir IP paketi; IP/IPSec başlığı Doğrulama başlığı ESP başlığı TCP/UDP verisi • Tünelleme modunda IPSec başlığı Yeni IP başlığı Doğrulama ESP başlığı başlığı IP başlığı TCP/UDP verisi SSL • SSL HTTP ve FTP gibi uygulama katmanı protokolleri ile TCP katmanı arasında çalışan bir protokol kümesidir. • HTTPS (güvenli HTTP) hizmetinde yaygın olarak kullanılır. • SSL paketleri TLS paketleri olarak da bilinir. • TCP paketleri SSL olmadan iletildiğinde veri açık olarak paylaşılır. • TCP paketleri SSL ile iletildiğinde (TLS olarak) veri şifrelenerek iletilir. SSL • SSL protokolleri; • El sıkışma protokolü • Şifre özellikleri takası protokolü • Uyarı protokolü • Kayıt protokolü Uygulama Katmanı (HTTP, FTP) El sıkışma Protokolü Şifre özellikleri takası SSL Kayıt Protokolü TCP Uyarı Protokolü SSL • El sıkışma protokolü, karşılıklı kullanılacak şifreleme algoritmasının ve güvenlik anahtarının belirlenmesinde kullanılır. • Şifre özellikleri takası ise şifreleme algoritmasının ve anahtarının değiştirilmesi gibi durumlarda kullanılır. • Uyarı protokolü uyarı mesajlarının iletilmesinde kullanılır. • Kayıt protokolü ise gerekli şifreleme ve doğrulama işlemlerinin yapıldığı protokoldür. SSL • Şifrele algoritması olarak DES, 3DES, AES, RC4, RSA veya DSS gibi algoritmalar ile şifreleme yapılır. • RSA ve DSS e – imza sistemlerinde yoğun olarak kullanılmaktadır. • SSL Netscape firması tarafından geliştirilmiştir. • SSL v1.0, SSL v2.0 ve SSL v3.0 versiyonlarından sonra birkaç yen özellik eklenmiş ve TLS protokol kümesi olarak internette yaygınlaşmıştır. ÖRNEK TLS PAKETİ SERTİFİKALAR • Şifrelenmiş verinin paylaşımında, şifreleme ve çözme için ihtiyaç duyulan anahtarların saklandığı dosyalardır. • Bir sertifikada kullanılacak şifreleme algoritmasının ve şifreleme anahtarlarının verisi bulunur. • Sertifikalar public key şifreleme metodlarında kullanılır. ÖRNEK SERTİFİKA (1. KISIM) ÖRNEK SERTİFİKA (2. KISIM) OPEN SSL • Openssl https://slproweb.com/products/Win32OpenSSL.html adresinden Windows versiyonu indirilip kurulabilir. • Windows versiyonu kuruldukran sonra, Bilgisayarım>Özeelikler>Gelişmiş Seçenekler>Ortam Değişkenleri düğmesine tıklayarak değişken adı «OPENSSL_CONF», değer «[openssl kurulum klasörü]\bin\openssl.cfg» girilir. • DOS ekranında «SET OPENSSL_CONF=[openssl kurulum klasörü]\bin\openssl.cfg» komutu çalıştırılarak da aynı işlem yapılabilir. • Linux’ta kurmak için «sudo apt-get install openssl» komutu çalıştırılmalıdır. OPEN SSL KOMUTLARI • Windows işletim sisteminde DOS ekranından «cd [openssl kurulum klasörü]\bin» komutu çalıştırılarak openssl klasörüne geçilir, terminal ekranından ise su komutu yazılarak root yetkileri alınır. • Ardından openss komutları çalıştırılabilir. • Yeni bir private key ve imza talebi oluşturmak için; • openssl req -out talep.csr -new -newkey rsa:2048 -nodes -keyout anahtar.key OPEN SSL KOMUTLARI OPEN SSL • İmzalı sertifika için; • openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout anahtar.key -out sertifika.crt • Varolan bir anahtar için imza telbi oluşturma; • openssl req -out talep.csr -key anahtar.key –new • Şifreyi değiştirmek için • openssl rsa -in sertifika.pem -out yeniSertifika.pem OPEN SSL • İmza isteğini kontrol etmek için; • openssl req -text -noout -verify -in talep.csr • Özel anahtarı kontrol etmek için; • openssl rsa -in anahtar.key –check • Sertifikayı kontrol etmek için; • openssl x509 -in sertifika.crt -text -noout OPEN SSL • PKCS#12 (.pfx, .p12) dosyasını kontrol etmek için; • openssl pkcs12 -info -in sertifika.p12 • DER (.crt .cer .der) dosyasını PEM dosyasına çevirmek için; • openssl x509 -inform der -in sertifika.cer -out sertifika.pem • PEM dosyasını DER dosyasına çevirmek için; • openssl x509 -outform der -in certificate.pem -out certificate.der OPEN SSL • PKCS#12 dosyasını PEM dosyasına çevirmek için; • openssl pkcs12 -in sertifika.pfx -out sertifika.pem –nodes • Sadece anahtar için «–nocerts», sadece sertifika için «-nokeys» seçenekleri kullanılmaktadır. • PEM dosyasını PKCS#12 dosyasına çevirmek için; • openssl pkcs12 -export -out sertifika.pfx -inkey anahtar.key -in sertifika.crt certfile istek.crt ÖZET • Güvenlik protokollerinin amacı; • İç ve dış erişimlerin denetim altına alınması. • Aktarımlarda verinin şifrelenmesi. • Aktarılan verinin bütünlüğünün sağlanması. • Göndericinin doğrulanması. • Yetkisiz bağlantı kurulmasının engellenmesi ÖZET • IPSec şifreleme algoritmalarının ihtiyaç duyduğu verilerin IP başlığına eklenmesiyle oluşturulmuş bir protokoldür. • SSL, HTTP ve FTP gibi uygulama katmanı protokolleri ile TCP katmanı arasında çalışan bir protokol kümesidir. • Sertifikalar şifrelenmiş verinin paylaşımında, şifreleme ve çözme için ihtiyaç duyulan anahtarların saklandığı dosyalardır. • Openssl https://slproweb.com/products/Win32OpenSSL.html adresinden Windows versiyonu indirilip kurulabilir. ÖZET • Linux’ta kurmak için «sudo apt-get install openssl» komutu çalıştırılmalıdır. SORULAR • SSL ile TCP arasındaki ilişkiyi açıklayınız. • IPSec’in kullanım alanlarını açıklayınız. • DER türündeki bir sertifikayı PEM türüne dönüştüren komutu yazınız. • https://www.google.com adresininin yayınladığı sertifikayı PKCS#12 formatında alınız; • Sertifikayı anahtar dosyasını üretiniz. • Sertifikanın imza talebini üretiniz. KAYNAKÇA • Open SSL User Guide, https://www.openssl.org/docs/fips/UserGuide-2.0.pdf, 25.03.2016 • IPSEC, https://tr.wikipedia.org/wiki/IPsec, 25.03.2016 • SSL, https://en.wikipedia.org/wiki/Transport_Layer_Security, 25.03.2016 TEŞEKKÜRLER