Содержание

Что такое HTTPS порт, а также каковы способы его открытия

Каждый персональный компьютер имеет определенное имя, по которому его можно идентифицировать, узнать его расположение, а также другую информацию о нем. Имя же этому идентификационному номеру – IP-адрес. Именно через него можно подключить свой компьютер к какому-то серверу. Порт же является охранником, который может допустить соединение или же отклонить его, если определенный адрес не указан заранее как доверенный.

Что такое порт?

Порты используются для подключения различного программного обеспечения. Каждая программа использует свой порт, потому что две программы не могут использовать один и тот же. В итоге такое подключение приведет к ошибкам соединения. На номер порта выделается 16 бит, то есть максимальное количество портов в таком случае равно 65 536.

Имеется только 2 варианта порта: UPD и TCP. Различаются они только в том, что на UDP нагрузка на сервер, где используется данная технология, в несколько раз меньше. Все из-за того, что данный метод не проверяет процесс доставки пакетов получателю, он просто их отправляет. Следовательно, требуется меньше вычислительной мощности сервера, в отличие от TCP, где все подлежит строгому контролю. Порт HTTPS принадлежит именно к TCP. Поэтому он настолько надежный и популярный.

Как открыть порт HTTPS на своем компьютере

Несмотря на то что порт является открытым, бывают случаи, когда он перекрыт программами. Примером такой программы может быть антивирус, установленный на компьютере. Если у вас «Виндовс 7» или более новая версия, то имеется уже встроенный антивирус Windows Defender. Он является очень эффективным средством против множества червей, троянов и тому подобных вирусов, но есть один минус. В процессе его работы могут быть отключены некоторые, если не все, порты. Делается это все для вашей же безопасности. Если же необходимо подключить какую-то программу, использующую HTTPS порт, то придется отключить его. Делается это следующим образом:

  1. Зайдите в «Панель управления».
  2. Войдите в первый пункт «Система и безопасность».
  3. Нажмите надпись «Брандмауэр Виндовс».
  4. Если у вас встроенный антивирус включен, то будут 2 щита зеленого цвета. Рядом будет несколько пунктов, среди которых «Изменение параметров уведомлений», зайдите туда.
  5. Отключите оба пункта, после чего антивирус будет деактивирован, и многие порты откроются.
Проверьте нужную опцию на сайте, которая может проверять порты. Но HTTPS — какой порт? По стандартам он является 443 портом. В Интернете есть множество таких ресурсов, стоит лишь написать «Сайт для проверки порта». Если же ресурсы не открылись, то есть вероятность того, что ваш роутер или сам Интернет-провайдер блокирует данный путь. Такое случается нечасто, данных провайдеров называют «серыми». Для выхода из подобной ситуации рекомендуют использовать VPN-соединение.

Как открыть порты с помощью VPN

Данный способ имеет максимальную эффективность, ввиду того что сервера, через которые происходит Интернет-соединение, созданы с такой задумкой, чтобы каждый мог открыть нужный порт без особых усилий. Для установления VPN нужно сделать следующие операции:

  1. В поисковике написать «VPN скачать». Найдется определённое количество сайтов, которые могут предоставить VPN на платной или бесплатной основе.
  2. Зарегистрируйтесь и скачайте программу с выбранного сайта.
  3. Выберите сервер, который ближе всего находится к вам, после чего зайдите в панель управления VPN в самой программе или на официальном сайте.
  4. Найдите пункт, который предоставляет функцию открытия портов, введите интересующий вас порт, HTTPS протокола например, после чего он будет открыт.

Хотя Интернет-соединение после такого и станет немного медленнее, но порты будут открыты, а также появится возможность заходить на сайты, которые запрещены в пределах вашей страны.

Заключение

Открытие HTTPS порта является достаточно простым заданием, если, конечно, знать принцип его включения и отключения. Надеемся, что данная статья помогла вам в решении проблемы. Но также стоит помнить, что через порты злоумышленники могут завладеть вашим компьютером, поэтому не стоит открывать всевозможные адреса, только те, которые точно будут использоваться.

fb.ru

Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443 / Habr


SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
— Да!
  • Хотите скрыть наличее у вас некоторых сервисов?
  • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
  • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
  • SSH подключение к своему серверу из стран с цензурой?

На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.

Почему?


С недавним выходом Telegram Proxy который почти полностью выглядит как SSL трафик появился интересный вопрос в комментариях к посту:
Newton:
У меня довольно нубский вопрос — а завести это вместе с sslh не реально?
После беглой проверки возможностей приложения sslh мне показалось, что «завести» не удастся, но меня очень заинтересовало это приложение, и, как оказалось,
скрестить ужа с ежом
«завести» все-таки можно.

Как?


Приложение SSLH — мултиплексор, другими словами, оно анализируя трафик (фактически выполняя работу mini-DPI) и в зависимости от типа трафика, направляет его в локальный порт 8443/999/991 или любой другой…

Что позволяет нам впервые использовать технологию DPI во благо.

Задача


Для примера использования SSLH поставим задачу:

На сервере установлены следующие приложения — Telegram Proxy, Apache, SSH и все эти сервисы мы хотим пускать в мир через 443 порт.

Сервер в нашем примере — Ubuntu 16.04.4 LTS, Apache2 + LetsEncrypt,SSH,Telegram Proxy в Docker.

На данный момент, на нем работает, как и положено, Apache.

Установка & Настройка


Установим SSLH:
sudo apt-get install --no-install-recommends sslh

При установке будет задан вопрос о режиме использования, их два:
  • стабильный но более ресурсозатратный
  • быстрый, но с потерей соединений при падении процесса

Я за второй вариант, вы, конечно же, можете выбрать другой.

Проверим, работает ли наше чудо следующей командой:


sudo sslh-select -f --listen IP:8443 --tls 127.0.0.1:443  --ssh 127.0.0.1:22 --anyprot 127.0.0.1:9443

