Сегодня хочу представить вам своего коллегу, который прекрасно знает, как найти уязвимость на сайте и надежно ее залатать. Моя сфера – оптимизация сайтов, Александр Чернуха же специализируется на лечении веб-ресурсов от заражения вирусами и установке защиты на них от разного рода действий хакеров (ссылка для нуждающихся в услугах: https://protectyoursite.ru/установка-защиты-на-сайт.
Попросила Александра написать статью для моего блога на тему обеспечения безопасности сайтов, чтобы акцентировать внимание владельцев на том, как важно содержать представительства в Интернете в полном здравии и постараться не оставить злоумышленникам ни единой лазейки. Путь реабилитации в поисковых системах сайта очень длительный, и эффект от оптимизации, даже если предприняты все возможные меры, может наступить нескоро.
Найти уязвимость на сайте – проще не бывает
Автор Александр Чернуха
С развитием информационных технологий иметь сайт стало залогом успеха любого бизнеса, хобби или просто развлечения. Но, в то же время, у владельцев не всегда хватает знаний, финансов, желания или всего вместе для поддержания проекта в актуальном состоянии.
Именно заброшенные сайты могут иметь давно известные и прикрытые уязвимости, при этом сайт давно занял свое место в поисковой выдаче и его несложно будет обнаружить. А значит, и найти уязвимость на сайте будет проще простого. Как пример, у хакеров есть готовые фразы для поисковиков – дорки (dork), которые выдают список сайтов, где находится эта уязвимость.
Конечно, не последнюю роль в этом случае играет и правильная настройка файла robots.txt для закрытия от индексации системных путей. Однако сейчас речь пойдет о другом.
В своей статье я рассказывал, чем могут быть опасны последствия от вирусов. Но со временем приоритеты поменялись, и взломы стали происходить умнее и хитрее.
Чем опасны шеллы
Специальные боты находят дыру на сайте и закидывают в неприметное место вирусный файл удаленного исполнения – шелл (shell). После этого о сайте на время забывается – в среднем, на месяц: этого срока хватает, чтобы логи взлома удалились и резервные копии переписались на файлы с вирусом. После такого “испытательного срока” вирус активизируется и начинает незаметно делать свою работу.
Пересмотрели свою работу и поисковые системы. Если раньше на сайте был вредоносный код, то можно было его сразу убрать и отправить запрос в вебмастере на исправление ситуации, и через день-два сайт снова в строю.
В последнее время стало популярно на сайте располагать дорвеи – создание на домене тысяч новых страниц для черной SEO-оптимизации. Такой вирус СЕО очень быстро проиндексируется не только известными и популярными поисковиками СНГ, но зачастую и китайскими или другого рода зарубежными агрегаторами.
Впоследствии Гугл и Яндекс сделают к вашему сайту пометку “Возможно, этот сайт был взломан” и понизят или выкинут из выдачи. В этом случае вывод сайта из черного списка может затянуться на несколько недель и даже месяцев.
Я не говорю уже о негативных последствиях для поисковой оптимизации сайта: это и увеличение числа отказов, и посторонний трафик, и запятнанная репутация.
Даже при корректной настройке понадобится несколько обновлений поисковой выдачи, чтобы убрать все лишнее из поиска, а по времени это один-два месяца. Согласитесь, терпеть убытки два месяца, дополнительные расходы на восстановление сайта – стоит ли оно того?
Поэтому важно не только оперативно находить вирусы на сайте, а также предотвращать их попадание. Если нет достаточных знаний по установке и настройке правильной защиты сайта, то стоит обратиться к опытным специалистам безопасности.
Александр, безопасно ли давать возможность пользователям в комментариях загружать картинки на сервер сайта. То есть не ссылкой показывать картинку, а прямо в комментариях загрузить изображение.
Некоторые говорят, что в png или jpeg можно загрузить исполняемый вредоносный код.
Конечно, для удобства пользователям такая функция очень пригодиться. Ведь будет намного удобнее. Однако как с безопасностью тут обстоят дела. Стоит ли такую функцию прикручивать на свой сайт?
Именно в загрузке файлов и находятся популярные уязвимости. Но Это не повод отказываться от такого функционала, просто должна быть жесткая фильтрация изображений, и желательно не по MIME, а в идеале через функции обработки изображений — после них сторонний код обрезается, а если нет изображения, то выйдет ошибка.
И даже в этом случае, я всем настоятельно советую располагать в папке загрузок файл .htaccess для запрета исполнения скриптов, это защитит даже при наличии уязвимости в загрузке файлов. Пример .htaccess файла для защиты такой:
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .php7 .pht .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .wml
RemoveType php
AddType application/x-httpd-php-source .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp .php7 .pht
Спасибо за ответ. Да, запрет на исполнение скриптов в папке загрузок стоит. Но на всякий случай лишний раз захотелось уточнить. Мало ли что.
Против вора нет запора. Мне, дилетанту, хотелось бы знать: На кой? Кому нужны такие серьезные методы взлома и безопасности?
Если проект не безразличен, то стоит задуматься. То, что не защитишься от взлома — неправда, здесь чем больше защищаться, тем больше придется пожертвовать удобством.
К примеру, можно полностью запретить изменение файлов — злоумышленник ничгео не сможет сделать с таким сайтом. Но и Вы не сможете изменять сайт, придется каждый раз отключать защиту, для того, чтобы отредактировать.
Тому, кто хочет заработать на вашем сайте. К примеру, могут поставить мобильный редирект на другой сайт. В итоге, мобильный трафик вы полностью отдаете злоумышленникам, которые зарабатывают на доп трафике. Есть много других примеров, для чего ломают сайты. Поэтому очень глупо махать рукой на защиту. Да, на 100% не защитишься. Но и полностью игнорировать не стоит.