Все о хостинге
Все о хостинге, как выбрать хостинг,
полезные статьи и советы.
 
 
Что такое выделенный IP адрес и зачем он нужен на хостинге... далее
Краткий обзор технологий FTP SSH CGI SSI... далее
Введение в управление базами данных MySQL... далее
Что такое SSL и зачем он нужен.... далее
Что такое HTML... далее
Как анализировать логи apache и получать из них необходимые данные.. далее
Меню :


Статьи :

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

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

Установка готовых скриптов производства третьих лиц
Безопасность при программировании
Безопасность при работе с СУБД
"Правильные" пароли и разграничение доступа персонала
Внимательное чтение документации по всему, что Вы используете
Security updates
Резервные копии всего проекта
Установка готовых скриптов производства третьих лиц
Установка готовых скриптов производства третьих лиц

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

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

Безопасность при программировании
Обычно при создании сайта используют программы на языках Perl или PHP. Такой выбор обуславливается тем, что эти языки имеют множество функций и возможностей, специально предназначенных для разработчиков веб-приложений. И Perl, и PHP имеют в документации статьи, специально предназначенные для тех, кто хочет больше знать о безопасном программировании. Имеет смысл ознакомиться с этими документами и очень серьезно отнестись к рассматриваемым там вещам.
Иногда бывает полезным задействовать в работе веб-проекта систему управления базами данных (СУБД). Появилось довольно большое количество не очень сложных в настройке и использовании СУБД, которые пользуются популярностью у хостинговых компаний и их клиентов. Однако при использовании СУБД также нужно помнить о безопасности. Рассмотрим наиболее типичные security-проблемы веб-разработчиков, которые используют СУБД MySQL. Это наиболее популярная СУБД для хостинга, которой пользуются более половины разработчиков веб-ресурсов.
Если у Вас свой собственный MySQL-сервер под Вашим администрированием, нужно серьезно подойти к изучению системы ограничения прав доступа, которая реализована в MySQL. В этой СУБД используются так называемые Access Control Lists (ACLs), позволяющие управлять соединениями, запросами и другими операциями, которые пользователи могут пытаться делать. Очень важным моментом является установка адекватной политики доступа к хранимой в базе данных информации, когда доступ разрешается только к той информации, которая реально нужна. То есть, если у Вас есть два пользователя, которые могут совершать запросы к базе данных и данные, которыми они пользуются, не пересекаются, нужно запретить доступ одного пользователя к данным другого. Если у одного из пользователей каким-то образом будет похищен пароль, злоумышленник получит доступ только к тем данным, которые принадлежат соответствующему пользователю MySQL.

Далее
Новости :
Горячие статьи:
Основы безопасности для веб-разработчиков

Полезно знать :