По своей природе веб-среда, сопряжена с рисками. Она была создана для того, чтобы позволить большому количеству неизвестных пользователей запрашивать определенные службы от различных компьютеров. Большинство запросов будут вполне легальными запросами не получение веб-страниц, но если ваш компьютер подключен к Интернет, ничто не мешает людям пытаться установить соединения другого типа.
Хотя весьма естественно предположить, что желательно обеспечить наивысший уровень защиты, на практике встречается не так уж часто. Если вы хотите чувствовать себя в полной безопастности, держите всесвои компьютеры выключенными, отсоединенными от всех сетей и закрытыми в сейфе. Чтобы компьютеры были полезными и доступными для пользователя, придется пойти на некоторые послабления в защите.
Между безопасностью, простотой использования, стоимостью и производительностью должен быть достигнут компромис. Если сделать службу более защищенной, это может снизить простоту ее использовния, например, если ограничить клиенту количество разрешенных действий или потребовать, чтобы клиент идентифицировал себя. Повышение безопасности может также повлечь за собой снижение производительности компьютеров. Использование программного обеспечения для повышения безопасности системы, например, системы шифрования, системы обнаружения вторжений, антивирусных программ, системы расширенной регистрации,требует дополнительных ресурсов. Для проведения шифрованного сеанса, такого как соединение с веб-сайтом по протоколу SSL, потребуется значительно большая вычислительная мощность, чем для проведения обычного сеанса. Подобного рода потери производительности можно компенсировать, потратив больше денег на более мощные компьютеры или на оборудование, специально созданное для шифрования данных.
Производительность, простота использования, затраты и безопасность можно считать взаимоисключающими целями. Для достижения компромисса потребуется проанализировать необходимые уступки и принять обоснованное решение. Компромисс модно будет найти в зависимости от того, какова ценность вашей информации, сколько пользователей предполагается обслуживать, и какие препятствия могут возникнуть со стороны легальных посетителей вашего сайта.
Стратегия безопастности — это документ, описывающий следующие аспекты:
Хорошим пособием при разработке стратегии безопасности может служить то, что она подобна составлению функциональных требований для программного обеспечения. Стратегия не должна затрагивать конкретные реализации или решения. Вместо этого она должна отражать цели защиты и требования, предъявляемые к ней в данной среде. Стратегия безопасности не должна обновляться слишком часто.
В отдельном документе следует зафиксировать принципы того, как требования стратегии должны быть реализованы в конкретном окружении. Эти принципы могут различаться для разных подразделений организации. Данный документ представляет собой проектный документ или методическое руководство, в котором отражено то, что на самом деле следует проделать, чтобы гарантировать заявленный уровень защиты.
Аутентификация — это попытка доказать, что кто-то на самом деле является тем, за кого себя выдает. Существует множество методов аутентификации, но как это имеет место со многими средствами защиты, чем большую степень безопастности обеспечивают методы, тем сложнее их использовать.
К технологиям аутентификации относятся использование паролей, цифровых подписей, биометрических показателей, таких как отпечатки пальцев, а также методы, предусматривающие применение специальногооборудования, например, смарткарт. В веб широкое применение находят только два метода — использование паролей и цифровых сертификатов.
Биометрические методы и большинство методов, предполагающих применение специального оборудования, требуют наличия специализированных устройств ввода и привязывают санкционированных пользователей к копмпьютерам, на которых установлены устройства подобного рода. Это может быть приемлемым или даже желательным для доступа к внутренним системам организации, но такой подходсводит на нет все преимущества систем, доступных черех веб.
Пароли легко реализовать, просто использовать, они не требуют наличия никаких устройств ввода. Пароли обеспечивают некоторый уровень аутентификации, но не подходят в качестве единственного метода аутентификации в системах с высоким уровнам безопастности.
Концепция паролей достаточно проста. Пароль каждого пользователя известен только самому пользователю и системе. Если посетитель утверждает, что он — это вы, и знает ваш пароль, то у системы имеются все основания верить, что посетитель — это вы. До тех пор пака никто не знает и не может угадать ваш пароль, система остается защищенной. Сами по себе пароли обладают несколькими потенциальными недостатками и не могут обеспечить надежную аутентификацию.
Множество паролей угадать несложно. Если выбор пароля возложить на пользователя, то 50% из низ выберет пароль, угадать который не представляет особых трудностей. Обычно такими паролями являются слова из словаря и имена пользователей, задействованные в качестве имен их учетных записей. Ценой уменьшения удобства использования можно заставить пользователей применять в паролях цифры и знаки пунктуации. Однако это приведет к тому, что у пользователей появятся трудности с запоминанием паролей. Конечно, обучение пользователей правилам выбора паролей может помочь, но даже после обучения около 25% пользователей все равно выберут легко угадываемые пароли. Имеет смысл создать стратегию выбора паролей, которая будет препятствовать пользователям в выборе легко угадываемого пароля. Для этого стратегия должна сравнивать новые пароли со словарем или требовать использования в пароле нескольких цифр, знаков пунктуации или комбинации прописных и строчных букв. Обратная сторона упомянутого подхода состоит в том, что строгие правила выбора паролей приведут к тому, что многие пользователи попросту не сумеют запомнить собственные пароли.
Трудно запоминаемые пароли увеличат вероятность того, что пользователь прикрепит к монитору листок с паролем.
Пользователей следует учить не записывать пароли и не совершать других подобных глупых поступков, например, не сообщать пароль человеку, который позвонил по телефону и утверждает, что работает в системе.
Пароли могут перехватываться электронным путем. Используя программы перехвата клавиатурного ввода на терминалах либо анализаторы сетевых протоколов, или снифферы, взломщики могут перехватывать интересные пары "bvz пользователя — пароль". Шифрование сетевого потока данных позволяет снизить риск перехвата паролей.
При всех своих недостатках пароли являются простым и относительно эффективным способом аутентификации пользователей. Они обеспечивают уровень защиты, который возможно, не подойдет для структуры, которая обеспечивает национальную безопасность, но идеально подходит для проверки состояния доставки товаров, заказанных клиентом.
Механизмы аутентификации встроены в наиболее популярные веб-браузеры и серверы. Веб-серверы могут затребовать указания имени пользователя и пароля у тех, кто желает выгрузить файлы из определенных каталогов на сервере.
Когда браузер получает запрос на ввод имени пользователя и пароля, он отображает диалоговое окно, подобно изображенному на рисунке.
Веб-серверы Apache и Microsoft IIS позволяют таким способом легко защитить сайт или же его часть. В случае применения РНР и MySQL существует множество способов достич того же эффекта. Применение MySQL обеспечивает большую производительность, чем встроенная аутентификация. С помощью РНР можно реализовать более гибкую аутентификацию или представить запрос в более привлекательной форме.