Аргерих Л. О языке РНР. Часть 5. Страница 64



23

Система безопасности

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

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

В этой главе мы рассмотрим следующие темы:

♦ Определение системы безопасности

♦ Безопасность сервера

♦ Система безопасности Apache

♦ Безопасность и РНР

♦ Безопасность и MySQL

♦ Криптография

♦ Сетевая безопасность

♦ Безопасность программ

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

Что такое система безопасности?

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

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

Безопасность сервера

Построение системы безопасности можно сравнить с возведением стены. Прежде всего, надо заложить хорошее основание и строить на нем осталь­ное. Если фундамент негодный, то все, что мы на нем возведем, может рух­нуть от легкого толчка.

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