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

То есть огромная команда разрабатывающая язык программирования пхп, в версии 5.2.x совершила ошибку (все ошибаются, что уж тут горевать) и сайты у которых используется эта версия стали уязвимы. Со временем я понял как закрыться от этого, не обновляя версию пхп. Прописал некоторые правила в htaccessе и сайт перестали взламывать. Но для того чтобы понять как именно взламывают сайт мне пришлось перелопатить огромное количество логов. Вроде бы понятно, что взламывают, но как понять каким способом?

Когда посещаемость сайта низка, то вычислить негодяя намного проще, а если визитов за тысячу в день, это намного сложней.

Поделюсь с вами как это удалось сделать. Рецепт конечно не универсальный, но первым делом я всегда провожу именно этот алгоритм действий.

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

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

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

Когда я вычислил, что меня взламывают запросом ?-s (вас могут другим каким-то взломать) и подобными похожими комбинациями запросов примерно такого же вида (?-file, ?-d). Видимо все это в автоматическом режиме какой-то бот делал, так как запросов в час было примерно в районе 100, то есть каждую минуту он что-то делал с сайтом. Решил поискать информацию в интернете и нашел друзей по несчастью.

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

Все имеющиеся сейчас способы защиты информации и сайта не дают 100% гарантии.

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

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]

Неприятно, конечно, осознавать, что сайты не защищены, но при грамотной настройке правил в htaccessе можно добиться минимизации риска. В интернете существуют эталонные образцы таких файлов, об этом напишу в других своих постах. И всегда, неважно работаете вы вебмастером в офисе или удаленно, делайте бэкапы сайта, каждый день sql, и каждую неделю www бэкап. Это сбережет вам уйму нервов и сэкономит кучу времени, которое можно будет потратить на личную жизнь.

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