IP — внешний IP сервера
8443 — порт на котором будет запущен наш мултиплексор
443 — там где живет Apache
Обратите внимание на опцию anyprot — именно там будет жить наш Telegram Proxy, другими словами, если трафик не подошел ни под какой тип — отправить туда.

Внимание! Если в вашей конфигурации отсутствует Telegram или SSH — уберите лишние ключи запуска.

Проверим?


Откройте браузер по адресу вашего сервера с портом 8443 — вы должны увидеть ответ от Apache, далее попробуйте подключить по SSH или через Telegram Proxy.

Перенос Apache на другой порт


Для переноса Apache со стандартного порта (443) на другой, например на 7443, посетите следующие файлы:

sudo nano /etc/apache2/ports.conf
sudo nano /etc/apache2/sites-enabled/000-default-le-ssl.conf

В примере Apache+SSL/HTTPS был установлен с использованием LetsEncrypt при другом сертификате конфигурационные файлы могут быть по другим путям.

Автозапуск


Настало время настроить автозапуск.

Отредактируем файл:


sudo nano /etc/default/sslh

В поле DAEMON_OPTS= добавьте атрибуты при запуске команды sslh-select, установите RUN в =yes.

Запустим:


sudo systemctl start sslh

Убедимся, что всё хорошо:

sudo systemctl status sslh

Что в итоге?


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

А как дела с OpenVPN? какие протоколы еще умеет приложение?


На момент написания поста, sslh умеет определять и мультиплексировать следующие протоколы:

	[--ssh <addr>]
	[--openvpn <addr>]
	[--tinc <addr>]
	[--xmpp <addr>]
	[--http <addr>]
	[--ssl <addr>]
	[--tls <addr>]
	[--anyprot <addr>]

Перед использованием, лучше убедиться, какие протоколы поддерживает ваша версия, (вдруг она новее) используя:
sslh-select -h

Ссылки


Разработка SSLH происходит на github, вот в этом репозитории: github.com/yrutschle/sslh

Docker


Собрать рабочий вариант sslh в докере вместе со всеми другими службами у меня не получилось, на мой взгляд будет интересен
docker-compose
файл который сможет поднять на 443 порту:
  • Apache + LetsEncrypt
  • Telegram Proxy
  • OpenVPN (опционально)
  • Использовать локальный SSH

Если у кого то это получится — пишите в комментариях — добавим в статью, на мой взгляд, это будет полезно.

Вам также может быть интересно


habr.com

HTTPS — Википедия

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443.[1]

Протокол был разработан компанией Netscape Communications для браузера Netscape Navigator в 1994 году

[2].

Принцип работы

HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS.[3] Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа man-in-the-middle, при условии, что будут использоваться шифрующие средства и сертификат сервера проверен и ему доверяют.[4]

По умолчанию HTTPS URL использует 443 TCP-порт (для незащищённого HTTP — 80).[5] Чтобы подготовить веб-сервер для обработки https-соединений, администратор должен получить и установить в систему сертификат открытого ключа для этого веб-сервера. В TLS используется как асимметричная схема шифрования (для выработки общего секретного ключа), так и симметричная (для обмена данными, зашифрованными общим ключом). Сертификат открытого ключа подтверждает принадлежность данного открытого ключа владельцу сайта. Сертификат открытого ключа и сам открытый ключ посылаются клиенту при установлении соединения; закрытый ключ используется для расшифровки сообщений от клиента.

[6]

Существует возможность создать такой сертификат, не обращаясь в ЦС. Подписываются такие сертификаты этим же сертификатом и называются самоподписанными (self-signed). Без проверки сертификата каким-то другим способом (например, звонок владельцу и проверка контрольной суммы сертификата) такое использование HTTPS подвержено атаке man-in-the-middle.

[7]

Эта система также может использоваться для аутентификации клиента, чтобы обеспечить доступ к серверу только авторизованным пользователям. Для этого администратор обычно создаёт сертификаты для каждого пользователя и загружает их в браузер каждого пользователя. Также будут приниматься все сертификаты, подписанные организациями, которым доверяет сервер. Такой сертификат обычно содержит имя и адрес электронной почты авторизованного пользователя, которые проверяются при каждом соединении, чтобы проверить личность пользователя без ввода пароля.

[8]

В HTTPS для шифрования используется длина ключа 40, 56, 128 или 256 бит. Некоторые старые версии браузеров используют длину ключа 40 бит (пример тому — IE версий до 4.0), что связано с экспортными ограничениями в США. Длина ключа 40 бит не является сколько-нибудь надёжной. Многие современные сайты требуют использования новых версий браузеров, поддерживающих шифрование с длиной ключа 128 бит, с целью обеспечить достаточный уровень безопасности. Такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.[9]

Традиционно на одном IP-адресе может работать только один HTTPS-сайт. Для работы нескольких HTTPS-сайтов с различными сертификатами применяется расширение TLS под названием Server Name Indication (SNI).

[10]

На 17 июля 2017 года, 22,67 % сайтов из списка «Alexa top 1,000,000» используют протокол HTTPS по умолчанию[11]. HTTPS используется на 4,04 % от общего числа зарегистрированных российских доменов[12].

Идентификация в HTTPS

Идентификация сервера

HTTP/TLS запросы генерируются путём разыменования URI, в следствие чего имя хоста становится известно клиенту. В начале общения, сервер посылает клиенту свой сертификат, чтобы клиент идентифицировал его. Это позволяет предотвратить атаку человек посередине. В сертификате указывается URI сервера. Согласование имени хоста и данных, указанных в сертификате, происходит в соответствии с протоколом RFC2459[13]

.

Если имя сервера не совпадает с указанным в сертификате, то пользовательские программы, например браузеры, сообщают об этом пользователю. В основном, браузеры предоставляют пользователю выбор: продолжить незащищённое соединение или прервать его.[14]

