UPD: Первая же ветка комментариев показала, что даже на Хабре пока не все серьезно относятся к вопросу; добавил в хаб ИБ — ещё одно напоминание не будет лишним.
Комментарии (54)
Garrett
23.01.2016 03:43+1Сертификат валиден с 4 Июля 2014 до 4 Октября 2016
dirtyHabrBobr
23.01.2016 09:55+6Наличие сертификата != настроенный сервер;
не знаю, что мешало раньше, но запустили буквально на днях — раньше был редирект на httpspmbt
23.01.2016 11:38Да, как раз на днях из-за этого понадобилось поправить юзерскрипт, который читает страницы по Ajax (чтобы протоколы совпадали), а до этого всё было и так нормально. (Т.е они были или оба http, или оба https, строго говоря.)
Pashkevich
23.01.2016 19:32+1Это случилось 21.01.16.
Я в этом уверен.
Мне тоже пришлось поправлять свой проект из такого перехода.
VaMpir
23.01.2016 04:17+3А изображения с habrastorage грузятся по http.
valera5505
23.01.2016 08:01Habrastorage загружается по https, ссылки отдает в https и работают они тоже в https :)
Sl1mShady
23.01.2016 08:27Я вот такой момент поймал, до этого и не замечал, что habrastorage работает по https =)
VaMpir
23.01.2016 14:30Да, точно. Как выяснилось, это у меня тема в Stylish добавляла несколько картинок по http, вот в консоли сообщение об ошибке и появилось.
norlin
23.01.2016 10:29+4Осталось теперь сделать редирект с http на https.
valera5505
23.01.2016 14:31+2Сейчас почти редирект — все ссылки на http версии ведут на https страницы. Обратного же пути нет.
vlivyur
25.01.2016 15:05Почти
Вернуться на главную иногда приводит к загрузке всего, кроме текстов постов (ага, меню Интересные-Лучшие есть, а дальше пусто).
Maccimo
23.01.2016 16:19-18Очень раздражает, когда нужно попасть на сайт по http, а разработчик возомнил себя д'Артаньяном и перекидывает на https.
sledopit
23.01.2016 17:36+11Но зачем?
tyomitch
23.01.2016 21:26+10Может, он из командной строки телнетом сайты читает.
k0ldbl00d
24.01.2016 00:48+6Пусть поменяет телнет на curl
kingpin
24.01.2016 03:11+3Ну, полноте, отговаривать сударя
от тёплого лампового телнета! Можно ведь просто добавить stunnel!begin_end
24.01.2016 18:52-3Вообще, у той же википедии бывало что нехватает возможности смотреть через http, но… это если сайт справочный, то может быть необходимость самых экзотичных видов доступа к нему (тот же телнет, браузеры в msdos и т.д. :)), а у хабра так сойдет.
dirtyHabrBobr
23.01.2016 16:35+3Правильнее — HSTS;
текущие настройки разрешают только TLS, а клиенты, которые его пока не умеют, ещё существуют.
Пара топиков по делу (комментарии там не менее полезны)kingpin
24.01.2016 00:38+3Согласно RFC 6797 UA ДОЛЖЕН принимать политику, описанную
в полях заголовка HTTPStrict-Transport-Security
, только при условии, что она передаётсяпо защищённому соединению, установленномубез ошибок ,и в ней отсутствуют грамматические ошибки.
В противном случае если ответ получен через незащищённое соединение илив полях заголовкаStrict-Transport-Security
содержатся ошибки,то UA ДОЛЖЕН отклонить эти поля.
tools.ietf.org/html/rfc6797#section-8.1
Т. е. перенаправлениена HTTPS должно быть осуществлено хоть один раз, чтобы UA приняли запомнил политику для хостав своём кэше. Руководствуясь RFC, этого перенаправленияне избежать .
Либо нужно изначально публиковать адрес хостасо схемой https
.
Но и в этом случае перенаправление всё равно нужно, поскольку UA может подключитьсяк хосту по незащищённому соединению — потому чтов его кэше нет соответствующей политикии в адресе указана схемаhttp
—и отклонить поля заголовка STS, как уже сказано выше.kingpin
24.01.2016 01:08Добавлю, почему UA ДОЛЖЕН отклонять поля заголовка STS
в ответе , полученном через незащищённое соединение (со схемой http
).
tools.ietf.org/html/rfc6797#section-14.3dirtyHabrBobr
24.01.2016 03:26Всё правильно про шифрование.
Разговор выше о том, что есть поводы не принуждать клиента к шифрованию редиректами.
iamAnton
23.01.2016 10:30+13Go daddy? хм…
yadem
23.01.2016 12:00+5Даешь Let's Encrypt!
jinxal
23.01.2016 14:56+5Рано еще Let's Encrypt давать для коммерческих сайтов. Из беты не вышли, wildcart не выпускают, срок обновления еще не устаканили (цель — перевыпуск каждый месяц, сейчас раз в три месяца), плагин для nginx еще в альфе.
symbix
23.01.2016 15:26+1Плагины — это для самых маленьких :-) по-хорошему, это надо интегрировать в используемую систему управления конфигурацией (puppet, ansible etc). Wildcard важен только для случаев, когда число субдоменов бесконечно (скажем, субдомены вида username.domain.tld), на системы с отсутствием поддержки SNI уже можно забивать.
vovansystems
23.01.2016 21:54а есть уже хорошие плейбуки ансибл для этого?
symbix
23.01.2016 22:35+1Прям чтобы хороших готовых на все случаи жизни — это вряд ли, а за основу взять — https://github.com/thefinn93/ansible-letsencrypt вполне сойдет, вроде. Для паппета мы тут pgassmann/letsencrypt за основу брали.
kingpin
24.01.2016 01:39Есть хороший HTTP/2 веб-сервер Caddy
с поддержкой HTTPS, SNI.
Причём он включаетна вашем сервере HTTPS автоматически (при соблюдении небольшого ряда требований).
caddyserver.com/docs/automatic-https
kingpin
24.01.2016 01:01+1Кто не в теме про GoDaddy, один пример. Известный всем по инструменту nmap хакер подробно объяснял свои претензии
к этой компании несколько лет тому назад.
TL;DR GoDaddy вырубают домены безо всяких объясненийи предупреждений .
seclists.org/nmap-announce/2007/0
kafeman
23.01.2016 14:57+2Да вроде бы уже давно. Только раньше вся графика ломалась. Из-за этого пришлось добавлять исключения в HTTPS Everywhere.
achekalin
23.01.2016 20:03Так https работает уже некоторое время, как правильно заметили http://habrahabr.ru/post/275539/#comment_8746141 в обсуждении от 20.01.16, вот только тогда принудительный редирект на https не работал еще.
Официально, как я смотрю, так и не оповестили до сих пор, а редирект (без передачи заголовков HSTS) включили, если я правильно понял, в субботу. Не знаю как кому, а я в этом вижу только то, что задача не облажаться перед рекламодателями перевесила приверженность принципу «никаких изменений с пятницы и до утра вторника» :)khim
24.01.2016 17:51То, что они не передают заголовки HSTS — это как раз нормально. Единожды выдав заголовок HSTS его уже не «забрать» назад. Соответственно если они только-только начали перенаправлять людей на HTTPS, то этого делать не стоит. Мало ли что: ошибка какая-нибудь обнаружится, сервера нагрузку не выдержат и т.д. и т.п.
Вот поработает Хабр под нагрузкой неделю-другую в HTTPS режиме — можно будет уже и HSTS включить…
Что касается времени включения… это нужно делать тогда, когда посетителей на сайте минимум… у меня доступа к статистике Хабра нет — может это и есть суббота?kingpin
24.01.2016 19:40+1Единожды выдав заголовок HSTS его уже не «забрать» назад.
О ла ла! Директива-таmax-age
вам чемне угодила ?
Хост может отправлять заведомо малую величинуна период настройки. Например, две минуты.А потом не посылать заголовок HSTS, если пока решеноне заставлять UA устанавливатьс хостом защищённое соединение.И UA, который успел запомнить хост как HSTS-хост через пару минутоб этом благополучно забудет.
Strict-Transport-Security: max-age=240
Либо в любое время изменить действующую политику, присвоив иное значение этой дерективе. Например, пусть теперь UA целый год будет считать хост HSTS-хостом, раз всё настроили правильно.
Strict-Transport-Security: max-age=31536000
Или же хост может принудить UA забыть, чтоон является известным HSTS-хостом,и с тех пор UAне будет сам пытаться устанавливатьс хостом защищённое соединение.
Strict-Transport-Security: max-age=0
Т. е. хост вполне может манипулировать политикой, находящейсяв кэше UA . Так того требует RFC.
tools.ietf.org/html/rfc6797#section-6.1.1khim
24.01.2016 20:33Т. е. хост вполне может манипулировать политикой, находящейся в кэше UA. Так того требует RFC.
Именно. Но «забрать HTST заголовок назад» нельзя! А именно это и требуется «в случае чего».
Я-то надеялся, что вы, зная такие умные слова как max-age, HSTS и прочие можете ещё и думать… но похоже этому вас не учили.
Итак, картина маслом: вы включили перенаправление на HTTPS, добавили HSTS и… ваши сервера не выдержали нагрузки. То ли вы что-то не так настроили, то ли «энтропия кончилась», неважно.
Ваши HTTPS-сервера лежат. Ваши дельнейшие действия? Притом, что у вас HTTP-сервера живы (они уже годы как под нагрузкой и её отлично держат). Как вы будете «отзывать» HSTS? Подсказка: вся суть HSTS в том, чтобы какое-нибудь MosMetro не могло через HTTP вас направить на другой сайт!
Единственный вариант — изначально выдавать что-нибудь типаmax-age=240
, но… с практической точки зрения разницы почти нет (ну действительно — что это за защита от MiTMа на две минуты?), а с точки зрения конфигов — это лишняя стадия и лишняя возня с настройками. Смысл всего этого?
Появится у руководства Хабра уверенность в том, что HTTPS — это «всерьёз и надолго», можно будет и HTST включить.kingpin
24.01.2016 22:19+3Единственный вариант — изначально выдавать что-нибудь типа max-age=240, но… с практической точки зрения разницы почти нет (ну действительно — что это за защита от MiTMа на две минуты?
Это не «защита на две минуты»,я такого смыслане вкладывал . Это возможность дать UA запомнить хост как HSTS-хости потребовать , чтобы как только UAэто сделал ,он в течение заданного директивойmax-age
времени устанавливалс хостом защищённые соединения — только так можно гарантировать, что все UA используют защищённое соединение,и посмотреть реальные цифрыпо нагрузке . Если что-то пойдётне так ,то через пару минут политика устареет,и UA снова сможет устанавливать незащищённое соединениес хостом .
а с точки зрения конфигов — это лишняя стадия и лишняя возня с настройками. Смысл всего этого?
Одна строчка в файле конфигурации веб-сервера — уже возня? Примердля nginx .
add_header Strict-Transport-Security "max-age=120;";
Даже перезапуска веб-серверане требуется , чтобы измененияв конфигурационных файлах вступилив силу .
sudo service nginx reload
Подсказка: вся суть HSTS в том, чтобы какое-нибудь MosMetro не могло через HTTP вас направить на другой сайт!
Не совсем так. STS позволяет защититьот целых трёх классов разных угроз: пассивные виды сетевой атаки, активные виды сетевой атаки, неидеальность веб-разработчиков.
Перенаправлениена другой сайт относитсяк классу активных, поскольку исходный ответот хоста изменяется третьей стороной.
Примеры пассивной угрозы — это прослушка трафика, кража идентификаторов сеансов, кук, session hijacking.
И так далее. Подробностив RFC .
tools.ietf.org/html/rfc6797#section-2.3
P. S. Не хамите.
k0ldbl00d
24.01.2016 00:57+7Когда-то мне было всё равно как работает сайт (любой, не только habr) — с https или без. Но с некоторых пор «зеленый замочек» стал неотъемлемым символом безопасности. Я, как минимум, не хочу чтобы кто-то кроме меня и владельца веб-сервера знал к каким url я обращался, что передавал и что принимал. И дело тут не в законности моих действий, а в ощущении приватности. Ну и как выше заметили на счет рекламы, но встраиваемая реклама — еще не самая страшная беда. Мне доводилось пользоваться в одном баре открытым wi-fi, настроенным таким образом, что при открытии любой страницы в браузере почти сразу начиналась загрузка apk-приложения. Так что HTTPS я вижу столько не как средство собственной защиты, сколько знак заботы о моей приватности со стороны владельцев ресурса. Ура, Habrahabr!
s5656
24.01.2016 20:17Загружая хабр, вы загружаете яндекс.метрику и гугл аналитикс… все и так знают к каким URL'ам вы обращаетесь…
stp008
А зачем это на хабре? Лишний оверхэд же
iTs
не пользы ради, а seo для
zapimir
Ну будет повод написать новость, о том, что на Хабре включили HTTP/2 :)
VEG
Чтобы всякие умники не вмешивались в трафик (например, когда wi-fi в метро вставляет свою рекламу на страницы). Было бы неплохо, если бы все со временем мигрировали на HTTPS.
xenon
Так ли уж важно это? Когда речь о безопасности, например, когда заходишь на Я.Д или просто на счет банка — тогда можно не ходить из метро, раз там небезопасный интернет. А когда речь о «просто почитать шутки на баше» — лучше читать их бесплатно в метро с рекламой, чем никак вообще (потому что за счет рекламы-то этот доступ и существует).
EgorKubasov
Рекламы и так достаточно при подключении, целых три единицы, а вот вмешиваться в сторонние сайты у mosmetro, по-моему нет права
xenon
Я в Москве в метро не был очень давно. Там при подключении — кидается какая-нибудь портянка юридического текста с которым надо согласиться? (ну или строчка вроде — начиная пользоваться интернетом — вы соглашаетесь с нашими правилами, которые можете прочитать по ссылке).
И есть ли там альтернатива в виде обычного (GPRS, 3G итд) интернета?
Envek
Обычный мобильный интернет в метро в центре (чуть за кольцевую линию) ловит почти везде, поэтому лично я в этот распиаренный Wi-Fi — ни единым коннектом.
xenon
Тогда я даже монополии в этой ситуации не вижу. Метро дает дополнительную альтернативу на тех условиях, которые по их мнению им выгодны (на невыгодных они не стали бы давать). В этой ситуации мне кажется немного странным диктовать им, как они должны предоставлять услугу. (Главное, что они ее предоставляют честно — все минусы известны). Так же, как мы не настаиваем, чтобы в какую-то колбасу клали больше мяса. Всегда есть вариант «не нравится — не ешь». Бесплатный интернет — ведь не обязательство метрополитена.
grossws
На некоторых ветках ситуация, как минимум, у мегафона ухудшилась, когда появился этот wifi.
EgorKubasov
Оказывается зайти на страницу с условиями пользования интернетом достаточно невозможно, не находясь при этом в метро, поэтому прочитаю на днях условия, перекину их сюда.
Lockal
Процитирую свой старый коммент: