Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 09:46, реферат
Для систем, рассчитанных на постоянную работу (например, для серверов), безопасность играет весьма значительную роль. Веб–серверы – это основа Интернета. Они отвечают за базовые услуги и функционирование миллиардов веб–сайтов по всему миру, в результате превращаясь в хранилище персональных данных посетителей. Обеспечение защиты серверов от атаки извне — это одна из важнейших задач любой полагающейся на них организации.
Введение…………………………………………………….………………3
1 Основы безопасности…………………………………………….……....4
1.1 Internet Information Services (IIS)…………………………………..….5
1.2 HTTP–сервер Apache…………………………………………..……….5
1.3 PHP и MySQL…………………………………………….…….………6
1.4 Active Server Pages (ASP)……………………………………..………..7
1.5 Безопасность……………………………………………………………7
2 Внешний веб–хостинг……………………………………………………8
2.1 Общий выделенный хостинг……………………………….………….8
2.2 Виртуальный выделенный хостинг……………………….…………..8
2.3 Выделенный хостинг…………………………………………………..8
3 Безопасное проектирование………………………………….………….9
3.1 Файлы cookie………………………………………………….………..9
3.2 Аутентификация………………………………………………………10
3.3 Компоненты, библиотеки и надстройки…………………………….10
3.4 Лог–файлы…………………………………………………………….11
4 Обеспечение безопасности кода……………………………………….12
4.1 SQL–инъекция……………………………………………………...…12
4.2 XSS (межсайтовый скриптинг)………………………………………13
Заключение……………………………………………………….……….15
Библиографический список ………………………….……………….…16
Содержание
Введение…………………………………………………….…
1 Основы безопасности……………………………
1.1 Internet Information Services (IIS)…………………………………..….5
1.2 HTTP–сервер Apache…………………………………………..……….5
1.3 PHP и MySQL…………………………………………….…….………6
1.4 Active Server Pages (ASP)……………………………………..………..7
1.5 Безопасность………………………………………………
2 Внешний веб–хостинг……………………………
2.1 Общий выделенный хостинг………………
2.2 Виртуальный выделенный хостинг……………………….…………..8
2.3 Выделенный хостинг………………………………
3 Безопасное проектирование……………
3.1 Файлы cookie………………………………………………
3.2 Аутентификация…………………………………………
3.3 Компоненты, библиотеки и надстройки…………………………….10
3.4 Лог–файлы………………………………………………………
4 Обеспечение безопасности кода……………………………………….12
4.1 SQL–инъекция………………………………………………
4.2 XSS (межсайтовый скриптинг)…………………
Заключение……………………………………………………
Библиографический список ………………………….……………….…16
Введение
Для систем, рассчитанных на постоянную работу (например, для серверов), безопасность играет весьма значительную роль. Веб–серверы – это основа Интернета. Они отвечают за базовые услуги и функционирование миллиардов веб–сайтов по всему миру, в результате превращаясь в хранилище персональных данных посетителей. Обеспечение защиты серверов от атаки извне — это одна из важнейших задач любой полагающейся на них организации.
В последние годы число атак, нацеленных на веб–сервера, значительно возросло. Географическое местоположение сервера роли при этом не играет, вредоносный код не обращает внимания на границы. Угроза, принимающая международный характер, теперь проистекает от организованных преступных сообществ, занимающихся массовым сбором паролей, финансовых сведений и другой информации; это уже не просто малолетние хакеры–хулиганы. В большинстве случаев атака происходит с минимальным вмешательством, а вредоносное ПО, размещаемое на серверах и сайтах, рассчитано на заражение максимального количества пользователей.
1 Основы безопасности
Первый этап проектирования, создания или использования безопасного веб–сайта — это обеспечение максимального уровня безопасности сервера, на котором он размещается.
Веб–сервер формируется несколькими слоями ПО, каждый из которых подвержен разнообразным способам атаки.
Основа любого сервера — это операционная система. Обеспечить ее безопасность сравнительно просто: достаточно вовремя устанавливать последние обновления системы безопасности. Это не самое трудоемкое занятие, поскольку системы Microsoft и многие представители семейства Linux позволяют организациям устанавливать исправления автоматически или запускать их одним щелчком мыши.
Следует помнить, что хакеры также склонны автоматизировать свои атаки, используя вредоносное ПО, перебирающее один сервер за другим в поисках сервера, где обновление не было установлено. В связи с этим важно следить за тем, чтобы обновления устанавливались своевременно и надлежащим образом; любой сервер, на котором установлены устаревшие версии обновлений, может подвергнуться атаке.
Также следует вовремя
обновлять все программное
Следующий важный момент — это антивирусное ПО. Его использование является обязательным требованием для любого веб–сервера вне зависимости от того, используется в качестве платформы Windows или Unix. В сочетании с гибким межсетевым экраном антивирусное ПО становится одним из самых эффективных способов защиты от угроз безопасности. Когда веб–сервер становится целью атаки, злоумышленник без промедления пытается загрузить инструменты взлома или вредоносное ПО, чтобы успеть использовать уязвимость системы безопасности до того, как она будет закрыта. При отсутствии качественного антивирусного пакета уязвимость системы безопасности может долгое время оставаться незамеченной.
В вопросах защиты оптимальным
является многоуровневый подход. На переднем
крае — межсетевой экран и операционная
система; стоящий за ними антивирус
готов заполнить любые
Подведем итоги:
– не устанавливать ненужные компоненты. Любой компонент несет с собой отдельную угрозу; чем их больше, тем выше суммарный риск;
– своевременно устанавливать обновления системы безопасности для операционной системы и приложений;
– использовать антивирус, включать автоматическую установку обновлений и регулярно проверять правильность их установки;
– некоторые из этих задач могут казаться затруднительными, но следует помнить о том, что для атаки достаточно единственной бреши в системе безопасности. Потенциальные риски при этом — кража данных и трафика, занесение IP–адреса сервера в черные списки, ущерб репутации организации и нестабильность веб–сайта.
Следующий по важности компонент программного обеспечения — сам HTTP–сервер; самыми популярными альтернативами здесь являются IIS и Apache.
1.1 Internet Information Services (IIS)
IIS — это компонент Microsoft Windows, популярный и распространенный в силу простоты конфигурации веб–сервер.
Тем не менее при его
развертывании требуется
Необходимо отключить неиспользуемые службы, устанавливаемые по умолчанию (например, FTP или SMTP).
Необходимо отключить
функцию просмотра каталогов, если
она не является необходимой, поскольку
она позволяет посетителям
Необходимо отключить все неиспользуемые серверные расширения FrontPage. Также следует своевременно устанавливать все обновления IIS — добиться этого можно, включив автоматическое обновление с помощью панели управления Windows.
1.2 HTTP–сервер Apache
Apache — это веб–сервер с открытым исходным кодом, отличающийся широкими возможностями конфигурации и должным уровнем поддержки. Для его успешного развертывания требуется более детальная настройка, но это в то же время обеспечивает большую степень контролируемости веб–сервера. Обычно серверы Apache работают под управлением Linux или BSD, но они также могут работать и в Windows.
Ввиду сложности полная процедура настройки Apache в данном документе не рассматривается. Тем не менее имеет смысл воспользоваться следующими рекомендациями:
– необходимо отключать доступ к ресурсам по умолчанию, включив только необходимую функциональность ресурсов;
– необходимо вести журнал всех обращений — это поможет в выявлении подозрительной активности;
– подписка на рассылку Apache Server Announcement позволяет своевременно получать обновления и исправления для системы безопасности.
Если для веб–сайтов требуется расширенная функциональность, HTTP–сервер зачастую дополняется серверным интерпретатором PHP или ASP, или работающим с помощью интерфейса CGI.
1.3 PHP и MySQL
PHP является одним из
наиболее распространенных
Язык PHP зачастую критикуют
за недостаточный уровень
Вот несколько советов по настройке (разработка безопасного кода обсуждается ниже), касающихся переменных в файле «php.ini»:
– необходимо установить переменную register_globals в значение off;
– необходимо установить переменную safe_mode в значение on;
– в переменной open_basedir следует указать базовый каталог веб–сайта;
– необходимо установить переменную display_errors в значение off;
– необходимо установить переменную log_errors в значение on;
– необходимо установить переменную allow_url_fopen в значение off;
При установке MySQL создается база данных «test», используемая по умолчанию, и открытая учетная запись «root» без пароля. Данной учетной записи автоматически предоставляется полный доступ ко всем прочим базам данных на сервере. В связи с этим необходимо проделать следующее:
– сразу изменить пароль учетной записи «root»;
– создать новую учетную запись MySQL и предоставить ей минимально необходимые права;
– удалить базу данных «test» и соответствующих пользователей.
1.4 Active Server Pages (ASP)
ASP — это надстройка
для IIS, созданная Майкрософт, хотя
также существует реализация
для Apache. Поддержка ASP встроена
в IIS, в связи с чем дополнительные
требования по конфигурации
1.5 Безопасность
Обычно антивирус выступает последней линией обороны в случае атаки. В связи с этим на веб–серверах (в особенности там, где используется динамически формируемый контент) должна быть включена проверка файлов при обращении. От вредоносного ПО не застрахован ни один сервер. Вне зависимости от вашей уверенности в безопасности веб–сервера всегда есть шанс успешной атаки. Проверка файлов при обращении позволяет существенно снизить вероятность запуска вредоносного кода в системе, поскольку она может вестись как в режиме «при чтении», так и в режиме «при записи», что позволяет своевременно уведомить администратора о попытке размещения вредоносного кода на сервере.
Несмотря на то, что проверка файлов при обращении может сказаться на производительности сервера, ее преимущества для безопасности значительно превосходят любое снижение пропускной способности сервера. Некоторые участки системы (например, каталог, в котором хранятся лог–файлы HTTP–сервера) можно исключить из области проверки, что также позволит снизить влияние на систему.
Атаки веб–серверов можно разделить на две категории: локальные и глобальные.
Локальные атаки обычно
направлены на кражу
Глобальные атаки обычно
направлены на несколько веб–
Несмотря на то, что в некоторых кругах системы Linux и BSD считаются безопаснее Windows, использование этих операционных систем также не является гарантией защиты от организованной преступности. В них можно (и нужно) установить антивирусное ПО. Даже в случае, когда вредоносная программа не может быть запущена на самом сервере, если он защищен антивирусным ПО, она все же может передаваться под видом обычного контента посетителям веб–сайтов, поскольку хакеры зачастую загружают такие программы с помощью PHP или ASP, что исключает необходимость заражения операционной системы веб–сервера.
Серверы также могут заражаться через локальную сеть. К примеру, семейство червей Fujacks способно заражать HTML–, PHP– и ASP–файлы, расположенные на сетевых дисках.
2 Внешний веб–хостинг
Обычно организации не располагают оборудованием или стабильным интернет–каналом, необходимым для использования собственного веб–сервера, в связи с чем им приходится пользоваться услугами внешних поставщиков услуг хостинга. Есть три альтернативных варианта, используемых как мелкими, так и крупными организациями:
– общий выделенный хостинг;
– виртуальный выделенный хостинг;
– выделенный хостинг.
2.1 Общий выделенный хостинг
По всей вероятности, это наиболее распространенный и подверженный атакам вид веб–хостинга. Здесь используется выделенный сервер, на котором размещается несколько веб–сайтов. Это одна из самых экономичных форм хостинга, что также делает ее одной из наиболее опасных, поскольку заражения одного пользователя достаточно для заражения всех прочих пользователей сервера.
2.2 Виртуальный выделенный хостинг
Здесь используются виртуальные выделенные серверы, иногда называемые эластичными; они создаются с помощью технологий виртуализации и работают на нескольких автономных виртуальных серверах, размещенных на одном физическом компьютере. Этот вариант подходит для развивающихся организаций, поскольку каждый пользователь получает доступ к своей ОС и серверному ПО.