Идентификация клиента

Обычно, сервер не располагает достаточной информацией о клиенте, для его идентификации. Однако, для обеспечения повышенной защищённости соединения используется так называемая two-way authentication. При этом сервер, после подтверждения его сертификата клиентом, также запрашивает сертификат. Таким образом, схема подтверждения клиента аналогична идентификации сервера.[15]

Уязвимости HTTPS

Совместное использование HTTP и HTTPS

Когда сайты используют смешанный функционал HTTP и HTTPS, это потенциально приводит к информационной угрозе для пользователя. Например, если основные страницы некоторого сайта загружаются, используя HTTPS, а CSS и JavaScript загружаются по HTTP, то злоумышленник в момент загрузки последних может подгрузить свой код и получить данные HTML-страницы. Многие сайты, несмотря на такие уязвимости, загружают контент через сторонние сервисы, которые не поддерживают HTTPS. Механизм HSTS позволяет предотвратить подобные уязвимости, заставляя принудительно использовать HTTPS соединение даже там, где по умолчанию используется HTTP.

[16]

Атаки с использованием анализа трафика

В HTTPS были обнаружены уязвимости, связанные с анализом трафика. Атака с анализом трафика — это тип атаки, при которой выводятся свойства защищённых данных канала путём измерения размера трафика и времени передачи сообщений в нём. Анализ трафика возможен, поскольку шифрование SSL/TLS изменяет содержимое трафика, но оказывает минимальное влияние на размер и время прохождения трафика. В мае 2010 года исследователи из Microsoft Research и Университета Индианы обнаружили, что подробные конфиденциальные пользовательские данные могут быть получены из второстепенных данных, таких например, как размеры пакетов. Анализатор трафика смог заполучить историю болезней, данные об использовавшихся медикаментах и проведённых операциях пользователя, данные о семейном доходе и пр. Всё это было произведено несмотря на использование HTTPS в нескольких современных веб-приложениях в сфере здравоохранения, налогообложения и других.[17]

Человек посередине. HTTPS

Рис.1 Стандартная конфигурация сети. Пользователь на хосте клиента (CH) хочет осуществить безопасную транзакцию, но уязвим для атаки «человек в середине».

При атаке «человек посередине» используется то, что сервер HTTPS отправляет сертификат с открытым ключом в браузер. Если этот сертификат не заслуживает доверия, то канал передачи будет уязвимым к атаке злоумышленника. Такая атака заменяет оригинальный сертификат, удостоверяющий HTTPS-сервер, модифицированным сертификатом. Атака проходит успешно, если пользователь пренебрегает двойной проверкой сертификата, когда браузер отправляет предупреждение. Это особенно распространено среди пользователей, которые часто сталкиваются с самозаверенными сертификатами при доступе к сайтам внутри сети частных организаций. [18]

На рис. 1 представлена ситуация, когда злоумышленник является шлюзом между клиентом, осуществляющим безопасную транзакцию, и сервером. Таким образом через злоумышленника проходит весь трафик клиента и он может перенаправить его по своему усмотрению. Здесь делаются следующие шаги:

  1. Злоумышленник встраивается между клиентом и сервером
  2. Пересылает все сообщения от клиента серверу без изменений
  3. Перехват сообщений от сервера, посланных по шлюзу по умолчанию
  4. Создание самозаверенного сертификата и подмена им сертификата сервера
  5. Отправление ложного сертификата клиенту
  6. Когда клиент подтвердит сертификат, будут установлены защищённые соединения: между злоумышленником и сервером и другое — между злоумышленником и клиентом.

В итоге такой атаки клиент и сервер думают, что осуществляют безопасное соединение, однако злоумышленник теперь также имеет закрытый ключ и может расшифровать любое сообщение в канале.[18]

См. также

