Ошибка соединения SSL с TLS-соединением

Ошибка соединения SSL с TLS-соединением

Я использую Ubuntu 12.04, установленный на VirtualBox (Mac) с помощью vagrant. Я не использую никакой прокси-сервер.

В моей корпоративной сети, когда я пытаюсь

curl -1vsS https://github.com/FGRibreau/doxx/archive/master.zip

Я получаю следующие результаты:

* About to connect() to github.com port 443 (#0)                                                                                           
*   Trying 192.30.252.130... connected
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to github.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to github.com:443

Он застрял на Client hello. То же самое касается и других инструментов, которые я использую, например npm, bower

Но если я сделаю следующее:

wget --secure-protocol=TLSv1 https://github.com/FGRibreau/doxx/archive/master.zip

Я могу загрузить файл. Основная проблема здесь в том, что я получаю проблему с подключением только если я в сети моей компании. Упомянутая проблема никогда не возникала, если я подключался к другой сети. (например, дома, через общественный доступ в Интернет и т. д.)

Прежде чем обойти эту проблему, я принудительно переключу все соединения на SSLv3, поскольку проблема возникает только в том случае, если клиент/сервер решает использовать TLS.

Я предполагаю, что именно из-за недавней уязвимости SSL люди начали отключать SSLv3.

Что я могу сделать, чтобы проверить, что не так с моей настройкой и что вызывает проблемы при использовании TLS для HTTPS-соединений?

[Изменить] Если я выполню следующую команду:

strace -o ./tmp.out curl -v -sS https://github.com/FGRibreau/doxx/archive/master.zip

Файл tmp.out слишком большой, чтобы вставить его здесь, поэтому последние несколько строк следующие:

write(3, "\26\3\1\0\337\1\0\0\333\3\2T`E\30\3006\315\336\220I\6|\v'!8cp*\206\332"..., 228) = 228
write(2, "*", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "SSLv3, TLS handshake, Client hel"..., 40) = 40
read(3, 0x9cdf3e0, 7)                   = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {10742, 580346821}) = 0
clock_gettime(CLOCK_MONOTONIC, {10742, 580375417}) = 0
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 299700) = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGINT (Interrupt) @ 0 (0) ---
+++ killed by SIGINT +++

Похоже, что он ожидает ответа от сервера, но не получает его и завершается с ошибкой.

решение1

Проблема решена. Похоже, что сайты, которые я посещаю, используют Tor, а наш сетевой брандмауэр блокирует все, что связано с Tor.

Нужно просто удалить правило брандмауэра, которое блокирует Tor.

Связанный контент