SSL ve TLS güvenlik katmanları sürekli birbirine karıştırılan iki farklı güvenli iletişim protokolüdür.
Burada kısaca ikisi arasındaki temel farkları anlatacağım.
SSL(Secure Sockets Layer) iletişiminde bağlantının en başından sonuna kadar tüm iletişim şifreli olarak gerçekleşir.
TLS(Transport Layer Security) iletişiminde ise bağlantı işlemi düz,şifresiz olarak kurulur. Sonrasında veri iletimi yapılacağı zaman güvenlik sertifikası anlaşması devreye girer ve şifreli iletişim başlar.
TLS için düz bağlantı portu kullanıldığı için sunucu tarafında ayrı bir port gerekmektedir. HTTP için düz bağlantı portu 80 iken HTTPS için 443 portuna ihtiyaç vardır. SMTP bağlantısında düz bağlantı için 25, SMTP SSL bağlantısı için 465 portu gerekir. Aynı şekilde düz POP3 bağlantısı 110 portundan kuruluyorken POP3S için 995 portu kullanılır.
Görüldüğü gibi her bir servis için ayrı bir SSL portu gerekmektedir. Bu hem sistem yöneticisi hem de güvenlik yöneticisi için ek bir külfet demektir.
TLS'de ise bağlantı şifresiz erişim portundan devam eder. SSL'deki gibi ayrı bir port kullanma ihtiyacı yoktur. Bu kolaylıktan dolayı her geçen gün TLS kullanımı yaygınlaşmaktadır.
Bir sunucunun TLS desteği olduğu nasıl anlaşılır:
SMTP:
Bir SMTP sunucusuna bağlantı kurulduğunda EHLO komutu verildiğinde gelen cevapta STARTTLS satırı varsa o SMTP Sunucusunun TLS desteği var demektir.
# telnet 192.168.1.10 25
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
220 test.surgate.com ESMTP
ehlo
250-test.surgate.com
250-PIPELINING
250-SIZE 20971520
250-DATAZ
250-STARTTLS
250 8BITMIME
Telnet dışında openssl komutu ile de TLS bağlantı testi yapılabilir.
# openssl s_client -crlf -connect 192.168.1.10:25 -starttls smtp
.....
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: 4D835A7C98A3F49FFF904D1771DD8379737F50FF405A2F21BAD5C51FFBAA36E8
Session-ID-ctx:
Master-Key: 56C10B9775420CB547ED6FDD2593379040002F95460941D2F1139AEA1F09C0090C1827920006013793D744F55F5457B2
Key-Arg : None
Start Time: 1363519266
Timeout : 300 (sec)
......
---
250 8BITMIME
POP3:
# openssl s_client -crlf -connect 192.168.1.10:110 -starttls pop3
IMAP:
Telnet ile sunucunun 143. portuna bağlanıp CAPABILTY komutu gönderilir.
Çıktıda STARTTLS var ise TLS desteği var demektir.
# telnet 192.168.1.10 143
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] SurGATE Messaging Suite POP3/IMAP ready.
o CAPABILITY
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN
o OK Pre-login capabilities listed, post-login capabilities have more.
OpenSSL testi:
# openssl s_client -crlf -connect 192.168.1.10:143 -starttls imap
IMAP ile ilgili örnek bir iletişim diyagramını http://www.vocal.com/wp-content/uploads/2012/05/secure_imap_fig1.gif adresinden inceleyebilirsiniz.
Burada kısaca ikisi arasındaki temel farkları anlatacağım.
SSL(Secure Sockets Layer) iletişiminde bağlantının en başından sonuna kadar tüm iletişim şifreli olarak gerçekleşir.
TLS(Transport Layer Security) iletişiminde ise bağlantı işlemi düz,şifresiz olarak kurulur. Sonrasında veri iletimi yapılacağı zaman güvenlik sertifikası anlaşması devreye girer ve şifreli iletişim başlar.
TLS için düz bağlantı portu kullanıldığı için sunucu tarafında ayrı bir port gerekmektedir. HTTP için düz bağlantı portu 80 iken HTTPS için 443 portuna ihtiyaç vardır. SMTP bağlantısında düz bağlantı için 25, SMTP SSL bağlantısı için 465 portu gerekir. Aynı şekilde düz POP3 bağlantısı 110 portundan kuruluyorken POP3S için 995 portu kullanılır.
Görüldüğü gibi her bir servis için ayrı bir SSL portu gerekmektedir. Bu hem sistem yöneticisi hem de güvenlik yöneticisi için ek bir külfet demektir.
TLS'de ise bağlantı şifresiz erişim portundan devam eder. SSL'deki gibi ayrı bir port kullanma ihtiyacı yoktur. Bu kolaylıktan dolayı her geçen gün TLS kullanımı yaygınlaşmaktadır.
Bir sunucunun TLS desteği olduğu nasıl anlaşılır:
SMTP:
Bir SMTP sunucusuna bağlantı kurulduğunda EHLO komutu verildiğinde gelen cevapta STARTTLS satırı varsa o SMTP Sunucusunun TLS desteği var demektir.
# telnet 192.168.1.10 25
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
220 test.surgate.com ESMTP
ehlo
250-test.surgate.com
250-PIPELINING
250-SIZE 20971520
250-DATAZ
250-STARTTLS
250 8BITMIME
Telnet dışında openssl komutu ile de TLS bağlantı testi yapılabilir.
# openssl s_client -crlf -connect 192.168.1.10:25 -starttls smtp
.....
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: 4D835A7C98A3F49FFF904D1771DD8379737F50FF405A2F21BAD5C51FFBAA36E8
Session-ID-ctx:
Master-Key: 56C10B9775420CB547ED6FDD2593379040002F95460941D2F1139AEA1F09C0090C1827920006013793D744F55F5457B2
Key-Arg : None
Start Time: 1363519266
Timeout : 300 (sec)
......
---
250 8BITMIME
POP3:
# openssl s_client -crlf -connect 192.168.1.10:110 -starttls pop3
IMAP:
Telnet ile sunucunun 143. portuna bağlanıp CAPABILTY komutu gönderilir.
Çıktıda STARTTLS var ise TLS desteği var demektir.
# telnet 192.168.1.10 143
Trying 192.168.1.10...
Connected to 192.168.1.10.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] SurGATE Messaging Suite POP3/IMAP ready.
o CAPABILITY
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN
o OK Pre-login capabilities listed, post-login capabilities have more.
OpenSSL testi:
# openssl s_client -crlf -connect 192.168.1.10:143 -starttls imap
IMAP ile ilgili örnek bir iletişim diyagramını http://www.vocal.com/wp-content/uploads/2012/05/secure_imap_fig1.gif adresinden inceleyebilirsiniz.
Değerli bilgilerinizi bizlerle paylastiginiz için teşekkürler hocam.
YanıtlaSil