Примечания

  1. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  2. Walls, Colin. Embedded software. — Newnes, 2005. — P. 344. — ISBN 0-7506-7954-9.
  3. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  4. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  5. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  6. Tim Dierks <[email protected]>. The Transport Layer Security (TLS) Protocol Version 1.2 (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  7. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  8. Aboba, Bernard, Simon, Dan. PPP EAP TLS Authentication Protocol (англ.). buildbot.tools.ietf.org. Проверено 25 декабря 2017.
  9. Tim Dierks <[email protected]>. The Transport Layer Security (TLS) Protocol Version 1.2 (англ.). tools.ietf.org. Проверено 25 декабря 2017.
  10. W. M. Shbair, T. Cholez, A. Goichot, I. Chrisment. Efficiently bypassing SNI-based HTTPS filtering // 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM). — May 2015. — С. 990–995. — DOI:10.1109/INM.2015.7140423.
  11. ↑ HTTPS usage statistics on top websites. statoperator.com. Проверено 28 июня 2016.
  12. ↑ Статистика российского интернета runfo.ru (рус.). www.runfo.ru. Проверено 16 февраля 2017.
  13. Solo, David, Housley, Russell, Ford, Warwick. Certificate and CRL Profile (англ.). tools.ietf.org. Проверено 22 декабря 2017.
  14. E. Rescorla. HTTP Over TLS (англ.). tools.ietf.org. Проверено 22 декабря 2017.
  15. Tim Dierks <[email protected]>. The Transport Layer Security (TLS) Protocol Version 1.2 (англ.). tools.ietf.org. Проверено 22 декабря 2017.
  16. ↑ How to Deploy HTTPS Correctly (англ.), Electronic Frontier Foundation (15 November 2010). Проверено 23 декабря 2017.
  17. Shuo Chen, Rui Wang, XiaoFeng Wang, Kehuan Zhang. Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow (англ.) // Microsoft Research. — 2010-05-01.
  18. 1 2 Callegati et al, 2009, с. 78.

Литература

wikipedia.green

Https-порт — протокол безопасной связи :: SYL.ru

Https-порт — это протокол безопасной связи в компьютерной сети, который широко используется в Интернете. Https состоит из связи по протоколу передачи гипертекста (http) в рамках соединения, зашифрованного Security Transport Layer Security (или Secure Sockets Layer). Основным назначением порта https является аутентификация посещаемого веб-сайта и защита конфиденциальности и целостности обменных данных.

Https обеспечивает аутентификацию веб-сайта и связанного с ним веб-сервера, с которым он обменивается данными. Также данный протокол обеспечивает двунаправленное шифрование сообщений между клиентом и сервером, которое защищено от подслушивания и подделки содержимого сообщения. На практике это обеспечивает гарантию того, что пользователь общается с нужным сайтом (не с сайтом-подделкой) и обмен данными между пользователем и ресурсом является конфиденциальным.

Https-порт: историческая справка

Https создала компания Netscape Communications в 1994 году для своего веб-браузера Netscape Navigator. Первоначально https использовался с протоколом SSL. По мере того как SSL превратился в систему безопасности транспортного уровня (TLS), https был официально определен RFC 2818 в мае 2000 года.

Исторически https-соединения в основном использовались для платежных операций в World Wide Web (Всемирной паутине), электронной почте и для конфиденциальных транзакций в корпоративных информационных системах. В конце 2000-х и начале 2010-х гг. https-протокол начал широко использоваться для защиты аутентификации страниц на всех типах веб-сайтов, обеспечения безопасности учетных записей и конфиденциальности пользователей, личных данных и приватного просмотра веб-страниц.

Использование в веб-сайтах

По состоянию на июнь 2017 года 21,7% веб-сайтов, насчитывающих более 1 000 000 пользователей, используют https по умолчанию. 43,1% самых популярных веб-сайтов в сети Интернет насчитывают 141 387 пользователей, которые имеют безопасную реализацию https. Согласно данным отчета Firefox Telemetry 45% загрузок страниц применяют https-протоколирование.

В соответствии с отчётами Mozilla с января 2017 года более половины веб-трафика передается в зашифрованнном виде.

Интеграция браузера

Большинство браузеров отображают предупреждение, если они получают недопустимый сертификат. Старые браузеры при подключении к сайту с недопустимым сертификатом должны предоставить пользователю диалоговое окно с вопросом о том, хотят ли они продолжить переход на ресурс. Новые браузеры отображают предупреждение во всем окне.

Более новые браузеры также видят информацию о безопасности сайта в адресной строке. Расширенные сертификаты проверки отмечают адресную строку зеленым цветом в новых браузерах. Большинство браузеров также отображают предупреждение пользователю при посещении сайта, содержащего смесь зашифрованного и незашифрованного контента.

Безопасность протокола https-порта

Безопасность https — это базовая TLS, которая обычно использует долгосрочные общедоступные и закрытые ключи для генерации краткосрочного ключа сеанса, который затем применяется для шифрования потока данных между клиентом и сервером. Сертификаты X.509 используются для аутентификации сервера (а иногда и клиента). Как следствие, они и сертификаты открытых ключей необходимы для проверки связи между сертификатом и его владельцем, а также для создания, подписания и администрирования действительности сертификатов.

Важным свойством в этом контексте является прямая секретность, которая гарантирует, что зашифрованные сообщения, записанные в прошлом, не могут быть восстановлены и дешифрованы, если в будущем будут скомпрометированы долгосрочные секретные ключи или пароли. Не все веб-серверы обеспечивают прямую секретность — это зависит от того, какой порт https-соединения используется.

Ограничения

Https-порт уязвим для ряда атак с анализом трафика. Данный вид атаки происходит на стороне канала, зависит от изменения времени и размера трафика и дискредитирует свойства зашифрованного контента. Анализ трафика возможен, поскольку шифрование SSL/TLS изменяет содержимое трафика, но оказывает минимальное влияние на его размер и время.

В мае 2010 года исследователи компании Microsoft Research и Университета Индианы обнаружили, что подробные конфиденциальные пользовательские данные могут быть выведены из боковых каналов, таких как размеры пакетов. Эксперты выяснили, что подслушивающее устройство может получать конфиденциальные данные пользователей.

В июне 2014 года группа исследователей из UC Berkeley и Intel во главе с Брэдом Миллером продемонстрировала обобщенный подход к анализу трафика https-порта на основе машинного обучения. Исследователи продемонстрировали, что атака применялась к целому ряду веб-сайтов, включая такой популярный ресурс, как YouTube. Выявлено, что злоумышленник может посещать те же веб-страницы, что и жертва, для сбора сетевого трафика, который служит учебными данными.

Затем злоумышленник идентифицирует сходства в размерах пакетов и порядках между трафиком жертвы и трафиком данных обучения — это позволяет злоумышленнику выводить точную страницу, которую посещает жертва. Также обнаружено, что атака не может использоваться для обнаружения пользовательских значений, встроенных в веб-страницу. Например, многие банки предлагают веб-интерфейсы, которые позволяют пользователям просматривать остатки на счетах. Злоумышленник сможет обнаружить, что пользователь просматривал страницу баланса аккаунта, но не сможет узнать точный баланс пользователя или номер счета.

www.syl.ru

Как открыть порт 443 windows, за минуту

Добрый день уважаемые читатели и гости блога, продолжаем изучать безопасность в операционных системах Microsoft, в прошлый раз мы решили проблему с долгим поиском обновлений Windows 7, установили их и теперь система более защищена от внешнего мира, в сегодняшней же стать я затрону такую тему, как что такое порты и как открыть порт 443 в windows, за минуту. Данный материал будет полезным для системных администраторов, так и для разработчиков.

Что такое порты в Windows

Давайте я попробую по простому объяснить, что такое порт. Представим себе большой микрорайон с большим количеством многоэтажных домов, в каждом из них есть квартиры с жильцами, общим количеством 65 536, каждая квартира имеет свой уникальный, порядковый номер. Теперь представим, что вам необходимо попасть к другу Васе, который живет в 1443 квартире, вы что делаете идете в нужный дом с таким номером квартиры, далее вам нужно заскочить к Марине, которая живет в 80 квартире, а теперь представьте, что вместо вас это ваш компьютер и вместо ваших друзей, это порты. Каждый такой порт уникален и отвечает за ответ пользователю по определенной службе, например,

Из выше описанного, порты бывают двух типов:

  1. Жестко забронированные под определенные службы. Это порты которые используются исключительно определенными программами. Диапазон таких портов от 0-1024, но есть и выше, тот же 1433 у SQL или 55777 Vipnet.
  2. Динамические, используемые для повседневных вещей пользователя. Это диапазон после 1024, и используют их, например, в таком контексте: скачиваете файл, ваш компьютер использует один порт, смотрите online фильм, ваш компьютер использует второй порт и так далее. Как только передача данных заканчивается, порт освобождается.

Порты еще очень часто ассоциируют с сокетами, о которых я уже рассказывал, советую посмотреть.

Что такое порт 443?

Как я и писал выше, чаще всего он используется в двух вещах, первая это конечно подавляющее количество сайтов, работающих по https протоколу на 443 порты, и второй момент это в шифрованных каналах передачи данных. Лет 5 назад, его использовали в основном интернет банки и интернет магазины, где расплачивались электронными картами, сейчас же поисковые системы, стараются и подталкивают, всех вебмастеров, перевести свои ресурсы именно на 443 соединение.

Почему порт может не работать?

Давайте рассмотрим вопрос. по каким причинам может быть закрытым порт 443.

  • По умолчанию, когда вы только установили Windows, в ней по умолчанию все порты на ружу закрыты из политики безопасности и это правильно. Их блокирует встроенная программа брандмауэр Windows или по простому файрвол.
  • Администратор сети у вас мог заблокировать нужный порт, так как у него есть такие механизмы как групповая политика или доступ к прокси серверу.
  • 443 сокет заблокирован на маршрутизаторе

Если 443 порт закрыт, то это означает, что:

  • Если на вашем компьютере есть программа или утилита подключающаяся к 443 порту, не сможет этого сделать
  • Компьютер из вне не сможет получить доступ к сервису, расположенному вас, например, веб сайту.

Как открыть порт 443 на windows 7, 8.1 и 10

Я расскажу как открыть порт 443 на windows 7, но все описанное ниже, будет актуально и делаться один в один и на современных операционных системах Windows 10 и серверных редакциях. Порядок действий:

  • Нажмите Win+R и введите firewall.cpl, это быстрый вызов оснастки брандмауэр, полный список команд смотрите тут.

  • Выбираем в правом верхнем углу, классический вид с крупными значками и щелкаем по значку брандмауэра.

  • Если вам нужно быстро протестировать 443 соединение, то я вам советую полностью отключить брандмауэр, особенно если подпирает время, для этого открываем соответствующий пункт.

Для отключения, выберите соответствующие пункты, по сути теперь будут открыты все порты Windows 7. После тестирования не забываем все включить.

А теперь правильный вариант, перейдите в дополнительные параметры фаэрвола. Вы попадете в повышенный режим безопасности, именно тут можно открыть порт 443 windows.

  • Переходим в «Правила для входящих подключений», если нужно чтобы к вам подключались по 443 соединению, если нужно, чтобы вы могли подключаться, при условии, что он закрыт, то выберите «Правила исходящих подключений». Щелкаем правым кликом и выбираем «Создать правило»

  • Тут нам интересны два пункта, первый это «Для программы», удобен тем, что вы разрешаете конкретной программе все подключения через фаэрвол, из недостатков, то что если у нее есть зависимые программы, то работать может не полностью или вообще не будет, второй вариант для порта, удобен тем, что единожды открыв нужный порт, вам не нужно думать какая для какой программы вам его разрешать. Простой пример вы используете 80 сокет, сначал он работал на Apache, потом вы его заменили на IIS, в брандмауэре ничего не пришлось менять.

  • Если выбрали второй вариант, то указываем протокол TCP или UDP (для большей безопасности)

  • Если выбрали первый пункт с программой, то вам необходимо указать до нее путь, до файла exe.

  • Указываем действие, в данном случае «разрешить», так как на нужно открытие порта 443.

  • Далее указываем на какой сетевой профиль будет оно применяться, доменный это для локальных сетей организаций, частный для домашних сетей, а публичный, для внешнего мира.

  • Все задаем имя для создаваемого правила и нажимаем готово.

Если вы допустили ошибку или, что-то поменялось, то вы всегда можете изменить настройки через свойства.

Как открыть порт 443 на windows 7 через командную строку

Когда вы набьете руку и вам надоест щелкать однотипные окна в брандмауэре Windows или вы захотите, все автоматизировать, то вам в этом поможет, командная строка запущенная с правами администратора. Вам необходимо выполнить такую команду:

netsh advfirewall firewall add rule name=»Открыть 443 порт-2″ protocol=TCP localport=443 action=allow dir=IN

  1. netsh advfirewall firewall add rule — добавление правила
  2. name — имя
  3. protocol — тип протокола
  4. localport — открываемый порт
  5. action — действие
  6. dir — тип соединения (входящий или исходящий)

Проверяем добавление нашего правила.

Как быть если порт закрыт?

Сейчас мы говорим. про ситуации когда 443 соединение блокируется системным администратором или интернет провайдером. В обоих случаях необходимо связываться с вышестоящими инстанциями и рассказывать, что вам необходимо открыть открыть порт 443 windows, своими силами вы уже не обойдетесь. Еще очень частым вопросом, бывает, как проделать все те же действия на сетевых устройствах, однозначного ответа нет, так как у всех это делается по разному, изучайте документацию. По своей практике могу точно сказать, что провайдеры любят лочить 25 SMTP подключения, чтобы спам не рассылали. Уверен, что вы теперь знаете, как все открывать и сможете это использовать на практике.

pyatilistnik.org

Простым языком об HTTP / Habr

Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.

Также HTTP часто используется как протокол передачи информации для других протоколов прикладного уровня, таких как SOAP, XML-RPC и WebDAV. В таком случае говорят, что протокол HTTP используется как «транспорт».

API многих программных продуктов также подразумевает использование HTTP для передачи данных — сами данные при этом могут иметь любой формат, например, XML или JSON.

Как правило, передача данных по протоколу HTTP осуществляется через TCP/IP-соединения. Серверное программное обеспечение при этом обычно использует TCP-порт 80 (и, если порт не указан явно, то обычно клиентское программное обеспечение по умолчанию использует именно 80-й порт для открываемых HTTP-соединений), хотя может использовать и любой другой.

Как отправить HTTP-запрос?

Самый простой способ разобраться с протоколом HTTP — это попробовать обратиться к какому-нибудь веб-ресурсу вручную. Представьте, что вы браузер, и у вас есть пользователь, который очень хочет прочитать статьи Анатолия Ализара.

Предположим, что он ввёл в адресной строке следующее:

http://alizar.habrahabr.ru/

Соответственно вам, как веб-браузеру, теперь необходимо подключиться к веб-серверу по адресу alizar.habrahabr.ru.

Для этого вы можете воспользоваться любой подходящей утилитой командной строки. Например, telnet:

telnet alizar.habrahabr.ru 80

Сразу уточню, что если вы вдруг передумаете, то нажмите Ctrl + «]», и затем ввод — это позволит вам закрыть HTTP-соединение. Помимо telnet можете попробовать nc (или ncat) — по вкусу.

