Pull to refresh

GitHub Pages переезжают на github.io

Reading time 2 min
Views 27K
Начиная с сегодняшнего дня все сайты GitHub Pages переходят на новый домен: github.io. Это мера безопасности нацеленна на предотвращение CSRF атак на главный сервер — github.com. Если ваш сайт настроен, как «yoursite.com» вместо «yoursite.github.com» — изменения вас никак не затронут.
Если ваш сайт раньше располагался на домене «username.github.com», последующие запросы будут редиректиться на новый домен: «username.github.io».
C этого момента все сайты, размещенные на субдоменах github.com могут и должны расцениваться как официальные продукты GitHub.

Технические детали


Изменения в сайтах и пользовательских доменах:

  • Все пользователи, организации, и сайты проектов настроенные на работу с github.io, вместо github.com.
  • Все сайты *.github.com редиректятся c кодом 301 на *.github.io.
  • Сайты, с пользовательскими доменами изменения не затронули.
  • IP адреса не изменились, существующие A-записи указывают на старые IP.


Изменения в GitHub репозиториях:


  • Пользовательские сайты можно называть используя новое, или старое соглашение: username/username.github.[io/com].
  • Существующие репозитории сайтов, названные по старому соглашению так и будут продолжать свою работу.
  • Если существует два репозитория, названные по старому и новому соглашению — *.github.io победит.

Уязвимости безопасности.


Существует две основные категории потенциальных уязвимостей, которые привели к этим переменам.
  • Изменение сессий и CSRF. Так как пользовательские сайты могут подключать JavaScript, который хранится на субдоменах github.com, становится возможным записывать(но не считывать) куки с домена github.com, что позволяет злоумышленнику получить доступ к github.com и осуществить атаку
  • Фишинговые атаки, при которых злоумышленник создает похожий сайт и запрашивает у пользователя конфиденциальную информацию.

У нас нет доказательств, что такие атаки были, однако мы постарались их заранее не допустить.
Источник: github.com/blog/1452-new-github-pages-domain-github-io

UPD: В комментариях s01o указал на пост Егора Хомакова, там рассказывается как всетаки можно провести атаку. Как оказалось — возможно это в WebKit браузерах, так как они особым образом работают с куками.
Так это устроенно в нормальных браузерах:
Cookie:_gh_sess=ORIGINAL; _gh_sess=HACKED;
Надо понимать, что _gh_sess — это две разные куки, не смотря на название и отсылаются они в одно и то же время.
В WebKit дело же обстоит по другому, куки отсылаются не по домену (первой записью должно быть Domain=github.com) ровно тоже самое и с httpOnly(очевидно, что они также должны быть в начале).
В действительности они упорядочиваются по времени создания (В этом месте я должен быть не прав, но это то, как есть на самом деле)
Tags:
Hubs:
+27
Comments 12
Comments Comments 12

Articles