Общая информация

Цели занятия

после занятия вы сможете:

  • обеспечивать понимание сетевого взаимодействия и отказоустойчивости;

  • обеспечивать безопасность кода и приложения.

Краткое содержание

  • модель OSI;

  • сетевые протоколы;

  • балансировка, решения на разных уровнях сетевого стека (L4, DNS и т.д.);

  • симметричные и ассиметричные алгоритмы шифрования;

  • модели угроз для веб-приложения.

Результаты

  • балансировать запросы к приложению, вспомнить про SSL;

  • искать и устранять уязвимости веб-приложения.

Преподаватель

  • Василий Никонов

Дата и время

  • 22 февраля, вторник в 20:00

  • Длительность занятия: 90 минут


Тезисы из вебинара

Модель OSI

1. Канальный уровень

(звезда) MAC адрес: первые 3 байта — номер производителя, последние 3 байта — номер устройства

2. Сетевой уровень

3. Транспортный уровень

4. Сеансовый уровень

5. Уровень представления

6. Прикладной уровень

Контрольные вопросы

  1. на высшем, прикладном

  2. если нужно например сделать скоростной ping по UDP

  3. на сетевом (роутинг пакетов ip) или прикладном уровнях

Базовые протоколы IP

Протокол IPv4

(звезда) емкость адресов уже исчерпана, они ротируются между операторами

(звезда) красным на картинке обозначен номер сети (23 бита), синим — номер узла (32 — 23 = 9 бит)

Классификация сетей по классам (A/B/C)

Публичные и локальные адреса

где 192.168.*.* — привычные нам локальные адреса внутри сети

Протокол IPv5

(минус) был признан неудачным, не прижился

Протокол IPv6

Протоколы TCP и UDP

(звезда) UPD хорош для телефонии, стриминга и т.п., т.к. в TCP критичны задержки в передаче звука
видео

Протоколы DNS

Базовые протоколы


Балансировка

Внешняя балансировка

(warning) существенно ускоряет доставку контента; например, много кеширующих географических серверов есть в РФ у операторов

Алгоритмы балансировки

  • Round robin — по кругу смотрим ближайший свободный сервер; много где используется, в т.ч. в nginx

  • Метрики нагрузки: смотрим, как загружены сервера, учитываем это

  • Мониторинг: более сложное чем предыдущее (с обратной связью)


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

  • Идентификация — присвоение ИД

  • Аутентификация — подтверждение что объект соответствует ИД (подтверждение ключом и т.п.)

  • Авторизация — предоставление доступа к аутентифицированному объекту (проверка роли, прав и т.п.)

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

  • симметричные алгоритмы: AES

  • асимметричные алгоритмы:

  • хэш: md5, sha, …

  • ЭП/ЭЦП

Классификация уязвимостей

(warning) см тут: https://cve.mitre.org/index.html

OWASP

(звезда) см. тут: https://owasp.org/

Это рекомендации по безопасной разработке , частично устаревшие, обновление в 2017

Top 10 ошибок: полезно изучить и проверить свой код:

  • sql injections

  • auth errors

  • xml parsing errors

Инструменты поддержки качества

(warning) Psalm: https://psalm.dev/

(звезда) Советуют книжку: Эндрю Танненбаум — Компьютерные сети


Домашнее задание

Приложение/скрипт для верификации email-ов.

Цель

Закрепить навыки программирования.

Описание/Пошаговая инструкция выполнения домашнего задания:

  • Приложение верификации email

  • Реализовать приложение (сервис/функцию) для верификации email.

  • Реализация будет в будущем встроена в более крупное решение.

  • Минимальный функционал — список строк, которые необходимо проверить на наличие валидных email.

  • Валидация по регулярным выражениям и проверке DNS mx записи, без полноценной отправки письма-подтверждения.

  • Приложение верификации email

  • Реализовать приложение (сервис/функцию) для верификации email.

  • Реализация будет в будущем встроена в более крупное решение.

  • Минимальный функционал — список строк, которые необходимо проверить на наличие валидных email.

  • Валидация по регулярным выражениям и проверке DNS mx записи, без полноценной отправки письма-подтверждения.

Пояснение:

  • email-ы хранятся в текстовом файле списком

  • проверка рег. выражениями

  • валидация доменов: на существование +_ наличие MX записи (потовый сервер)

  • то есть: можно отдельно проверить домены , затем выбрать из них невалидные и email-ы относящиеся к ним email-ы отсеить автоматом

Tags

Нет комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.