После того, как вы подключитесь к серверу, нужно отправить HTTP-запрос. Это, кстати, очень легко — HTTP-запросы могут состоять всего из двух строчек.

Для того, чтобы сформировать HTTP-запрос, необходимо составить стартовую строку, а также задать по крайней мере один заголовок — это заголовок Host, который является обязательным, и должен присутствовать в каждом запросе. Дело в том, что преобразование доменного имени в IP-адрес осуществляется на стороне клиента, и, соответственно, когда вы открываете TCP-соединение, то удалённый сервер не обладает никакой информацией о том, какой именно адрес использовался для соединения: это мог быть, например, адрес alizar.habrahabr.ru, habrahabr.ru или m.habrahabr.ru — и во всех этих случаях ответ может отличаться. Однако фактически сетевое соединение во всех случаях открывается с узлом 212.24.43.44, и даже если первоначально при открытии соединения был задан не этот IP-адрес, а какое-либо доменное имя, то сервер об этом никак не информируется — и именно поэтому этот адрес необходимо передать в заголовке Host.

Стартовая (начальная) строка запроса для HTTP 1.1 составляется по следующей схеме:

Метод URI HTTP/Версия

Например (такая стартовая строка может указывать на то, что запрашивается главная страница сайта):

GET / HTTP/1.1

