Το SSL είναι αργό!

Συν?δελφος μου περιγρ?φει το εξ?ς σεν?ριο ?που clients συνδ?ονται σε εσωτερικ? web site μ?σω https/ssl connection και για κ?ποιο λ?γο παρατηρε?ται καθυστ?ρηση-π?γωμα στο φ?ρτωμα της σελ?δας. Το site χρησιμοποιε? Verisign Certificate.

Μη ?χοντας κ?ποιο network trace απαντ? πως ε?τε οφε?λεται σε θ?μα της εφαρμογ?ς ε?τε στον ενδι?μεσο χρ?νο της αναμον?ς ο client προσπαθε? κ?τι να κ?νει και αποτυγχ?νει. ?λα αυτ? β?βαια ε?ναι φιλολογ?ες οπ?τε με την πρ?τη ευκαιρ?α κ?νουμε network trace για να δο?με καλ?τερα τι γ?νεται. Οπ?τε με την πρ?τη ευκαιρ?α πα?ρνουμε network trace και το αναλ?ουμε.

?ταν ξεκιν?με να κ?νουμε network trace για troubleshooting λ?γους προτε?νεται να μη φιλτρ?ρουμε τ?ποτα με capture filters γιατ? ?τσι μπορε? να αποκλε?σουμε πληροφορ?ες που θα φανο?ν χρ?σιμες. Αφο? λοιπ?ν π?ρουμε το trace file εφαρμ?ζουμε display filters ?στε να δο?με καλ?τερα το πρ?βλημα.
Στο trace file εφαρμ?ζω display filter (tcp.port==443) για να δο?με αρχικ? τι συμβα?νει στην SSL επικοινων?α.

clip_image001

Αν παρατηρ?σετε τις στ?λες "Time" & “Delta Time” η συγκεκριμ?νη σ?νδεση ξεκιν? στις 16:28:25.841 αλλ? φα?νεται πως κ?ποια στιγμ?( frames 179 & 346) υπ?ρχει κεν? περ?που 45'' (delta time χρ?νος μεταξ? των 2 πακ?των που απεικον?ζονται). Μ?χρι εδ? δεν ?χει βρεθε? λ?ση αλλ? βλ?πουμε το πρ?βλημα μπροστ? μας.

Επ?μενη λογικ? κ?νηση ε?ναι να καθαρ?σουμε τα ?ποια display filter ?στε να δο?με τι υπ?ρχει ενδι?μεσα.

clip_image002

Αυτ? που εμφαν?ζεται αμ?σως ε?ναι επικοινων?α του client με τον DNS ζητ?ντας την IP για το crl.verisign.com

Χμμ ενδιαφ?ρον και μοι?ζει σχετικ?, μιας και το certificate του https server ε?ναι απ? τη Verisign. Στο frame 175 ?ρχεται η απ?ντηση απ? το DNS Server με την αντ?στοιχη IP 199.7.51.190.
Στο επ?μενο frame βλ?πουμε τον client να ξεκιν? το γνωστ? 3-way TCP handshake (SYN, SYN-ACK, ACK) προς την IP που μ?λις ?λαβε απ? τον DNS Server. Φα?νεται λοιπ?ν ο client να στ?λνει το πρ?το β?μα με το flag SYN enabled.
Στη συν?χεια πως δεν φα?νεται να ?ρχεται η απ?ντηση SYN-ACK π?σω στα επ?μενα frames, αλλ? αντιθ?τως εμφαν?ζεται εκ ν?ου προσπ?θεια σ?νδεσης με ν?ο TCP Packet με SYN Flag. Αφn? συνεχισθε? η προσπ?θεια για 6 φορ?ς με ενδι?μεσα διαστ?ματα των 3’’ & 6’’ ο client επιστρ?φει π?σω στην αρχικ? επικοινων?α. Να σημει?σω εδ? πως τα 3 & 6 δευτερ?λεπτα ε?ναι default συμπεριφορ? για tcp connections.

Αυτ? που παρατηρε?ται ε?ναι default συμπεριφορ? του Internet Explorer ?που ?ταν συνδ?εται σε https site προσπαθε? να κατεβ?σει την CRL ?στε να ελ?γξει αν το συγκεκριμ?νο certificate ?χει γ?νει revoke απ? την αρχ? ?κδοσης, στην προκειμ?νη περ?πτωση Verisign.

?τσι λοιπ?ν στην περ?πτωσ? μας ο browser προσπαθε? συνδεθε? στο crl.verisign.com και αποτυγχ?νει μιας και δεν υπ?ρχει δικα?ωμα πρ?σβασης στο συγκεκριμ?νο site λ?γω firewall κλπ.