Что мы знаем о производительности и    безопасности интернет-проекта или каквылечить зуб, если неизвестно какой болит?    ...
Безопасность интернет-проектов
Сайты сегодня – наборзапчастейБольшая часть современныхсайтов - набор запчастей  низкий уровень стандартной  разработки  о...
О безопасности сайтадумают в последнюю очередь!   Индивидуальные разработчики думают о   безопасности сайтов в самую после...
Хостинг часто не защищен  Зачастую уровень  администрирования  серверов и хостинга  критически низкий  Редко используются ...
Безопасность сайта   Веб-сайт - часть корпоративной   инфраструктуры.   Взлом корпоративного сайта - это удар по   репутац...
Цикл разработки • Перед выпуском модуля идет обязательное   тестирование разработчиками на   внутренних серверах с разными...
Психология хакера иразработчика  Психология хакера и разработчика принципиально отличаются     Как мыслит разработчик…    ...
Категории хакеровСтуденты, ИТ специалисты начальногоуровня  пробуют силы на первых попавшихся сайтах  нет понимания послед...
Платный аудит безопасности   Индивидуальная проверка проектов   специалистами по веб-безопасности   Большой объем работы  ...
Комплекс «Проактивная защита»Инструменты безопасности   Web Application Firewall (Проактивный   фильтр защиты от атак)   В...
Проактивный фильтрWeb Application FireWallПроактивный фильтр распознает большинство опасных угроз иблокирует вторжения на ...
Веб-антивирус В платформу «1С-Битрикс» встроена система противодействия заражениям сайтов, которая:   выявляет в html-коде...
«Панель безопасности» Оценка уровней безопасности веб-проекта
Аудит безопасности Позволяет не только предотвратить эксплуатацию уязвимости, но и устранить ее источник. Проверка показыв...
Технология одноразовых паролейВаши сотрудники авторизуются насайте, используя свой логин, парольи цифровой ключ со своегоп...
Веб-приложение для генерацииодноразовых паролей (OTP)  Готовое мобильное веб-приложение  BitrixOTP, которое включено в мод...
Технология защитыавторизованныхсессий Сессия пользователя – это ключевой объект атаки на веб-сайт с целью получения сессии...
Контроль активности   Обеспечивает защиту от   DDoS атак на веб-   приложения, от   автоматизированных   роботов, которые ...
Шифрование данных Полная поддержка работы по SSL. Один из ключевых вариантов обеспечения защищенности проекта – шифрование...
Журнал вторжений  В журнале вторжений  ведется запись  попыток внедрения  SQL,  атак через XSS и  внедрения PHP.
Защита административныхразделов по IP  Защита позволяет строго регламентировать сети, которые  считаются безопасными и из ...
Стоп-листы   Стоп-лист ограничивает доступ посетителей к содержимому   сайта. Все пользователи, которые попытаются зайти н...
Контроль целостности системы  Механизм расчета контрольных  сумм всего проекта  Раздельное вычисление для  статических стр...
Защита от фишинга   Фи́шинг (англ. phishing, от password — пароль и   fishing — рыбная ловля, выуживание) — вид   интернет...
Групповые политикибезопасности   Выполняется проверка   на длину пароля и на   вхождение в пароль   определенных групп   с...
Регистрация и авторизация   Подтверждение   регистрации по email   Поддержка авторизации   OpenID и LiveID   Детальная нас...
Журнал событий  В журнал заносятся  события, связанные с  авторизацией и  регистрацией  пользователей. Детально  настраива...
Вы должны быть уверены в защищенности                    и надежности сайта
Производительность  интернет-проектов
Производительность веб-проекта  Производительность проекта зависит от трех составляющих:   • Конфигурация сервера    или н...
Конфигурация сервера  Устранение банальных ошибок конфигурирования может увеличить  производительность в 10 раз.
Производительность PHPДо 60% рабочего времени веб-сервера тратят наповторную компиляцию PHP-кода передисполнением.Ключевой...
Время исполнения PHP  Загруженная файловая система существенно снижает  производительность PHP-приложений.
Качество разработки  • Низкий уровень знаний разработчиков  • Использование API функций отключает мозг  • Неправильное исп...
Система отладки
Высоконагруженные проекты Высоконагруженные веб-проекты – это комплексное сочетание целого ряда факторов: • большая посеща...
Так как же «лечить зуб»?             Как это решали мы
Система онлайн-обученияи сертификация веб-разработчиков
Специальные тарифные планы ухостеров
Сертификация хостинг-провайдеров
Инструменты отладки
Результаты  Эти методы не работали.  • Качество тарифных планов хостинга постоянно    меняется.  • Пользователи/клиенты не...
Монитор производительности
Виртуальная машина VMware Полностью настроенный и протестированный виртуальный сервер для работы PHP-приложений.
Нагрузочное тестированиеНагрузочное тестирование - обязательный этап в завершениинастройки.Нагрузочное тестирование являет...
Пример
Веб-кластерОсновные задачи, которые решаетвеб-кластер:•Обеспечение высокой доступностисервиса (так называемые HA - HighAva...
Спасибо за внимание!Вопросы?  @rsv_bitrix
Upcoming SlideShare
Loading in …5
×

DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасности интернет-проекта" Сергей Рыжиков (Битрикс)

1,407 views

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,407
On SlideShare
0
From Embeds
0
Number of Embeds
439
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DUMP-2012 - Веб-разработка - "Что мы знаем о производительности и безопасности интернет-проекта" Сергей Рыжиков (Битрикс)

  1. 1. Что мы знаем о производительности и безопасности интернет-проекта или каквылечить зуб, если неизвестно какой болит? Сергей Рыжиков генеральный директор компании «1С-Битрикс»
  2. 2. Безопасность интернет-проектов
  3. 3. Сайты сегодня – наборзапчастейБольшая часть современныхсайтов - набор запчастей низкий уровень стандартной разработки отсутствие единой концепции безопасности несколько аккаунтов для одного пользователя не обновляемое ПО, особенно после модификации
  4. 4. О безопасности сайтадумают в последнюю очередь! Индивидуальные разработчики думают о безопасности сайтов в самую последнюю очередь. Клиенты не готовы платить за безопасность интернет-проектов. Подразумевается, что разработчик должен этим заниматься, но у него не остается ни времени, ни бюджета.
  5. 5. Хостинг часто не защищен Зачастую уровень администрирования серверов и хостинга критически низкий Редко используются системы автоматического мониторинга
  6. 6. Безопасность сайта Веб-сайт - часть корпоративной инфраструктуры. Взлом корпоративного сайта - это удар по репутации и имиджу компании. Очень неприятное в подобных событиях - огласка происшествия. Но потеря данных с сайта, информации о клиентах – это уже прямые убытки. И огласка таких происшествий происходит далеко не всегда. Чем серьезнее компания и известнее ее имя и продукты, тем существеннее бывают риски и убытки от взлома корпоративного сайта.
  7. 7. Цикл разработки • Перед выпуском модуля идет обязательное тестирование разработчиками на внутренних серверах с разными базами данных, операционными системами и версиями PHP • Отдел тестирования проверяет на соответствие бизнес-функциональности и наличие ошибок • Отдел безопасности проверяет на наличие уязвимостей • Модуль поступает в бета-тестирование клиентам и партнерам Разработчики работают в компании по 5-8 лет, но все равно допускают ошибки в безопасности. Почему?
  8. 8. Психология хакера иразработчика Психология хакера и разработчика принципиально отличаются Как мыслит разработчик… … и как мыслит хакер Профессиональным веб-разработчик становится только через 3-5 лет и при активном контроле со стороны специалиста по веб-безопасности.
  9. 9. Категории хакеровСтуденты, ИТ специалисты начальногоуровня пробуют силы на первых попавшихся сайтах нет понимания последствий для жертвы нет осознания юридической личной ответственности редко зарабатывают на хакерстве как на бизнесе Профессиональные специалисты прекрасный технический багаж никогда не светятся в тусовках, не кривляются делают только на заказ и только за деньги активно работают на службы безопасности крупных компаний Соотношение разработчиков к хакерам 1:100
  10. 10. Платный аудит безопасности Индивидуальная проверка проектов специалистами по веб-безопасности Большой объем работы Постоянные изменения вносимые в интернет- проекты Нехватка специалистов Отсутствие сформированной практики аудитов
  11. 11. Комплекс «Проактивная защита»Инструменты безопасности Web Application Firewall (Проактивный фильтр защиты от атак) Веб-антивирус Проверка качества внедрения и аудит безопасности кода Аутентификация и система составных паролей Технология защиты сессии пользователя Активная реакция на вторжение Контроль целостности системы Защита от фишинга Шифрование данных Групповые политики безопасности Защита при регистрации и авторизации Журнал событий
  12. 12. Проактивный фильтрWeb Application FireWallПроактивный фильтр распознает большинство опасных угроз иблокирует вторжения на сайт. • XSS - cross site scripting (СSS) • SQL инъекции • PHP Including • часть атак, связанных с обходом каталогов Экранирует приложение от наиболее активно используемых атак Фиксирует попытки атаки в журнале Информирует администратора о случаях вторжения
  13. 13. Веб-антивирус В платформу «1С-Битрикс» встроена система противодействия заражениям сайтов, которая: выявляет в html-коде потенциально опасные участки определяет большинство заражений сайта ведет «белый список» для отсечения ложно положительных срабатыванийВеб-антивирус ни в коем случае не является заменойперсонального антивируса!
  14. 14. «Панель безопасности» Оценка уровней безопасности веб-проекта
  15. 15. Аудит безопасности Позволяет не только предотвратить эксплуатацию уязвимости, но и устранить ее источник. Проверка показывает в отчете потенциальные уязвимости в коде и усиливает защиту сайта от взлома.
  16. 16. Технология одноразовых паролейВаши сотрудники авторизуются насайте, используя свой логин, парольи цифровой ключ со своегоперсонального брелка. Ключиспользуется только один раз и длякаждой авторизации пользователягенерится новый набор цифр.Технология одноразовых паролей Корректность работы электронных(One Time Password - OTP) с ключей eToken PASS для системы «1С-использованием брелков Aladdin Битрикс: Управление сайтом 8.0»eToken PASS позволяет быть подтверждается соответствующимоднозначно уверенным, что на сайте сертификатом компании Aladdin,авторизуется именно тот человек, выданным на основании сериикоторому выдали брелок. испытаний.
  17. 17. Веб-приложение для генерацииодноразовых паролей (OTP) Готовое мобильное веб-приложение BitrixOTP, которое включено в модуль «Проактивной защиты», может быть бесплатно загружено с сайта клиента. BitrixOTP опубликовано в Apple App Store и Android Market.
  18. 18. Технология защитыавторизованныхсессий Сессия пользователя – это ключевой объект атаки на веб-сайт с целью получения сессии авторизованного пользователя В повышенных режимах безопасности сессия будет полностью меняться раз в несколько минут (в зависимости от настройки) Механизм хранения сессий в базе данных для исключения ошибок конфигурирования виртуального хостинга, ошибок настройки прав доступа в временным каталогам и ряда других проблем настройки операционной среды
  19. 19. Контроль активности Обеспечивает защиту от DDoS атак на веб- приложения, от автоматизированных роботов, которые извлекают контент, спамят и всячески подстраиваются под посетителей
  20. 20. Шифрование данных Полная поддержка работы по SSL. Один из ключевых вариантов обеспечения защищенности проекта – шифрование данных и сессионных значений при передаче между пользователем и сайтом. Зачастую разделяются режимы работы пользователей и администратора. Новые параметры позволят использовать несколько режимов работы с сайтом для пользователей при установленном SSL сертификате.
  21. 21. Журнал вторжений В журнале вторжений ведется запись попыток внедрения SQL, атак через XSS и внедрения PHP.
  22. 22. Защита административныхразделов по IP Защита позволяет строго регламентировать сети, которые считаются безопасными и из которых сотрудникам разрешается администрировать сайт
  23. 23. Стоп-листы Стоп-лист ограничивает доступ посетителей к содержимому сайта. Все пользователи, которые попытаются зайти на сайт с IP адресами, включенными в стоп-лист, будут блокированы.
  24. 24. Контроль целостности системы Механизм расчета контрольных сумм всего проекта Раздельное вычисление для статических страниц и кода с возможностью видеть, когда менял обычный пользователь и когда менял веб-разработчик Пароль проверки не хранится на сайте Файл контрольных сумм можно отдельно сохранить у себя для проверкиВ любой момент вы можете проверитьцелостность ядра, системных областей,публичной части продукта
  25. 25. Защита от фишинга Фи́шинг (англ. phishing, от password — пароль и fishing — рыбная ловля, выуживание) — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям. Это достигается путем проведения массовых рассылок электронных писем от имени популярных брендов, например, от имени социальных сетей (Facebook, ВКонтакте), банков (Ситибанк, Альфа-банк), прочих сервисов (Rambler, Mail.ru) Фишинг — одна из разновидностей социальной инженерии, основанной на незнании пользователями основ сетевой безопасностиПри включенной защите все ссылки с сайта через редиректы защищаются дополнительным параметром индивидуальным для сайта и для этого перехода. Внешние переходы не будут работать
  26. 26. Групповые политикибезопасности Выполняется проверка на длину пароля и на вхождение в пароль определенных групп символов (латинские буквы, цифры, знаки препинания)
  27. 27. Регистрация и авторизация Подтверждение регистрации по email Поддержка авторизации OpenID и LiveID Детальная настройка CAPTCHA Вывод CAPTCHA после N неуспешных авторизаций
  28. 28. Журнал событий В журнал заносятся события, связанные с авторизацией и регистрацией пользователей. Детально настраиваются фиксируемые события.
  29. 29. Вы должны быть уверены в защищенности и надежности сайта
  30. 30. Производительность интернет-проектов
  31. 31. Производительность веб-проекта Производительность проекта зависит от трех составляющих: • Конфигурация сервера или настройки хостинга и его общая производительность • Настройки платформы, которые влияют на производительность (автокеширование, html- кеш, параметры поиска) • Качество разработки, интеграции с платформой, которая выполняется веб-разработчиком
  32. 32. Конфигурация сервера Устранение банальных ошибок конфигурирования может увеличить производительность в 10 раз.
  33. 33. Производительность PHPДо 60% рабочего времени веб-сервера тратят наповторную компиляцию PHP-кода передисполнением.Ключевой способ снизить нагрузку на процессор –использовать компиляторы PHP-кода.PHP-прекомпиляторы:eAccelerator - http://www.eaccelerator.net/Alternative PHP Cache - http://pecl.php.net/package/apcZend Performance Suite - http://www.zend.com/Turck MMCache - http://turck-mmcache.sourceforge.net/PHP Accelerator - http://www.php-accelerator.co.uk/AfterBurner Cache - http://www.bwcache.bware.it/
  34. 34. Время исполнения PHP Загруженная файловая система существенно снижает производительность PHP-приложений.
  35. 35. Качество разработки • Низкий уровень знаний разработчиков • Использование API функций отключает мозг • Неправильное использование API крайне тяжело выявляется Примеры из жизни: •меню сайта запрограммировано так, что выполняло 5000 запросов к БД •в шаблон страницы встроено обращение к GISMETEO прямо из PHP-кода
  36. 36. Система отладки
  37. 37. Высоконагруженные проекты Высоконагруженные веб-проекты – это комплексное сочетание целого ряда факторов: • большая посещаемость проекта в среднесуточном выражении; • высокие пиковые нагрузки; • невозможность кешировать страницы в силу сложной бизнес- логики; • большие интерактивные проекты: форумы, блоги, журналы; • индивидуальные страницы для отдельных пользователей; • большие объемы данных; • недостаточность аппаратных ресурсов по отношению к предыдущим факторам.
  38. 38. Так как же «лечить зуб»? Как это решали мы
  39. 39. Система онлайн-обученияи сертификация веб-разработчиков
  40. 40. Специальные тарифные планы ухостеров
  41. 41. Сертификация хостинг-провайдеров
  42. 42. Инструменты отладки
  43. 43. Результаты Эти методы не работали. • Качество тарифных планов хостинга постоянно меняется. • Пользователи/клиенты не могут проконтролировать качество конфигурации, качество настройки платформы и качество разработки. • У разработчиков на это не хватает времени или квалификации.
  44. 44. Монитор производительности
  45. 45. Виртуальная машина VMware Полностью настроенный и протестированный виртуальный сервер для работы PHP-приложений.
  46. 46. Нагрузочное тестированиеНагрузочное тестирование - обязательный этап в завершениинастройки.Нагрузочное тестирование является важнейшей процедуройподготовки крупного проекта к открытию.Нагрузочное тестирование позволяет определить пределработоспособности созданного проекта именно на выбранномоборудовании.Зачастую, простые корректировки конфигурации могут ускоритьпроект в 5-10 раз и сделать его устойчивым к стрессовым нагрузкам.
  47. 47. Пример
  48. 48. Веб-кластерОсновные задачи, которые решаетвеб-кластер:•Обеспечение высокой доступностисервиса (так называемые HA - HighAvailability или Failover кластеры)•Масштабирование веб-проекта вусловиях возрастающей нагрузки (HP -High Performance кластеры)•Балансирование нагрузки, трафика,данных между несколькимисерверами.•Создание целостной резервнойкопии данных для MySQL.
  49. 49. Спасибо за внимание!Вопросы? @rsv_bitrix

×