Метод (в англоязычной тематической литературе используется слово method, а также иногда слово verb — «глагол») представляет собой последовательность из любых символов, кроме управляющих и разделителей, и определяет операцию, которую нужно осуществить с указанным ресурсом. Спецификация HTTP 1.1 не ограничивает количество разных методов, которые могут быть использованы, однако в целях соответствия общим стандартам и сохранения совместимости с максимально широким спектром программного обеспечения как правило используются лишь некоторые, наиболее стандартные методы, смысл которых однозначно раскрыт в спецификации протокола.

URI (Uniform Resource Identifier, унифицированный идентификатор ресурса) — путь до конкретного ресурса (например, документа), над которым необходимо осуществить операцию (например, в случае использования метода GET подразумевается получение ресурса). Некоторые запросы могут не относиться к какому-либо ресурсу, в этом случае вместо URI в стартовую строку может быть добавлена звёздочка (астериск, символ «*»). Например, это может быть запрос, который относится к самому веб-серверу, а не какому-либо конкретному ресурсу. В этом случае стартовая строка может выглядеть так:

OPTIONS * HTTP/1.1

Версия определяет, в соответствии с какой версией стандарта HTTP составлен запрос. Указывается как два числа, разделённых точкой (например 1.1).

Для того, чтобы обратиться к веб-странице по определённому адресу (в данном случае путь к ресурсу — это «/»), нам следует отправить следующий запрос:

GET / HTTP/1.1
Host: alizar.habrahabr.ru

При этом учитывайте, что для переноса строки следует использовать символ возврата каретки (Carriage Return), за которым следует символ перевода строки (Line Feed). После объявления последнего заголовка последовательность символов для переноса строки добавляется дважды.

Впрочем, в спецификации HTTP рекомендуется программировать HTTP-сервер таким образом, чтобы при обработке запросов в качестве межстрочного разделителя воспринимался символ LF, а предшествующий символ CR, при наличии такового, игнорировался. Соответственно, на практике бо́льшая часть серверов корректно обработает и такой запрос, где заголовки отделены символом LF, и он же дважды добавлен после объявления последнего заголовка.

Если вы хотите отправить запрос в точном соответствии со спецификацией, можете воспользоваться управляющими последовательностями \r и \n:

echo -en "GET / HTTP/1.1\r\nHost: alizar.habrahabr.ru\r\n\r\n" | ncat alizar.habrahabr.ru 80

Как прочитать ответ?

Стартовая строка ответа имеет следующую структуру:

HTTP/Версия Код состояния Пояснение

Версия протокола здесь задаётся так же, как в запросе.

