Вопрос или проблема
В чем разница между
http://serverfault.com:443 и
https://serverfault.com:80
Какой из них теоретически более безопасен?
http и https относятся к используемому протоколу.
http используется для нешифрованной связи в открытом виде, что означает, что передаваемые данные могут быть перехвачены и прочитаны человеком. Поля имени пользователя и пароля, например, могут быть захвачены и прочитаны.
https относится к зашифрованной связи SSL/TLS. Его необходимо расшифровать, чтобы прочитать. Обычно/идеально только конечные точки способны шифровать/расшифровывать данные, хотя это утверждение имеет оговорки (см. исправление ниже).
Поэтому https можно считать более безопасным, чем http.
:80 и :443 относятся только к используемому серверному порту (т.е. это “просто число”) и не имеют никакого значения с точки зрения безопасности.
Тем не менее, существует сильная конвенция отправлять http через порт 80, а https через порт 443, что делает комбинации в вопросе более чем немного неортодоксальными. Однако их технически можно использовать, пока конечные точки согласны и нет промежуточных фильтров.
Отвечая на вопрос, http://example.com:443 менее безопасен, чем https://example.com:80, и разница является практической (хотя ее можно компенсировать различными способами) и не только теоретической.
Вы можете легко проверить правильность этих утверждений с помощью веб-сервера и клиента, где вы манипулируете серверным портом и статусом шифрования, при этом захватывая и сравнивая каждую сессию с помощью протокольного декодера, такого как Wireshark.
[ИСПРАВЛЕНИЕ – оговорки относительно безопасности пути клиент/сервер]
По сути, может быть осуществлена атака “человек посередине” в https с целью подслушивания или выдачи себя за другого. Это может быть сделано как акт злонамеренности, доброжелательности или, как оказалось, даже из-за неосведомленности, в зависимости от обстоятельств.
Атака может быть осуществлена либо путем эксплуатации уязвимости протокола, такой как Heartbleed ошибка или уязвимость Poodle, либо путем создания https-прокси между клиентом и сервером в сети или непосредственно на клиенте.
Злонамеренное использование не требует большого объяснения, я думаю. Доброжелательное использование, например, – это организация, проксирующая входящие https-соединения с целью логирования/IDS, или исходящие https-соединения для фильтрации разрешенных/запрещенных приложений. Пример неосведомленного использования можно найти в примере Lenovo Superfish, указанном выше, или в недавнем варианте Dell той же ошибки.
ИСПРАВЛЕНИЕ 2
Вы когда-нибудь замечали, как мир продолжает удивлять? В Швеции только что разразился скандал, когда три организации здравоохранения вендоров использовали одну и ту же цепочку поставок для регистрации медицинских событий через телефонные звонки пациентов.
Таким образом, вопрос получает ответ в глобальном масштабе. Если бы это была шутка и не реальное событие…
Я просто скопирую два фрагмента, переведенных из новостного текста в Computer Sweden:
”Computer Sweden может сегодня раскрыть одну из величайших катастроф в истории
относительно безопасности пациентов в здравоохранении и личной неприкосновенности. На
открытом веб-сервере без какой-либо формы защиты паролем или другого метода
безопасности мы нашли 2,7 миллиона записанных звонков от пациентов в
здравоохранение через медицинский консультационный номер 1177. Звонки идут
с 2013 года и содержат 170.000 часов записей чувствительных голосовых звонков,
которые любой мог скачать и прослушать.[…]
Звонки были сохранены на сервере Voice Integrated Nordics
по IP-адресу http://188.92.248.19:443/medicall/. Tcp-порт 443
указывает на то, что трафик передавался по https, но сессия
не зашифрована.
Я не могу решить, является ли это очередным примером неосведомленности или мы наблюдаем совершенно новую категорию. Пожалуйста, дайте совет.
В теории ни http://serverfault.com:443, ни https://serverfault.com:80 не являются безопасными, и обе конфигурации являются проблемными.
-
http://serverfault.com:443: Это использует HTTP на порту 443, который обычно зарезервирован для HTTPS. Несмотря на то, что этот порт обычно ассоциируется с HTTPS, HTTP-трафик через порт 443 по-прежнему
нешифрован и, таким образом, небезопасен. -
https://serverfault.com:80: Это пытается использовать HTTPS на порту 80,
который обычно назначается для HTTP. Хотя протокол HTTPS
подразумевает шифрование, большинство браузеров и серверов ожидают HTTPS-трафик
на порту 443, поэтому использование порта 80 может вызвать проблемы с подключением. Даже если
это работает, использование необычного порта не добавляет безопасности и может привести к
проблемам совместимости.
В кратце, ни одна из конфигураций не предлагает надежный подход. Лучшая практика – использовать HTTPS на порту 443 (например, https://serverfault.com:443) и HTTP на порту 80 (например, http://serverfault.com:80), чтобы обеспечить шифрование и совместимость с отраслевыми стандартами.
Ответ или решение
Разница между HTTP на порту 443 и HTTPS на порту 80
Общее описание
При обсуждении HTTP и HTTPS важно понимать, что протоколы передачи данных, используемые в интернете, играют ключевую роль в обеспечении безопасности обмена информацией. В частности, HTTP (Hypertext Transfer Protocol) и HTTPS (HTTP Secure) имеют различные уровни защиты данных.
Порты и их значения
Порты 80 и 443 имеют традиционные назначения:
- Порт 80 обычно используется для HTTP-трафика.
- Порт 443 предназначен для HTTPS, который обеспечивает шифрование данных.
Однако, использование этих протоколов на неверных портах, как в случае с http://serverfault.com:443
и https://serverfault.com:80
, создает ряд проблем и недостатков.
Анализ: HTTP на порту 443
Общая характеристика
- Протокол: HTTP
- Порт: 443
Использование HTTP на порту 443 подразумевает передачу данных в незашифрованном виде. Хотя порт 443 традиционно ассоциируется с защищенной передачей данных, само наличие HTTP-трафика на этом порту не обеспечивает никакой безопасности. Все данные передаются в открытом виде и могут быть легко перехвачены злоумышленниками. Это делает такое соединение гораздо менее безопасным по сравнению с использованием HTTPS.
Анализ: HTTPS на порту 80
Общая характеристика
- Протокол: HTTPS
- Порт: 80
Наоборот, использование HTTPS на порту 80 предполагает, что данные будут передаваться с шифрованием. Тем не менее, это вызывает сложности совместимости. Большинство браузеров и серверов ожидают, что HTTPS будет использоваться на порту 443, и попытка осуществить соединение с HTTPS на порту 80 может привести к ошибкам подключения. Несмотря на теоретическую защиту, дополнительный риск связан с тем, что использование нестандартного порта может открыть уязвимости и затруднить обработку трафика.
Проблема безопасности
Теоретическая и практическая безопасность
Как в случае http://serverfault.com:443
, так и в случае https://serverfault.com:80
, оба соединения имеют серьезные недостатки.
-
Http на порту 443: Несмотря на использование порта, связанного с защищенным трафиком, данные передаются без шифрования. Это более уязвимо к перехвату.
-
Https на порту 80: Хотя шифрование присутствует, система не ожидает HTTPS на этом порту, что делает подключение нестабильным и потенциально уязвимым.
Рекомендации
Лучшей практикой является использование стандартных портов:
- HTTPS на порту 443
- HTTP на порту 80
Это не только обеспечивает безопасность данных, но и минимизирует проблемы совместимости, улучшая удобство использования.
Заключение
Таким образом, http://serverfault.com:443
менее безопасен, чем https://serverfault.com:80
, но оба варианта представляют собой практические проблемы и являются не лучшими решениями. Использование стандартных портов с правильными протоколами является ключом к обеспечению безопасной и эффективной передачи данных в интернете.