1

Téma: (ne)funkční KOS

Zdravím,
mám takový nemilý problém s KOSem: Při pokusu o zahájení komunikace (SSL Client Hello) server bez jakéhokoliv vysvětlení zavře spojení. Stává se to jen někdy, nezávisle na připojení (chyba se projevuje na FF9 (jiné prohlížeče jsem nezkoušel, ale starší verze FF to dělaly taky, jak na Windows tak na Linuxu).
Jako workaround jsem přišel na vypnutí podpory TLS - ale vypínat to před každém otevřením KOSu a pak zas zapínat stojí za prd.
Přikládám dump komunikace - a ať na to koukám jak chci, na té zprávě od klienta nevidím nic špatného, server to spojení nemá co zavřít.
Na spravcekos@.... jsem to hlásil před týdnem - bez odpovědi. Na tu samou chybu jsem narazil i v květnu 2011 - tehdy mne nenapadlo kouknout na komunikaci, takže jsem předpokládal spíš ban na sdílenou IP nebo tak něco, také jsem to hlásil na spravcekos@... A také bez odpovědi.
Nějaké nápady co s tím? Díky

2

Re: (ne)funkční KOS

Stejná chyba se projevuje na Opeře 11 a projevovala se i na předchozích verzích. Internet Explorer vždy bez problému.

3

Re: (ne)funkční KOS

Zkusil bych místo spravcekos@ použít nově nasazený helpdesk. Měl by umožnit problém neutopit a trasovat jeho řešení. Osobně jsem to zatím nezkoušel, sám jsem zvědav. jaké s tím má kdo zkušenosti.

Já mám s adresou spravcekos@ zkušenosti ne příliš dobré. Za touto adresou se neskrývá žádný technicky schopný profík (jak by možná z názvu adresy vyplývalo), ale bývalá knihovnice, která má problémy pochopit některé pojmy z počítačové terminologie a má problém přijít podle technického popisu problému na to, kterému človíčkovi by to měla přeposlat. Bohužel takoví lidi jsou tam asi nasazeni záměrně, aby tvořili filtr mezi uživateli a skutečnými správci systému.

Zdravím

Petr Olšák

4

Re: (ne)funkční KOS

Koukal jsem na ten dump, a našel jsem na tam něco, co tam podle mne být nemá. Paket č.4 zpráva ClientHello.

http://img715.imageshack.us/img715/7876/sslerror.jpg


Klient hlásí, že bude komunikovat pomocí SSL 3.0 ale o kus dál tvrdí. že komunikuje  pomocí TLS 1.2
Navíc mám pocit (a co jsem i koukal) tak FF nepodporuje TLS 1.2 ale pouze TLS 1.0. Zkoušel jsem to na několika počítačích/prohlížečích (FF,Chrome, Win32bit, Win64bit,Linux) a v mém případu se vždy tyto dvě hodnoty shodovaly. Buď měly obě hodnotu 0x0300 (SSL 3.0) nebo 0x0301(TLS1.0).

5

Re: (ne)funkční KOS

Toho jsem si nevšiml. Ale ta verze SSL/TLS v ClientHello (tady x0303) je verze kterou chce klient komunikovat (zpravidla se používá nejvyšší podporovaná). Pokud se to serveru nelíbí tak si v ServerHello řekne o nižší. Ta co je o úroveň výš (tady 0x0300) by snad neměla (před samotným dohodnutím verze) hrát žádnou roli, ale příslušné RFC jsem nějak do hloubky nestudoval. Každopádně je dost možné že se serveru nelíbí zrovna tohle.

Proč Firefox tvrdí, že podporuje TLS1.2 když nepodporuje je taky zajímavá otázka.

Zkusil jsem to odchytit znovu... Teď  Firefox posílá 0x0301 v obou polích a server odpoví. A v systému se pokud vím nic nezměnilo.

Naposledy upravil: pilarra1 (19.01.2012 02:11:33)

6

Re: (ne)funkční KOS

Ta dvě pole by se měla rovnat.  Viz RFC 2246 (TLS1.0) a víceméně stejný popis SSL 3.0 (na SSL neexistuje RFC).

Tohle je kus kódu popisujícho záhlaví handshake protokolu.   Takže bych to viděl jako chybu na straně klienta.

struct {
        uint8 major, minor;
} ProtocolVersion;

ProtocolVersion version = { 3,0 };      /* Define SSL version 3.0 */  

enum {
        change_cipher_spec(20), alert(21), handshake(22),
        application_data(23), (255)
} ContentType;

struct {
        ContentType type;
        ProtocolVersion version;
        uint16 length;
        opaque fragment[SSLPlaintext.length];
} SSLPlaintext;

7

Re: (ne)funkční KOS

Eh, omlouvám se. Tenhle dump byl z wgetu. Firefox pošle v obou polích TLS1.0 (0x0301) a server přesto spojení zavře. Opera 11 na Windows pro změnu se stejnou verzí protokolu projde. Podle mě serveru vadí TLS extensions, které Opera neposílá ale FF ano. Viz tenhle mail.

Linux - Firefox.
Windows - Opera

Jinak, k tomu číslování verzí - pokud vím, tak se v tom RFC nikde nepíše jakou verzi v SSLPlaintext.version použít před tím, než se klient a server na verzi dohodnou, viz RFC 5246 (TLS.1.2):

Earlier versions of the TLS specification were not fully clear on
   what the record layer version number (TLSPlaintext.version) should
   contain when sending ClientHello (i.e., before it is known which
   version of the protocol will be employed).  Thus, TLS servers
   compliant with this specification MUST accept any value {03,XX} as
   the record layer version number for ClientHello.

Ale to se pravděpodobně k tomuhle problému nevztahuje.


Vyřešeno, děkuji všem!

Naposledy upravil: pilarra1 (13.02.2012 01:16:06)