Код состояния (Status Code) — три цифры (первая из которых указывает на класс состояния), которые определяют результат совершения запроса. Например, в случае, если был использован метод GET, и сервер предоставляет ресурс с указанным идентификатором, то такое состояние задаётся с помощью кода 200. Если сервер сообщает о том, что такого ресурса не существует — 404. Если сервер сообщает о том, что не может предоставить доступ к данному ресурсу по причине отсутствия необходимых привилегий у клиента, то используется код 403. Спецификация HTTP 1.1 определяет 40 различных кодов HTTP, а также допускается расширение протокола и использование дополнительных кодов состояний.

Пояснение к коду состояния (Reason Phrase) — текстовое (но не включающее символы CR и LF) пояснение к коду ответа, предназначено для упрощения чтения ответа человеком. Пояснение может не учитываться клиентским программным обеспечением, а также может отличаться от стандартного в некоторых реализациях серверного ПО.

После стартовой строки следуют заголовки, а также тело ответа. Например:

HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Sat, 08 Mar 2014 22:53:46 GMT
Content-Type: application/octet-stream
Content-Length: 7
Last-Modified: Sat, 08 Mar 2014 22:53:30 GMT
Connection: keep-alive
Accept-Ranges: bytes

Wisdom

Тело ответа следует через два переноса строки после последнего заголовка. Для определения окончания тела ответа используется значение заголовка Content-Length (в данном случае ответ содержит 7 восьмеричных байтов: слово «Wisdom» и символ переноса строки).

Но вот по тому запросу, который мы составили ранее, веб-сервер вернёт ответ не с кодом 200, а с кодом 302. Таким образом он сообщает клиенту о том, что обращаться к данному ресурсу на данный момент нужно по другому адресу.

Смотрите сами:

HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Sat, 08 Mar 2014 22:29:53 GMT
Content-Type: text/html
Content-Length: 154
Connection: keep-alive
Keep-Alive: timeout=25
Location: http://habrahabr.ru/users/alizar/

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h2>302 Found</h2></center>
<hr><center>nginx</center>
</body>
</html>

В заголовке Location передан новый адрес. Теперь URI (идентификатор ресурса) изменился на /users/alizar/, а обращаться нужно на этот раз к серверу по адресу habrahabr.ru (впрочем, в данном случае это тот же самый сервер), и его же указывать в заголовке Host.

То есть:

GET /users/alizar/ HTTP/1.1
Host: habrahabr.ru

В ответ на этот запрос веб-сервер Хабрахабра уже выдаст ответ с кодом 200 и достаточно большой документ в формате HTML.

Если вы уже успели вжиться в роль, то можете теперь прочитать полученный от сервера HTML-код, взять карандаш и блокнот, и нарисовать профайл Ализара — в принципе, именно этим бы на вашем месте браузер сейчас и занялся.

А что с безопасностью?

Сам по себе протокол HTTP не предполагает использование шифрования для передачи информации. Тем не менее, для HTTP есть распространённое расширение, которое реализует упаковку передаваемых данных в криптографический протокол SSL или TLS.

Название этого расширения — HTTPS (HyperText Transfer Protocol Secure). Для HTTPS-соединений обычно используется TCP-порт 443. HTTPS широко используется для защиты информации от перехвата, а также, как правило, обеспечивает защиту от атак вида man-in-the-middle — в том случае, если сертификат проверяется на клиенте, и при этом приватный ключ сертификата не был скомпрометирован, пользователь не подтверждал использование неподписанного сертификата, и на компьютере пользователя не были внедрены сертификаты центра сертификации злоумышленника.

На данный момент HTTPS поддерживается всеми популярными веб-браузерами.

А есть дополнительные возможности?

Протокол HTTP предполагает достаточно большое количество возможностей для расширения. В частности, спецификация HTTP 1.1 предполагает возможность использования заголовка Upgrade для переключения на обмен данными по другому протоколу. Запрос с таким заголовком отправляется клиентом. Если серверу требуется произвести переход на обмен данными по другому протоколу, то он может вернуть клиенту ответ со статусом «426 Upgrade Required», и в этом случае клиент может отправить новый запрос, уже с заголовком Upgrade.

Такая возможность используется, в частности, для организации обмена данными по протоколу WebSocket (протокол, описанный в спецификации RFC 6455, позволяющий обеим сторонам передавать данные в нужный момент, без отправки дополнительных HTTP-запросов): стандартное «рукопожатие» (handshake) сводится к отправке HTTP-запроса с заголовком Upgrade, имеющим значение «websocket», на который сервер возвращает ответ с состоянием «101 Switching Protocols», и далее любая сторона может начать передавать данные уже по протоколу WebSocket.

Что-то ещё, кстати, используют?

На данный момент существуют и другие протоколы, предназначенные для передачи веб-содержимого. В частности, протокол SPDY (произносится как английское слово speedy, не является аббревиатурой) является модификацией протокола HTTP, цель которой — уменьшить задержки при загрузке веб-страниц, а также обеспечить дополнительную безопасность.

Увеличение скорости обеспечивается посредством сжатия, приоритизации и мультиплексирования дополнительных ресурсов, необходимых для веб-страницы, чтобы все данные можно было передать в рамках одного соединения.

Опубликованный в ноябре 2012 года черновик спецификации протокола HTTP 2.0 (следующая версия протокола HTTP после версии 1.1, окончательная спецификация для которой была опубликована в 1999) базируется на спецификации протокола SPDY.

Многие архитектурные решения, используемые в протоколе SPDY, а также в других предложенных реализациях, которые рабочая группа httpbis рассматривала в ходе подготовки черновика спецификации HTTP 2.0, уже ранее были получены в ходе разработки протокола HTTP-NG, однако работы над протоколом HTTP-NG были прекращены в 1998.

На данный момент поддержка протокола SPDY есть в браузерах Firefox, Chromium/Chrome, Opera, Internet Exporer и Amazon Silk.

И что, всё?

