Pull to refresh

Безопасность сайта по его заголовкам, или что делать, если хочется залезть во внутренности каждого сайта

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

image

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

Первое, на что я наткнулся — было отличное приложение от разработчиков Mozilla, которое анализирует Headers и много чего другого и выставляет оценку безопасности сайту. Очень хорошая вещь, и мне самому очень помогла, но пользоваться ей не всегда удобно.

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

Код можно посмотреть на GitHub, хотелось бы выразить благодарность noomorph за советы в непрофильном для меня JavaScript. Само расширение доступно по ссылке: HeaderView

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

image

Оценка безопасности сайта F+, из расчета что А — наивысшая оценка, и F — наинизшая. Хабр имеет хедеры безопасности, но вместе с тем, он показывает на каком языке он работает, и версия этого языка малость устарела (на момент публикации статьи актуальная версия PHP 5.6.29 согласно официальной документации. Расширение автоматически формирует ссылку по которой вы можете увидеть уязвимости данной версии.

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

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

Что интересно, при переходе с Geektimes на хабр, редирект проходит через другой сервер, у которого версия PHP чуть поновее:

image

Хотя и недостаточно.

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

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

Буду рад подсказкам и идеям что добавить, а так же чем расширить распознаваемые технологии!
Tags:
Hubs:
Total votes 33: ↑29 and ↓4+25
Comments31

Articles