Сайт о правильных сайтах




Статья 4. Способы защиты веб-сайта

Пример письма хакера, как бы от хостинговой компании

Относительная простота публикации информации на просторах Web, подкрепленная примерами для подражания, рано или поздно оборачивается для многих посетителей Сети соблазном завести свой собственный веб-ресурс.

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

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

Первый вопрос, который острее всего заботит тех, кто впервые создает свой ресурс: где лучше разместить свой сайт, какой хостинг выбрать? Вопрос, безусловно, важный. Однако сначала нужно сайт спроектировать, хотя бы в общих чертах. Важно помнить, что буквально все – и структура меню навигации, и внешний вид страниц, и, наконец, выбор хостинга – должно быть подчинено специфике контента, содержания сайта. Важно правильно определиться и с дизайном будущего сайта, а выбор, например, продвинутого хостинга с поддержкой широкого спектра технологий для крошечного сайта, совершенно не оправдан.

Даже если контента пока нет как такового, жизненно необходимо наметить некую основную идею этого самого содержания, смысл существования сайта, а в идеале – приблизительный план будущего содержания. Без этого нельзя двигаться дальше.

Крайне желательно на самом начальном этапе подготовить некое ядро контента, материалы, которые станут основополагающими и определят структуру всего будущего сайта. В главном меню навигации не должно быть более шести-восьми пунктов; если предполагается, что количество страниц на сайте будет существенно большим, разумно подумать о том, чтобы разбить магистральные разделы на более мелкие подразделы более глубокого уровня иерархии. Любой сайт представляет собой набор взаимосвязанных (при помощи гипертекстовых ссылок) веб-страниц.

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

Конечно, знание языка разметки гипертекста – HTML, как правило, в сочетании с каскадными листами стилей – CSS, описывающих внешний вид тех или иных объектов страницы, является очень важным, но на первых порах подойдёт и использование конструктора сайтов, например, на бесплатном хостинге "Народ.Ру", или можно воспользоваться специализированным редактором наподобие Microsoft FrontPage, HomeSite или Macromedia Dreamweaver. Все эти средства позволяют редактировать страницы в визуальном режиме.

Но вот, наконец, все проблемы решены, и долгожданное "детище" появилось в Интернете, но почему-то посетители не спешат посмотреть на него и порадоваться вместе с автором ни первым дням его "чада", ни первым месяцам… Да, правильно, нужна "раскрутка"! Автор старается, исправляет ошибки, приобретает личный опыт, пишет интересные статьи, улучшает контент и т.д. Наконец-то, настали времена, когда сайт стал посещаемым и даже популярным!

Кошмар сайтовладельца начинается довольно стандартно, запустив браузер и зайдя на свой сайт для размещения, например, новых материалов или ответов на форуме, он видит не привычную главную страницу, а хулиганскую картинку или глумливое сообщение, FTP-клиент отказывается заходить на аккаунт, сообщая о неверном пароле. Можно с достаточной уверенностью сказать, что произошёл "взлом сайта", то есть получение к его содержимому несанкционированного доступа со стороны третьих лиц.

Хорошо ещё, если "взломщики" ограничатся только порчей главной страницы, но ничто не мешает им закачать на сайт скрипт массовой рассылки почты – и тогда источником спама и угроз будет считаться этот самый ресурс, так как именно его адрес окажется в служебной информации писем. Возможно и использование сайта для хранения запрещенного контента. Если же на нем имеются закрытые разделы, то придется быть готовым к тому, что информация и фотографии оттуда вскоре появятся на множестве других сайтов Интернета без всякого согласия автора.
Способы взлома сайта можно разделить на три группы:

1. "Взломщик" может захватить контроль над самим веб-сервером, на котором расположен сайт. Если последний размещен на условиях хостинга (т.е. на одном веб-сервере находится сразу множество сайтов), то при таком способе взлома угрозе подвергаются все ресурсы, расположенные на этом хостинге. Однако вероятность подобного взлома невысока – компании, предоставляющие подобные услуги, обычно хорошо заботятся о безопасности своих ресурсов.

В этом случае всё зависит от удачного выбора хостинга. При наличии каких-либо серьезных потерь вполне реально предъявить компании-хостеру претензии и добиться возмещения ущерба, если, конечно, в лицензионном соглашении с компанией не было строк об отказе от всех возможных рисков и претензий.

2. "Взломщик" может узнать у владельца сайта или его администратора авторизационные данные для доступа к сайту (логин и пароль к FTP-аккаунту или к управляющей панели) и воспользоваться ими для изменения сайта или похищения с него информации. При этом никакие системы безопасности самого ресурса не смогут ему воспрепятствовать: для них действия "взломщика" будут абсолютно законными, так как выполняются после легального прохождения авторизации.

Получить логины и пароли для работы с сайтом "взломщик" может как с помощью социальной инженерии (попросту каким-либо образом выведав их у администраторов), так и с помощью атаки на компьютеры, где эти данные могут быть сохранены (последнее зачастую выполняется посредством троянских программ) или перехвата передаваемых данных.

Ясно, что нужно надежно беречь пароли и коды доступа к панели управления сайтом – это строго секретная информация, которая всегда должна быть секретной! У администратора сервиса хостинга всегда есть все возможности работать со всеми базами данных без всяких пользовательских паролей. Поэтому письмо или звонок от "администрации хостинга" с жалобой на "крах базы" и требованием сообщить свой пароль может быть только акцией хакеров (и только так!).

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

Методы защиты от троянских программ те же, что и для вирусной опасности – установка хорошей антивирусной программы, обязательная проверка всех файлов, загружаемых из Интернета. Отправке паролей злоумышленнику может воспрепятствовать грамотно настроенный брандмауэр и качественный почтовый клиент (например, Mozilla Thinderbird), не допускающий управления извне. В определенной степени помогут и программы – "хранители паролей", сохраняющие их в зашифрованном виде в своей базе данных и подставляющие в нужные окна.

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

3. Получение доступа к сайту посредством уязвимостей в программном обеспечении. Если на сайте установлены какие-либо программные пакеты, код которых выполняется на веб-сервере (например, система управления контентом – CMS, форум или чат, картинная галерея, интернет-магазин), то они всегда потенциально опасны с точки зрения "взлома".

Если в программном комплексе есть уязвимость, то «взломщик» с помощью хитро составленного запроса к сайту может узнать пароли для управления сайтом или форумом, а то и разместить на нём свою программу, которая позволит загружать на сайт файлы "взломщика", удалять и менять любые данные. Причиной такой уязвимости часто являются ошибки разработчиков программы. Например, если сценарий получает от посетителя какой-либо текст и записывает его в файл на самом сайте, то разработчики обязаны позаботиться о том, чтобы в этот файл не смог попасть никакой программный код, введенный злоумышленником, а если даже это случится, то такой код не должен исполниться ни при каких условиях. Надо чаще интересоваться сведениями о свеженайденных уязвимостях и устанавливать обновление к популярному ПО.

Отдельно хочется подчеркнуть необходимость регулярного резервного копирования всего содержимого сайта, в первую очередь на свой собственный компьютер. Всегда надо иметь на своем ПK полную копию ресурса, включая дамп базы данных (если таковая используется), и, в случае частых изменений сайта, регулярно её обновлять (лучше иметь две-три копни разной давности – день, неделя, месяц), причем целесообразно записывать эти копии на оптические носители. Забота о резервном копировании позволит исправить последствия взлома практически без потери данных сайта.