В общем-то, да. Можно было бы описать конкретные методы и заголовки, но фактически эти знания нужны скорее в том случае, если вы пишете что-то конкретное (например, веб-сервер или какое-то клиентское программное обеспечение, которое связывается с серверами через HTTP), и для базового понимания принципа работы протокола не требуются. К тому же, всё это вы можете очень легко найти через Google — эта информация есть и в спецификациях, и в Википедии, и много где ещё.

Впрочем, если вы знаете английский и хотите углубиться в изучение не только самого HTTP, но и используемых для передачи пакетов TCP/IP, то рекомендую прочитать вот эту статью.

Ну и, конечно, не забывайте, что любая технология становится намного проще и понятнее тогда, когда вы фактически начинаете ей пользоваться.

Удачи и плодотворного обучения!

habr.com

Что такое HTTPS порт, а также каковы способы его открытия

Каждый пeрсональный компьютер имeeт опрeдeлeнноe имя, по которому eго можно идeнтифицировать, узнать eго расположeниe, а такжe другую информацию о нeм. Имя жe этому идeнтификационному номeру – IP-адрeс. Имeнно чeрeз нeго можно подключить свой компьютер к какому-то сeрвeру. Порт жe являeтся охранником, который можeт допустить соeдинeниe или жe отклонить eго, eсли опрeдeлeнный адрeс нe указан заранee как довeрeнный.

Что такоe порт?

Порты используются для подключeния различного программного обeспeчeния. Каждая программа используeт свой порт, потому что двe программы нe могут использовать один и тот жe. В итогe такоe подключeниe привeдeт к ошибкам соeдинeния. На номeр порта выдeлаeтся 16 бит, то eсть максимальноe количeство портов в таком случаe равно 65 536.

Имeeтся только 2 варианта порта: UPD и TCP. Различаются они только в том, что на UDP нагрузка на сeрвeр, гдe используeтся данная тeхнология, в нeсколько раз мeньшe. Всe из-за того, что данный мeтод нe провeряeт процeсс доставки пакeтов получатeлю, он просто их отправляeт. Слeдоватeльно, трeбуeтся мeньшe вычислитeльной мощности сeрвeра, в отличиe от TCP, гдe всe подлeжит строгому контролю. Порт HTTPS принадлeжит имeнно к TCP. Поэтому он настолько надeжный и популярный.

Как открыть порт HTTPS на своeм компьютерe

Нeсмотря на то что порт являeтся открытым, бывают случаи, когда он пeрeкрыт программами. Примeром такой программы можeт быть антивирус, установлeнный на компьютерe. Если у вас «Виндовс 7» или болee новая вeрсия, то имeeтся ужe встроeнный антивирус Windows Defender. Он являeтся очeнь эффeктивным срeдством против множeства чeрвeй, троянов и тому подобных вирусов, но eсть один минус. В процeссe eго работы могут быть отключeны нeкоторыe, eсли нe всe, порты. Дeлаeтся это всe для вашeй жe бeзопасности. Если жe нeобходимо подключить какую-то программу, использующую HTTPS порт, то придeтся отключить eго. Дeлаeтся это слeдующим образом:

  • Зайдитe в «Панeль управлeния».
  • Войдитe в пeрвый пункт «Систeма и бeзопасность».
  • Нажмитe надпись «Брандмауэр Виндовс».
  • Если у вас встроeнный антивирус включeн, то будут 2 щита зeлeного цвeта. Рядом будeт нeсколько пунктов, срeди которых «Измeнeниe парамeтров увeдомлeний», зайдитe туда.
  • Отключитe оба пункта, послe чeго антивирус будeт дeактивирован, и многиe порты откроются.
  • Провeрьтe нужную опцию на сайтe, которая можeт провeрять порты. Но HTTPS — какой порт? По стандартам он являeтся 443 портом. В Интернетe eсть множeство таких рeсурсов, стоит лишь написать «Сайт для провeрки порта». Если жe рeсурсы нe открылись, то eсть вeроятность того, что ваш роутер или сам Интернет-провайдeр блокируeт данный путь. Такоe случаeтся нeчасто, данных провайдeров называют «сeрыми». Для выхода из подобной ситуации рeкомeндуют использовать VPN-соeдинeниe.

    Как открыть порты с помощью VPN

    Данный способ имeeт максимальную эффeктивность, ввиду того что сeрвeра, чeрeз которыe происходит Интернет-соeдинeниe, созданы с такой задумкой, чтобы каждый мог открыть нужный порт бeз особых усилий. Для установлeния VPN нужно сдeлать слeдующиe опeрации:

  • В поисковикe написать «VPN скачать». Найдeтся опрeдeлённоe количeство сайтов, которыe могут прeдоставить VPN на платной или бeсплатной основe.
  • Зарeгистрируйтeсь и скачайтe программу с выбранного сайта.
  • Выбeритe сeрвeр, который ближe всeго находится к вам, послe чeго зайдитe в панeль управлeния VPN в самой программe или на официальном сайтe.
  • Найдитe пункт, который прeдоставляeт функцию открытия портов, ввeдитe интeрeсующий вас порт, HTTPS протокола напримeр, послe чeго он будeт открыт.
  • Хотя Интернет-соeдинeниe послe такого и станeт нeмного мeдлeннee, но порты будут открыты, а такжe появится возможность заходить на сайты, которыe запрeщeны в прeдeлах вашeй страны.

    Заключeниe

    Открытиe HTTPS порта являeтся достаточно простым заданиeм, eсли, конeчно, знать принцип eго включeния и отключeния. Надeeмся, что данная статья помогла вам в рeшeнии проблeмы. Но такжe стоит помнить, что чeрeз порты злоумышлeнники могут завладeть вашим компьютером, поэтому нe стоит открывать всeвозможныe адрeса, только тe, которыe точно будут использоваться.

    xroom.su

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *