Similar presentations:
Современные веб-приложения. Лекция 4. Программно-аппаратные средства защиты информации
1. Современные веб-приложения
Современные вебприложенияЛекция 4.
Программно-аппаратные средства защиты информации
2. 2//Что такое контейнеризация?
3. 3//Что такое контейнеризация?
• Контейнеризация — метод, с помощью которого программныйкод упаковывается в единый исполняемый файл вместе с
библиотеками и зависимостями, чтобы обеспечить его
корректный запуск. Такие файлы называют контейнерами.
4. 4// Контрольные вопросы (1)
• Для чего нужен Docker?5. 5// Контрольные вопросы (1)
• Для чего нужен Docker?• Позволяет создавать, развертывать, запускать, обновлять и
управлять контейнерами — стандартизированными
исполняемыми компонентами, объединяющими исходный код
приложения с библиотеками операционной системы (ОС) и
зависимостями, необходимыми для запуска этого кода в любой
среде.
6. 6// Контрольные вопросы (2)
• Для чего нужен Kubernetes? Что такое k8s?7. 7// Контрольные вопросы (2)
• Для чего нужен Kubernetes? Что такое k8s?• Kubernetes - операционная система для облачных решений,
представляющая собой открытую платформу для управления
кластерами контейнерных приложений и сервисов.
• Kubernetes = k8s (это сокращенное наименование)
8. 8// Контрольные вопросы (3)
• Из каких компонентов состоит архитектура Kubernetes?9. 9// Контрольные вопросы (3)
• Из каких компонентов состоит архитектура Kubernetes?• Кластер (состоит как минимум из одной ноды)
• Нода (состоит из набора машин, которые запускают
контейнерные приложения)
• Контейнеры (запускаются в ноде)
10. 10//URL структура
11. 11//URL структура
12. 12//HTTP-протокол
13. 13//HTTP-протокол
14. 14//Структура HTTP запросов
15. 13//Методы HTTP-запросов
Основные• GET
• POST
Остальные
• OPTIONS
• HEAD
• DELETE
• PUT
• TRACE
16. 14// Заголовки (headers)
• GET /home.html HTTP/1.1• Host: developer.mozilla.org
• User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101
Firefox/50.0
• Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
• Accept-Language: en-US,en;q=0.5
• Accept-Encoding: gzip, deflate, br
• Referer: https://developer.mozilla.org/testpage.html
• Connection: keep-alive
• Upgrade-Insecure-Requests: 1
• If-Modified-Since: Mon, 18 Jul 2016 02:36:04 GMT
• If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a"
• Cache-Control: max-age=0
17. 15// Ответы (response)
18. 16// Статус коды
1. Сообщения для передачи информации о чем-то(100–199)
2. Сообщения об успехе
(200–299)
3. Сообщения об редиректе
(300–399)
4. Сообщения о клиентской ошибке
(400–499)
5. Сообщения о серверной ошибке (500–599)
19. 17//Headers
• Access-Control-Allow-Origin: *• Connection: Keep-Alive
• Content-Encoding: gzip
• Content-Type: text/html; charset=utf-8
• Date: Mon, 18 Jul 2016 16:06:00 GMT
• Etag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a"
• Keep-Alive: timeout=5, max=997
• Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT
• Server: Apache
• Set-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secure
• Transfer-Encoding: chunked
• Vary: Cookie, Accept-Encoding
• X-Backend-Server: developer2.webapp.scl3.mozilla.com
• X-Cache-Info: not cacheable; meta data too large
• X-kuma-revision: 1085259
• x-frame-options: DENY
20. 18// Различия между версиями HTTP
HTTP/09• HTTP/1.1
• Для каждого запроса новое tcp соединение.
• Нет заголовков.
• Поддерживаемые методы: GET
• Постоянные соединения, позволяют
использовать одно TCP соединение, для
создания нескольких запросов
• Появилась оптимизация.
• Поддерживаемые методы:
• GET. HEAD, POST, PUT, DELETE, TRACE, OPTIONS
HTTP/1.0
• Для каждого запроса новое tcp соединение.
• Поддерживает заголовки
• Поддерживаемые методы: GET, HEAD, POST
• HTTP/2
• Двоичный протокол.
• Мультиплексный протокол.
• Сжимает заголовки.
21. 19// HTTP 3
• Основан на концепции HTTP/2. Использует протокол QUIC(Работает поверх UDP) вместо TCP/TLS на транспортном уровне.
22. 20// Что такое web-сервер
Задачи WEB Serverа:• Отдавать статический контент.
• Понимать протокол HTTP.
• Защищать информацию (tls).
• Идентифицировать пользователей / Вести логи.
• Передавать запрос в случае необходимости Web Application Server
23. 20// Что такое Web Application
Задачи WEB Application Server:• Реализует доступ к СУБД
• Реализует возможность исполнять код на ЯП (бизнес-логика)
24. 21//Статический / динамический контент
• Html страницы• Видео
• Изображения
• файлы
• Информация меняется в
зависимости от разных
факторов
25. 22// Функции cookie файлов
• Cookie — небольшой фрагмент данных, отправленный вебсервером и хранимый на компьютере пользователя.Аутентификация
пользователей
Хранение
предпочтений и
настроек
пользователя
Отслеживания
состояния сеанса
доступа
пользователя
26. 23//Хранилища Cookie
Локальное хранилище необходимо для хранения надолгих срок данных на
клиенте.
Сессионное хранилище - в
отличие от Локального, здесь
данные живут пока не
закроется вкладка, или окно
браузера.
27. 24//Public Key Infrastructure
• Центр сертификации (CertificateAuthority) — является основной
структурой, формирующей
цифровые сертификаты
подчиненных центров сертификации
и конечных пользователей.
• Задача центра сертификации —
подтверждать подлинность ключей
шифрования с помощью
сертификатов электронной подписи.
• Сертификат открытого ключа — это
данные пользователя/сервера и его
открытый ключ, скреплённые
электронной подписью
удостоверяющего центра.
28. 25//Схема работы SSL/TLS
29. 26//Веб-сервисы
Веб-сервисы — это реализация абсолютно четких интерфейсовобмена данными между различными приложениями, которые
написаны не только на разных языках, но и распределены на
разных узлах сети.
• SOAP (Simple Object Access Protocol)
• REST (Representational State Transfer) API
• XML-RPC (XML Remote Procedure Call)
30. 27//Заголовок Content-type
• Пример тела HTTP запроса:• `{"username":"username",
"password": "password", "age": 1337}`
• Тогда как эквивалент через
стандартный html form:
• `username=username&password=pass
word&age=1337`
• Также необходимо в HTTP
заголовках указать, что
используемый тип тела запроса json, указав:
• `Content-Type: application/json`
• или если xml:
• `Content-Type: application/xml`
31. 28//Модификация заголовков
Инструменты• Postman
• Burp Suite
Расширения браузера
• Postman Interceptor
• Talend API Tester
32. 29//CDN-сети
33. 30//Контрольные вопросы
• Из чего состоит HTTP-запрос?• Что такое headers?
• Для чего может использоваться Burp-suite?
• Назовите типы взаимодействия с веб-сервисами?
34. 31//Полезные ссылки
• Postman: Основы тестирования API• https://habr.com/ru/companies/vk/articles/750096/
• Лучшие инструменты для тестирования API
• https://habr.com/ru/companies/otus/articles/760432/
internet
informatics