Опубликовано

Супербестселлер! “SQL. Курс молодого бойца”

SQL. Курс молодого бойца

Изложены основы работы с реляционными базами данных и практическое применение SQL в наиболее востребованных сценариях. Рассмотрены принципы хранения данных, структура таблиц и методы извлечения информации. Подробно описаны операции выборки, фильтрации, сортировки, группировки и агрегации, работа с текстовыми и числовыми данными, обработка дат, использование выражений и условий. Последовательно разобраны механизмы соединения таблиц, особенности различных типов JOIN и способы объединения выборок. Описано создание и изменение таблиц, настройка ограничений, индексов и автоинкрементных полей, а также принципы добавления, обновления и удаления данных. Приведена справочная информация о типах данных, порядке выполнения запросов, планах и статистике, транзакциях и требованиях ACID, а также основах клиент-серверной архитектуры.

Для начинающих специалистов по работе с данными, тестировщиков ПО и специалистов технической поддержки

От автора бестселлера «Что такое тестирование. Курс молодого бойца»

Ольга Назина —  автора бестселлера
«Что такое тестирование. Курс молодого бойца»!

Уникальная книга-тренинг по тестированию программ, охватывающая весь необходимый тестировщику спектр знаний с азов до сложных концепций. Рассматриваются виды и методики тестирования, способы поиска ошибок в программах, оформления тест-кейсов и чек-листов, описания выявленных недостатков и предлагаемых улучшений. Книга содержит домашние задания, выполнив которые читатель освоит тестирование ПО на практике и соберет портфолио, необходимое для последующего трудоустройства.

Художники

Об авторе

 

Назина Ольга

Ольга Назина — генеральный директор обучающего центра ООО «Тестбейз». Тестировщик, тренер и писатель. Автор статей на «Хабре» и бесплатных уроков на YouTube. Создала порталы Багред («Главред» для тестировщиков) и Testbase, на котором собраны полезные материалы по тестированию. Проработала в тестировании 17 лет, 10 из которых активно учила новичков. Провела более 200 курсов для тестировщиков, материал которых послужил основой для этой книги.

Книгу “SQL. Курс молодого бойца” можно купить в нашем интенет-магазине.

Опубликовано

Новинка: “Искусство визуализации в бизнесе. Как представить сложную информацию простыми способами. 2-е издание”

Искусство визуализации в бизнесе. Как представить сложную информацию простыми способами. 2-е издание

Это практическое руководство по превращению данных в понятные и убедительные визуальные истории. Оно охватывает ключевые аспекты работы с информацией: от формулировки вопросов к данным до выбора инструментов и методов визуализации. Показано, как обрабатывать данные, выделять тренды, сравнивать категории и анализировать взаимосвязи. Отдельные главы посвящены визуализации времени, пространства и многомерных данных.

Во второе издание включены новые главы по анализу данных и интерактивной графике, добавлены современные примеры визуализаций, полностью переработан код и инструменты с использованием R, Python и JavaScript, сделан акцент на осмысленные и эффективные визуализации с фокусом на ясность и цель.

Для широкого круга пользователей

Научись создавать визуализации, которые превращают данные в осмысленные истории

Создание  визуализаций — это, прежде всего, работа с данными, иногда огромного  объема.

Эксперт по визуализации данных Натан Яу на пошаговых примерах показывает, как собирать, обрабатывать и форматировать данные, чтобы создавать наглядные диаграммы и графики, раскрывающие их потенциал

Вы узнаете:

  • Как использовать R, Python, Excel и JavaScript для создания визуализаций, которые привлекают внимание и точно передают информацию
  • Как выделять аномалии, находить закономерности в данных, создавать информативные карты и многое другое
  • Как на реальных примерах и практических заданиях прокачать навыки работы с данными

Вы научитесь:

  • Визуализировать данные так, чтобы аудитория увидела неочевидное
  • Находить истории, скрытые в цифрах
  • Исследовать источники данных и выбирать оптимальные форматы для их представления
  • Экспериментировать с инструментами визуализации и сравнивать их
  • Выявлять тренды и паттерны, подбирая подходящие типы графиков
  • Ставить четкие цели для своих визуализаций

Книгу “Искусство визуализации в бизнесе. Как представить сложную информацию простыми способами. 2-е издание” можно купить в нашем интенет-магазине.

Об авторе……………………………………………………………………………………………….. 12

О техническом редакторе……………………………………………………………………….. 13

Благодарности……………………………………………………………………………………….. 14

Введение………………………………………………………………………………………………… 15

Изучение визуализации данных……………………………………………………………………………………………….. 16

Как пользоваться этой книгой………………………………………………………………………………………………….. 17

Глава 1. Данные рассказывают истории………………………………………………… 19

Больше, чем просто числа………………………………………………………………………………………………………… 21

Информативность статистики……………………………………………………………………………………….. 22

Развлечение…………………………………………………………………………………………………………………….. 24

Эмоциональность…………………………………………………………………………………………………………… 25

Увлекательность…………………………………………………………………………………………………………….. 27

Задавайте вопросы о данных…………………………………………………………………………………………………… 28

Верификация данных……………………………………………………………………………………………………… 30

Исследование………………………………………………………………………………………………………………….. 31

Коммуникация………………………………………………………………………………………………………………… 32

Дизайн…………………………………………………………………………………………………………………………………………. 34

Цель………………………………………………………………………………………………………………………………….. 35

Аудитория……………………………………………………………………………………………………………………….. 37

Устройства………………………………………………………………………………………………………………………. 37

Ясность и информативность………………………………………………………………………………………….. 38

Компромиссы………………………………………………………………………………………………………………….. 39

Итоги…………………………………………………………………………………………………………………………………………… 40

Глава 2. Выбор инструмента визуализации данных………………………………. 41

Смешанный набор инструментов…………………………………………………………………………………………….. 43

Визуализация point-and-click……………………………………………………………………………………………………. 44

Варианты………………………………………………………………………………………………………………………… 44

Microsoft Excel………………………………………………………………………………………………………… 44

Google Sheets…………………………………………………………………………………………………………… 46

Tableau…………………………………………………………………………………………………………………….. 48

Looker Studio…………………………………………………………………………………………………………… 49

Power BI…………………………………………………………………………………………………………………… 49

Datawrapper…………………………………………………………………………………………………………….. 50

Flourish…………………………………………………………………………………………………………………….. 51

RAWGraphs……………………………………………………………………………………………………………… 52

Компромиссы………………………………………………………………………………………………………………….. 53

Программирование……………………………………………………………………………………………………………………. 53

Варианты………………………………………………………………………………………………………………………… 54

R……………………………………………………………………………………………………………………………….. 54

Python………………………………………………………………………………………………………………………. 57

Processing…………………………………………………………………………………………………………………. 59

HTML, CSS и JavaScript…………………………………………………………………………………………. 60

MATLAB…………………………………………………………………………………………………………………. 62

Компромиссы………………………………………………………………………………………………………………….. 63

Создание карт…………………………………………………………………………………………………………………………….. 63

Варианты………………………………………………………………………………………………………………………… 64

ArcGIS……………………………………………………………………………………………………………………… 64

QGIS…………………………………………………………………………………………………………………………. 65

Mapbox……………………………………………………………………………………………………………………. 65

Google Карты и Bing Карты…………………………………………………………………………………… 66

Компромиссы………………………………………………………………………………………………………………….. 67

Иллюстрации……………………………………………………………………………………………………………………………… 68

Варианты………………………………………………………………………………………………………………………… 69

Adobe Illustrator………………………………………………………………………………………………………. 70

Affinity Designer………………………………………………………………………………………………………. 71

Inkscape…………………………………………………………………………………………………………………… 72

Компромиссы………………………………………………………………………………………………………………….. 72

Небольшие инструменты для визуализации…………………………………………………………………………… 72

Варианты………………………………………………………………………………………………………………………… 72

ColorBrewer……………………………………………………………………………………………………………… 73

Chroma.js Color Palette Helper……………………………………………………………………………….. 74

Sip…………………………………………………………………………………………………………………………….. 75

Sim Daltonism………………………………………………………………………………………………………….. 75

TwoTone………………………………………………………………………………………………………………….. 76

Data Viz Project……………………………………………………………………………………………………….. 76

FastCharts………………………………………………………………………………………………………………… 78

Компромиссы………………………………………………………………………………………………………………….. 78

Бумага и карандаш……………………………………………………………………………………………………………………. 79

Компромиссы………………………………………………………………………………………………………………….. 79

Изучите все доступные варианты…………………………………………………………………………………………….. 79

Итоги…………………………………………………………………………………………………………………………………………… 81

Глава 3. Работа с данными…………………………………………………………………….. 83

Подготовка данных……………………………………………………………………………………………………………………. 85

Поиск данных…………………………………………………………………………………………………………………………….. 85

Поисковые системы………………………………………………………………………………………………………… 86

Общие приложения для работы с данными…………………………………………………………………. 86

Исследователи………………………………………………………………………………………………………………… 87

Правительственные структуры……………………………………………………………………………………… 87

Каталоги и списки………………………………………………………………………………………………………….. 88

Тематические ссылки……………………………………………………………………………………………………… 88

География……………………………………………………………………………………………………………….. 88

Спорт……………………………………………………………………………………………………………………….. 89

Данные со всего мира…………………………………………………………………………………………….. 89

Политика…………………………………………………………………………………………………………………. 90

Сбор данных………………………………………………………………………………………………………………………………. 90

Копирование и вставка………………………………………………………………………………………………….. 90

Ручной сбор данных………………………………………………………………………………………………………. 92

Скрапинг………………………………………………………………………………………………………………………….. 92

Скрапинг веб-сайта………………………………………………………………………………………………………… 93

Загрузка данных………………………………………………………………………………………………………………………… 99

Форматирование данных………………………………………………………………………………………………………… 100

Форматы данных………………………………………………………………………………………………………….. 100

Электронные таблицы…………………………………………………………………………………………. 100

Текст с разделителями…………………………………………………………………………………………. 101

Текст фиксированной ширины……………………………………………………………………………. 101

JSON………………………………………………………………………………………………………………………. 102

XML……………………………………………………………………………………………………………………….. 102

Shape-файл……………………………………………………………………………………………………………. 103

Инструменты форматирования…………………………………………………………………………………… 104

Приложения для работы с электронными таблицами………………………………………. 104

OpenRefine…………………………………………………………………………………………………………….. 104

Tabula……………………………………………………………………………………………………………………. 105

Mr. Data Converter………………………………………………………………………………………………… 105

Форматирование с помощью программного кода…………………………………………………….. 106

Переключение между форматами данных…………………………………………………………. 107

Обработка данных…………………………………………………………………………………………………………………… 112

Фильтрация и агрегирование выборочных данных……………………………………………………………… 112

Итоги…………………………………………………………………………………………………………………………………………. 114

Глава 4. Визуализация времени……………………………………………………………. 117

Тренды………………………………………………………………………………………………………………………………………. 119

Столбчатая диаграмма с данными времени………………………………………………………………. 120

Создание столбчатой диаграммы………………………………………………………………………. 122

Линейный график………………………………………………………………………………………………………….. 126

Создание линейного графика………………………………………………………………………………………. 127

Ступенчатый график……………………………………………………………………………………………………. 131

Создание ступенчатого графика…………………………………………………………………………………. 132

Сглаживание…………………………………………………………………………………………………………………. 136

Создание графика с помощью сплайна……………………………………………………………………… 136

События……………………………………………………………………………………………………………………………………. 139

Временнáя шкала…………………………………………………………………………………………………………. 141

Создание временнóй шкалы………………………………………………………………………………………… 141

Точечный график………………………………………………………………………………………………………….. 145

Создание точечного графика………………………………………………………………………………………. 145

Редактирование……………………………………………………………………………………………………. 151

Циклы………………………………………………………………………………………………………………………………………… 158

Мультилинейный график…………………………………………………………………………………………….. 158

Создание мультилинейного графика………………………………………………………………………….. 159

Редактирование……………………………………………………………………………………………………. 164

Тепловая карта……………………………………………………………………………………………………………… 164

Создание тепловой карты……………………………………………………………………………………………. 165

Редактирование……………………………………………………………………………………………………. 166

Итоги…………………………………………………………………………………………………………………………………………. 168

Глава 5. Визуализация категориальных данных………………………………….. 169

Суммы……………………………………………………………………………………………………………………………………….. 171

Столбчатая диаграмма для категориальных данных………………………………………………. 173

Создание столбчатой диаграммы для категориальных данных……………………………… 173

Редактирование диаграммы………………………………………………………………………………………… 176

Масштабируемые символы…………………………………………………………………………………………. 179

Использование масштабируемых символов………………………………………………………………. 180

Редактирование диаграммы………………………………………………………………………………………… 185

Части целого…………………………………………………………………………………………………………………………….. 188

Круговая диаграмма…………………………………………………………………………………………………….. 189

Создание круговой диаграммы…………………………………………………………………………………… 191

Кольцевая диаграмма………………………………………………………………………………………………….. 195

Создание кольцевой диаграммы…………………………………………………………………………………. 195

Вафельная диаграмма………………………………………………………………………………………………….. 196

Создание вафельной диаграммы………………………………………………………………………………… 197

Древовидная карта……………………………………………………………………………………………………….. 199

Создание древовидной карты……………………………………………………………………………………… 200

Редактирование диаграммы………………………………………………………………………………………… 202

Ранжирование и упорядочивание………………………………………………………………………………………….. 203

Категории и время……………………………………………………………………………………………………………………. 206

Составная столбчатая диаграмма……………………………………………………………………………… 206

Создание составной столбчатой диаграммы…………………………………………………………….. 208

Форматирование данных…………………………………………………………………………………………….. 208

Создание диаграммы……………………………………………………………………………………………………. 210

Диаграмма суммированных областей……………………………………………………………………….. 212

Создание диаграммы суммированных областей………………………………………………………. 213

Аллювиальная диаграмма…………………………………………………………………………………………… 214

Создание аллювиальной диаграммы…………………………………………………………………………. 215

Бампчарт……………………………………………………………………………………………………………………….. 217

Итоги…………………………………………………………………………………………………………………………………………. 219

Глава 6. Визуализация взаимосвязей……………………………………………………. 221

Корреляция………………………………………………………………………………………………………………………………. 223

Диаграмма рассеяния…………………………………………………………………………………………………… 225

Создание диаграммы рассеяния…………………………………………………………………………………. 225

HTML для создания структуры………………………………………………………………………….. 227

JavaScript для разработки……………………………………………………………………………………. 228

CSS для настройки стилей…………………………………………………………………………………… 235

Пузырьковая диаграмма………………………………………………………………………………………………. 236

Создание пузырьковой диаграммы…………………………………………………………………………….. 237

Отличия в данных……………………………………………………………………………………………………………………. 241

Диаграмма гантелей…………………………………………………………………………………………………….. 242

Созданием диаграммы гантелей…………………………………………………………………………………. 243

Диаграмма различий……………………………………………………………………………………………………. 246

Создание диаграммы различий…………………………………………………………………………………… 248

Выделение различий……………………………………………………………………………………………………. 251

Множество переменных………………………………………………………………………………………………………….. 253

Тепловая карта для множества переменных……………………………………………………………… 254

Создание тепловой карты для множества переменных……………………………………………. 255

Диаграмма с параллельными координатами…………………………………………………………….. 258

Создание диаграммы с параллельными координатами…………………………………………… 259

Раздельные представления………………………………………………………………………………………….. 264

Взаимосвязи……………………………………………………………………………………………………………………………… 264

Сетевая диаграмма………………………………………………………………………………………………………. 265

Создание сетевой диаграммы……………………………………………………………………………………… 266

Итоги…………………………………………………………………………………………………………………………………………. 270

Глава 7. Визуализация пространственных данных………………………………. 271

Работа с пространственными данными…………………………………………………………………………………. 273

Геокодирование адресов……………………………………………………………………………………………… 273

Картографическая проекция……………………………………………………………………………………….. 274

Местоположение……………………………………………………………………………………………………………………… 276

Точки……………………………………………………………………………………………………………………………… 278

Картографирование с помощью точек……………………………………………………………………….. 279

Масштабируемые символы…………………………………………………………………………………………. 284

Добавление масштабируемых символов……………………………………………………………………. 284

Линии…………………………………………………………………………………………………………………………….. 288

Добавление линий………………………………………………………………………………………………………… 288

Пространственное распределение…………………………………………………………………………………………. 292

Хороплет……………………………………………………………………………………………………………………….. 293

Создание хороплета…………………………………………………………………………………………………….. 296

Картограмма…………………………………………………………………………………………………………………. 301

Создание картограммы………………………………………………………………………………………………… 302

Точечная карта плотности распределения………………………………………………………………… 304

Создание точечной карты плотности распределения………………………………………………. 306

Пространство и время……………………………………………………………………………………………………………… 309

Серии карт…………………………………………………………………………………………………………………….. 310

Создание серии карт…………………………………………………………………………………………………….. 310

Добавление аннотации………………………………………………………………………………………… 312

Анимированная карта………………………………………………………………………………………………….. 313

Создание анимированной карты………………………………………………………………………………… 316

Итоги…………………………………………………………………………………………………………………………………………. 318

Глава 8. Визуальный анализ данных……………………………………………………. 321

Сбор информации……………………………………………………………………………………………………………………. 323

Краткие обзоры……………………………………………………………………………………………………………………….. 323

Сводная статистика……………………………………………………………………………………………………… 324

Создание коробчатой диаграммы………………………………………………………………………………. 328

Распределение………………………………………………………………………………………………………………. 333

Создание гистограммы………………………………………………………………………………………………… 336

Создание графика распределения………………………………………………………………………………. 340

Создание диаграммы типа «пчелиный рой»………………………………………………………………. 343

Качество данных………………………………………………………………………………………………………….. 348

Корректировка вопросов……………………………………………………………………………………………… 349

Подробное исследование данных………………………………………………………………………………………….. 349

Сравнение……………………………………………………………………………………………………………………… 350

Закономерности……………………………………………………………………………………………………………. 352

Неопределенность………………………………………………………………………………………………………… 354

Выбросы………………………………………………………………………………………………………………………… 358

Логические выводы………………………………………………………………………………………………………………….. 363

Итоги…………………………………………………………………………………………………………………………………………. 364

Глава 9. Осознанное проектирование…………………………………………………… 365

Хорошая визуализация……………………………………………………………………………………………………………. 367

Безграничные варианты………………………………………………………………………………………………. 368

Компоненты визуализации………………………………………………………………………………………….. 368

Демонстрация полученных прогнозов…………………………………………………………………………………… 371

Визуальная иерархия…………………………………………………………………………………………………… 371

Эстетика………………………………………………………………………………………………………………………… 371

Визуальные метафоры…………………………………………………………………………………………………. 374

Аннотация……………………………………………………………………………………………………………………… 376

Доступность………………………………………………………………………………………………………………….. 378

Итоги…………………………………………………………………………………………………………………………………………. 379

Предметный указатель…………………………………………………………………………. 380

Опубликовано

Встречайте: “Go: разработка приложений в микросервисной архитектуре с нуля”

Go: разработка приложений в микросервисной архитектуре с нуля

Базовая книга по построению микросервисной архитектуры с практическими примерами на языке Go. Также рассмотрена работа с оркестратором Kubernetes и контейнерами Docker в среде Docker Compose. Разобраны основные принципы и техники разработки распределенных систем, в частности показано, как написать и развернуть четыре микросервиса, управлять СУБД, настроить брокер сообщений Kafka, внедрить кэш Redis. Объяснены паттерны проектирования. Особое внимание уделено распределенным транзакциям и разворачиванию микросервисов на удаленном сервере. Показано, как обеспечить расширяемость и отказоустойчивость приложений, поддерживая высокую скорость загрузки страниц и приложений.

Электронный архив на сайте издательства содержит дополнительные материалы к книге.

Для начинающих веб-разработчиков

Микросервисы на Go: осваиваем аккуратную декомпозицию

Современная практика enterprise-разработки и возникающие вызовы связаны, прежде всего, с обеспечением отказоустойчивости и расширяемости приложений. Сложно рассчитывать на реализацию таких качеств без применения микросервисной архитектуры. В книге по порядку рассматривается создание целого приложения с нуля. На материале готового продукта показано, как написать и развернуть четыре микросервиса, управлять СУБД, настроить брокер сообщений Kafka, внедрить кэш Redis и объединить эти решения в среде Docker-Compose и оркестраторе Kubernetes. Все паттерны, актуальные при проектировании микросервисов для веб-архитектуры, разобраны на практических примерах.

Книга интересна в качестве вводной по микросервисам на Golang и будет полезна как начинающим разработчикам, так и архитекторам, занятым модернизацией архитектуры с применением микросервисов.

Вы узнаете, как:

  • разрабатывать микросервисы на языке Go;
  • выстраивать синхронное и асинхронное взаимодействие между микросервисами;
  • выполнять распределенные транзакции;
  • организовать взаимодействие между микросервисами;
  • использовать паттерны проектирования;
  • разворачивать микросервисы в облаке;
  • использовать и настраивать Docker, Docker-Compose;
  • настраивать Kubernetes в удаленной среде.

Книгу “Go: разработка приложений в микросервисной архитектуре с нуля” можно купить в нашем интенет-магазине.

Введение………………………………………………………………………………………………….. 7

Для кого эта книга?……………………………………………………………………………………………………………………… 7

Обзор Golang………………………………………………………………………………………………………………………………… 7

Сравнение монолитной и микросервисной архитектуры………………………………………………………… 9

Список литературы и источников……………………………………………………………………………………………. 11

Глава 1. Разработка первого микросервиса (User)………………………………….. 13

Настройка локального окружения…………………………………………………………………………………………… 13

Редактор кода…………………………………………………………………………………………………………………….. 13

Go…………………………………………………………………………………………………………………………………………. 14

GVM…………………………………………………………………………………………………………………………………….. 17

Установка Protobuf…………………………………………………………………………………………………………….. 18

Git…………………………………………………………………………………………………………………………………………. 19

Codestyle……………………………………………………………………………………………………………………………… 21

Docker и Docker-Compose………………………………………………………………………………………………….. 22

Тестирование API………………………………………………………………………………………………………………. 24

Создание структуры проекта……………………………………………………………………………………………………. 27

Подключение необходимых библиотек…………………………………………………………………………………… 34

Переменные окружения……………………………………………………………………………………………………… 34

Логирование……………………………………………………………………………………………………………………….. 36

ORM…………………………………………………………………………………………………………………………………….. 40

Swagger………………………………………………………………………………………………………………………………… 43

Проектирование базы данных PostgreSQL………………………………………………………………………………. 47

Что такое база данных и какие они бывают?………………………………………………………………….. 47

Нормализация данных………………………………………………………………………………………………………. 48

Первая нормальная форма (1НФ)……………………………………………………………………………. 48

Вторая нормальная форма (2НФ)……………………………………………………………………………. 50

Третья нормальная форма (3НФ)…………………………………………………………………………….. 51

Разработка бизнес-логики и маршрутизации для модуля User……………………………………………… 52

Тестирование микросервиса…………………………………………………………………………………………………….. 79

Список литературы и источников……………………………………………………………………………………………. 86

Глава 2. Разработка микросервиса авторизации и аутентификации (Auth) 87

Теоретический обзор способов авторизации и аутентификации………………………………………….. 87

Аутентификация, идентификация и авторизация……………………………………………………………. 87

Аутентификация по паролю……………………………………………………………………………………………… 88

Аутентификация по сертификатам…………………………………………………………………………………… 89

Аутентификация по одноразовым паролям…………………………………………………………………….. 90

Аутентификация по ключам доступа……………………………………………………………………………….. 91

Аутентификация по токенам……………………………………………………………………………………………… 91

Базовые меры предосторожности от возможных уязвимостей……………………………………………… 93

Переполнение буфера………………………………………………………………………………………………………… 94

Состояние гонки…………………………………………………………………………………………………………………. 94

Атаки проверки ввода………………………………………………………………………………………………………… 94

Атаки аутентификации………………………………………………………………………………………………………. 95

Атаки авторизации…………………………………………………………………………………………………………….. 95

Атаки на стороне клиента…………………………………………………………………………………………………. 96

Разработка модуля Auth……………………………………………………………………………………………………………. 96

Список литературы и источников………………………………………………………………………………………….. 110

Глава 3. Способы взаимодействия между микросервисами………………….. 111

HTTP-протокол………………………………………………………………………………………………………………………… 111

Модель OSI……………………………………………………………………………………………………………………….. 111

Физический уровень……………………………………………………………………………………………….. 112

Канальный уровень………………………………………………………………………………………………… 112

Сетевой уровень……………………………………………………………………………………………………… 113

Транспортный уровень…………………………………………………………………………………………… 113

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

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

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

Устройство HTTP-протокола………………………………………………………………………………………….. 114

Структура HTTP-запроса………………………………………………………………………………………. 115

Cтруктура HTTP-ответа…………………………………………………………………………………………. 116

gRPC………………………………………………………………………………………………………………………………………….. 116

RabbitMQ………………………………………………………………………………………………………………………………….. 120

Apache Kafka……………………………………………………………………………………………………………………………. 123

Redis………………………………………………………………………………………………………………………………………….. 125

Разработка сервиса Gateway………………………………………………………………………………………………….. 126

Список литературы и источников………………………………………………………………………………………….. 156

Глава 4. Разработка модуля Transaction……………………………………………….. 157

Проектирование базы данных………………………………………………………………………………………………… 157

Частная форма третьей нормальной формы: нормальная форма Бойса — Кодда (НФБК)          157

Четвертая нормальная форма…………………………………………………………………………………………. 159

Пятая нормальная форма………………………………………………………………………………………………… 159

Доменно-ключевая нормальная форма………………………………………………………………………….. 160

Шестая нормальная форма……………………………………………………………………………………………… 160

Понятия миграций и транзакций в контексте базы данных PostgreSQL……………………………… 161

Миграции………………………………………………………………………………………………………………………….. 161

Индексы…………………………………………………………………………………………………………………………….. 163

Транзакции……………………………………………………………………………………………………………………….. 166

ACID…………………………………………………………………………………………………………………………. 166

Параллельные транзакции…………………………………………………………………………………….. 167

Уровни изоляции транзакций в SQL……………………………………………………………………… 168

Разработка модуля Transaction………………………………………………………………………………………………. 169

Интеграция Transaction и Account………………………………………………………………………………………….. 187

Проблема распределенных транзакций………………………………………………………………………………… 227

Двухфазная фиксация………………………………………………………………………………………………………. 228

Saga……………………………………………………………………………………………………………………………………. 229

Реализация паттерна Saga……………………………………………………………………………………… 231

Список литературы и источников………………………………………………………………………………………….. 265

Глава 5. Развертывание микросервисов……………………………………………….. 267

Обертывание микросервисов в docker-контейнеры………………………………………………………………. 294

Масштабирование при помощи оркестратора Kubernetes………………………………………………….. 306

Заключение………………………………………………………………………………………………………………………………. 311

Список литературы и источников………………………………………………………………………………………….. 311

Приложение. Описание файлового архива…………………………………………… 313

Предметный указатель…………………………………………………………………………. 315

Опубликовано

Новинка: “Python. Уроки для начинающих”

Python. Уроки для начинающих

В книге 22 урока, более 40 практических упражнений и заданий для самостоятельной работы. Описан язык Python: его основы, типы данных, управляющие выражения, функции, объекты, классы, исключения, модули и пакеты. Рассмотрены более развитые инструменты языка: установка и применение дополнительных библиотек, многопоточное, многопроцессное и конкурентное программирование, аннотации типов. Рассказано о практическом применении Python и различных библиотек для загрузки данных из Интернета, парсинга веб-страниц, работы с базами данных, программирования графических и веб-приложений, математических расчетов, вывода графиков и работы с искусственным интеллектом.  Электронный архив на сайте издательства  содержит все примеры из книги.

Для начинающих программистов

Ваш путь от новичка к Python-разработчику начинается здесь!

Перед вами — идеальный старт в мир программирования!

Книга Владимира Дронова, автора более 50 популярных компьютерных руководств, написана специально для тех, кто делает первые шаги в коде. Она превратит сложные концепции в понятные и наглядные уроки, не перегружая лишней теорией.

22 урока, 40+ практических упражнений — и вы с нуля освоите мощный язык Python, на котором создаются веб-сайты, приложения, аналитические инструменты и решения с искусственным интеллектом.

Чему вы научитесь:

  • Писать чистый и эффективный код на Python с самого начала.
  • Работать с базами данных, парсить информацию из интернета и строить графики.
  • Создавать графические приложения и основы веб-разработки.
  • Использовать многопоточность для решения сложных задач.
  • Интегрировать возможности искусственного интеллекта в свои проекты.

Почему именно эта книга?

  • Проверенный автор: Владимир Дронов — практикующий программист с 1987 года, умеющий объяснять просто о сложном.
  • Структура «от простого к сложному»: Пошаговые уроки и задания для закрепления материала.
  • Практика с первого дня: Все примеры из книги доступны в электронном архиве для скачивания.
  • Актуальность: Рассмотрены современные подходы, включая аннотации типов, конкурентное программирование и работу с AI.

Для кого эта книга:

  • Для абсолютных новичков в программировании.
  • Для студентов IT-направлений, ищущих понятное пособие.
  • Для специалистов из других областей, желающих автоматизировать задачи.
  • Для всех, кто хочет освоить востребованный язык и открыть двери в мир разработки.

 

Дронов Владимир Александрович

Дронов Владимир Александрович, профессиональный программист, писатель и журналист, работает с компьютерами с 1987 года. Автор более 30 популярных компьютерных книг, в том числе «Django 2.1. Практика создания веб-сайтов на Python», “HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера“, «Python 3. Самое необходимое», «Python 3 и PyQt 5. Разработка приложений», “Laravel. Быстрая разработка современных динамических Web-сайтов на PHP, MySQL, HTML и CSS“, “Angular 4. Быстрая разработка сверхдинамических Web-сайтов на TypeScript и PHP” и книг по продуктам Adobe Flash и Adobe Dreamweaver различных версий. Его статьи публикуются в журналах “Мир ПК” и “ИнтерФейс” (Израиль) и интернет-порталах “IZ City” и “TheVista.ru”.

Книгу “Python. Уроки для начинающих” можно купить в нашем интенет-магазине.

Предисловие…………………………………………………………………………………………… 13

Почему именно Python?…………………………………………………………………………………………………………….. 13

Почему эта книга?……………………………………………………………………………………………………………………… 14

Использованные программные продукты……………………………………………………………………………….. 14

Типографские соглашения………………………………………………………………………………………………………… 15

Часть I. Язык Python: основные инструменты………………….. 17

Урок 1. Введение в Python, часть 1…………………………………………………………. 19

1.1. Интерактивный режим Python……………………………………………………………………………………………. 19

1.2. Операторы. Приоритет операторов. Скобки……………………………………………………………………. 20

1.3. Функции……………………………………………………………………………………………………………………………….. 23

1.4. Переменные. Присваивание……………………………………………………………………………………………….. 24

1.5. Типы данных……………………………………………………………………………………………………………………….. 26

1.5.1. Числа — целые и вещественные………………………………………………………………………………. 26

1.5.2. Строки………………………………………………………………………………………………………………………… 27

1.5.3. Списки………………………………………………………………………………………………………………………… 28

1.5.4. Кортежи……………………………………………………………………………………………………………………… 29

1.5.5. Словари……………………………………………………………………………………………………………………… 29

1.6. Стандартная библиотека. Модули. Импорт…………………………………………………………………….. 30

1.7. Объекты и классы……………………………………………………………………………………………………………….. 32

1.7.1. Введение в объекты и классы…………………………………………………………………………………… 32

1.7.2. Объектная природа Python………………………………………………………………………………………. 33

1.8. Программные ошибки и сообщения о них………………………………………………………………………… 34

1.9. Что еще следует знать о Python в целом, часть 1…………………………………………………………….. 35

Урок 2. Введение в Python, часть 2…………………………………………………………. 38

2.1. Работа с данными разных типов……………………………………………………………………………………….. 38

2.1.1. Выяснение типа данных, к которому относится значение……………………………………. 38

2.1.2. Преобразование значения в другой тип данных……………………………………………………. 39

2.2. Написание программ на Python………………………………………………………………………………………… 39

2.2.1. Ввод данных……………………………………………………………………………………………………………… 40

2.2.2. Вывод данных…………………………………………………………………………………………………………… 40

2.2.3. Написание программ в среде IDLE Shell………………………………………………………………… 41

2.2.4. Альтернативные инструменты для написания программ……………………………………… 44

2.2.5. Комментарии…………………………………………………………………………………………………………….. 45

2.2.6. Правила набора программного кода на Python…………………………………………………….. 45

2.2.7. Сообщения об ошибках в коде программ……………………………………………………………….. 47

2.3. Что еще следует знать о Python в целом, часть 2…………………………………………………………….. 47

Урок 3. Логический тип данных, управляющие выражения и блоки…….. 49

3.1. Логический тип данных……………………………………………………………………………………………………… 49

3.1.1. Введение в логический тип. Операторы сравнения. Условия……………………………….. 49

3.1.2. Логические операторы……………………………………………………………………………………………… 50

3.2. Выражение ветвления…………………………………………………………………………………………………………. 51

3.3. Блоки. Пустой оператор…………………………………………………………………………………………………….. 53

3.3.1. Как набираются выражения, содержащие блоки?………………………………………………… 54

3.4. Выражение выбора…………………………………………………………………………………………………………….. 55

3.5. Циклы. Цикл с условием……………………………………………………………………………………………………… 56

3.6. Управление циклами…………………………………………………………………………………………………………… 58

3.6.1. Переход на следующую итерацию…………………………………………………………………………. 58

3.6.2. Прерывание цикла…………………………………………………………………………………………………….. 58

3.7. Автоматическое преобразование типов в условиях управляющих выражений…………… 59

3.8. Оператор присваивания в составе выражения…………………………………………………………………. 59

3.9. Что еще следует знать о блоках и не только…………………………………………………………………….. 60

3.10. Самостоятельные упражнения………………………………………………………………………………………… 61

Урок 4. Числа и строки………………………………………………………………………….. 62

4.1. Числа — целые и вещественные………………………………………………………………………………………… 62

4.1.1. Запись чисел……………………………………………………………………………………………………………… 62

4.1.2. Преобразование значений в числа………………………………………………………………………….. 63

4.1.3. Обработка чисел……………………………………………………………………………………………………….. 64

4.1.3.1. Арифметические операции…………………………………………………………………………. 64

4.1.3.2. Алгебраические и тригонометрические операции……………………………………. 65

4.1.3.3. Генерирование псевдослучайных чисел…………………………………………………… 66

4.1.4. Сравнение чисел……………………………………………………………………………………………………….. 67

4.1.5. Потери точности при вычислении…………………………………………………………………………… 68

4.2. Строки………………………………………………………………………………………………………………………………….. 68

4.2.1. Создание строк………………………………………………………………………………………………………….. 68

4.2.1.1. Специальные символы………………………………………………………………………………… 69

4.2.2. Преобразование значений в строки………………………………………………………………………… 70

4.2.3. Обработка строк……………………………………………………………………………………………………….. 70

4.2.3.1. Извлечение символов, срезов и перебор. Цикл перебора…………………………. 70

4.2.3.2. Простейшие операции над строками…………………………………………………………. 72

4.2.3.3. Преобразование строк………………………………………………………………………………… 72

4.2.3.4. Поиск и замена в строках……………………………………………………………………………. 74

4.2.4. Сравнение строк……………………………………………………………………………………………………….. 75

4.2.5. Форматируемые строки……………………………………………………………………………………………. 75

4.3. Последовательности…………………………………………………………………………………………………………… 78

4.4. Что еще нужно знать о строках и не только……………………………………………………………………… 79

4.5. Самостоятельные упражнения………………………………………………………………………………………….. 81

Урок 5. Списки, кортежи, генераторы и словари……………………………………. 82

5.1. Списки………………………………………………………………………………………………………………………………….. 82

5.1.1. Создание списков……………………………………………………………………………………………………… 82

5.1.2. Обработка списков……………………………………………………………………………………………………. 82

5.1.2.1. Простейшие операции над списками…………………………………………………………. 82

5.1.2.2. Добавление и удаление элементов списка………………………………………………… 84

5.1.2.3. Обработка элементов списка……………………………………………………………………… 85

5.1.2.4. Поиск элементов в списках…………………………………………………………………………. 86

5.1.2.5. Выдача элементов списков, выбранных псевдослучайным образом…….. 87

5.1.3. Сравнение списков……………………………………………………………………………………………………. 88

5.1.4. Списковые включения………………………………………………………………………………………………. 88

5.2. Кортежи……………………………………………………………………………………………………………………………….. 89

5.2.1. Создание кортежей…………………………………………………………………………………………………… 89

5.2.2. Работа с кортежами………………………………………………………………………………………………….. 89

5.2.3. Именованные кортежи……………………………………………………………………………………………… 90

5.3. Распаковка последовательностей……………………………………………………………………………………… 91

5.3.1. Пара слов о множественном присваивании и множественном выводе………………… 93

5.4. Генераторы………………………………………………………………………………………………………………………….. 93

5.4.1. Генераторы-функции………………………………………………………………………………………………… 93

5.4.2. Генераторы-выражения……………………………………………………………………………………………. 95

5.5. Словари……………………………………………………………………………………………………………………………….. 95

5.5.1. Создание словарей……………………………………………………………………………………………………. 95

5.5.2. Обработка словарей…………………………………………………………………………………………………. 96

5.5.2.1. Простейшие операции над словарями………………………………………………………. 96

5.5.2.2. Добавление, извлечение и удаление элементов словаря…………………………. 97

5.5.2.3. Перебор элементов словаря……………………………………………………………………….. 98

5.5.3. Сравнение словарей……………………………………………………………………………………………….. 100

5.5.4. Словарные включения……………………………………………………………………………………………. 100

5.5.5. Словари со значением по умолчанию defaultdict……………………………………………….. 101

5.6. Отображения……………………………………………………………………………………………………………………… 101

5.7. Особенности хранения значений в переменных. Ссылки……………………………………………… 102

5.8. Копирование списков, кортежей и словарей………………………………………………………………….. 103

5.9. Что еще нужно знать о генераторах и не только……………………………………………………………. 104

5.10. Самостоятельные упражнения………………………………………………………………………………………. 105

Урок 6. Функции………………………………………………………………………………….. 106

6.1. Вызов функций………………………………………………………………………………………………………………….. 106

6.1.1. Виды параметров функций…………………………………………………………………………………….. 106

6.1.2. Распаковка последовательностей и отображений в вызовах функций……………… 107

6.2. Объявление своих функций………………………………………………………………………………………………. 108

6.2.1. Объявление функции………………………………………………………………………………………………. 108

6.2.2. Доступ к глобальным переменным из тела функции…………………………………………… 109

6.2.3. Необязательные параметры………………………………………………………………………………….. 110

6.2.4. Произвольное количество параметров…………………………………………………………………. 111

6.2.5. Строго позиционные, строго именованные и двоякие параметры…………………….. 112

6.3. Функция как значение………………………………………………………………………………………………………. 114

6.3.1. Разные функции и методы, принимающие с параметрами другие функции……… 114

6.4. Лямбда-функции……………………………………………………………………………………………………………….. 116

6.5. Вложенные функции…………………………………………………………………………………………………………. 117

6.5.1. Замыкания. Фабрики функций……………………………………………………………………………….. 118

6.6. Декораторы функций………………………………………………………………………………………………………… 120

6.7. Сообщения об ошибках в телах функций. Стек вызовов………………………………………………. 122

6.8. Что еще нужно знать о функциях…………………………………………………………………………………….. 123

6.9. Самостоятельное упражнение…………………………………………………………………………………………. 124

Урок 7. Классы и объекты……………………………………………………………………. 125

7.1. Объекты……………………………………………………………………………………………………………………………… 125

7.1.1. Создание объектов………………………………………………………………………………………………….. 125

7.1.2. Обращение к атрибутам и вызов методов…………………………………………………………….. 125

7.1.3. Объектные и классовые атрибуты и методы………………………………………………………… 126

7.2. Классы……………………………………………………………………………………………………………………………….. 127

7.2.1. Объявление класса………………………………………………………………………………………………….. 127

7.2.2. Конструктор и деструктор…………………………………………………………………………………….. 128

7.2.3. Наследование классов……………………………………………………………………………………………. 130

7.2.3.1. Объявление производного класса……………………………………………………………. 130

7.2.3.2. Перекрытие и переопределение методов………………………………………………… 131

7.2.3.3. Множественное наследование…………………………………………………………………. 133

7.2.3.4. Указание декораторов функций у методов……………………………………………… 134

7.2.4. Классовые атрибуты и методы. Статические методы………………………………………… 134

7.2.5. Закрытые атрибуты и методы……………………………………………………………………………….. 135

7.2.6. Свойства………………………………………………………………………………………………………………….. 136

7.2.7. Добавленные атрибуты………………………………………………………………………………………….. 138

7.2.7.1. Ограничение набора создаваемых атрибутов……………………………………….. 138

7.2.8. Вложенные классы…………………………………………………………………………………………………. 139

7.2.9. Класс как значение…………………………………………………………………………………………………. 140

7.3. Декораторы классов…………………………………………………………………………………………………………. 140

7.4. Что еще нужно знать об объектах и классах………………………………………………………………….. 141

7.5. Самостоятельные упражнения………………………………………………………………………………………… 142

Урок 8. Модули и пакеты…………………………………………………………………….. 143

8.1. Модули. Импорт и подключение…………………………………………………………………………………….. 143

8.1.1. Использование сущностей из другого модуля……………………………………………………… 143

8.1.1.1. Импорт сущностей…………………………………………………………………………………….. 143

8.1.1.2. Подключение модулей………………………………………………………………………………. 144

8.1.2. Указание сущностей, доступных извне………………………………………………………………… 145

8.1.3. Создание своих модулей………………………………………………………………………………………… 145

8.2. Пакеты……………………………………………………………………………………………………………………………….. 146

8.2.1. Создание пакетов……………………………………………………………………………………………………. 146

8.2.2. Импорт и подключение из пакетов. Пути сущностей………………………………………….. 146

8.3. Что еще нужно знать о модулях, импорте и подключении……………………………………………. 148

8.4. Самостоятельное упражнение…………………………………………………………………………………………. 149

Урок 9. Исключения и их обработка. Обработчики контекстов…………… 150

9.1. Исключения……………………………………………………………………………………………………………………….. 150

9.1.1. Введение в исключения………………………………………………………………………………………….. 150

9.1.2. Обработка исключений………………………………………………………………………………………….. 151

9.1.3. Возбуждение исключений……………………………………………………………………………………… 153

9.1.4. Объявление своих исключений……………………………………………………………………………… 154

9.2. Обработчики контекстов………………………………………………………………………………………………….. 154

Часть II. Язык Python: расширенные инструменты……….. 157

Урок 10. Функции и классы особой функциональности………………………. 159

10.1. Создание генераторов-функций…………………………………………………………………………………….. 159

10.2. Dunder-методы и их использование………………………………………………………………………………. 160

10.2.1. Преобразование объектов в другие типы данных……………………………………………. 161

10.2.2. Поддержка арифметических операций с объектами.
Перегрузка операторов………………………………………………………………………………………. 162

10.2.3. Поддержка операций сравнения……………………………………………………………………….. 164

10.2.4. Создание своих итераторов……………………………………………………………………………….. 164

10.2.5. Создание своих последовательностей……………………………………………………………… 166

10.2.6. Создание своих отображений……………………………………………………………………………. 167

10.2.7. Прочие dunder-методы……………………………………………………………………………………….. 168

10.3. Написание менеджеров контекста………………………………………………………………………………… 170

10.3.1. Функции-менеджеры контекста…………………………………………………………………………. 170

10.3.2. Классы-менеджеры контекста…………………………………………………………………………… 171

10.4. Перечисления………………………………………………………………………………………………………………….. 172

10.5. Что еще нужно знать о классах особой функциональности……………………………………….. 175

10.6. Самостоятельные упражнения………………………………………………………………………………………. 176

Урок 11. Регулярные выражения………………………………………………………….. 177

11.1. Создание регулярных выражений…………………………………………………………………………………. 177

11.2. Написание регулярных выражений………………………………………………………………………………. 177

11.2.1. Метасимволы………………………………………………………………………………………………………. 178

11.2.2. Поднаборы…………………………………………………………………………………………………………… 178

11.2.3. Вариант……………………………………………………………………………………………………………….. 179

11.2.4. Квантификаторы…………………………………………………………………………………………………. 179

11.2.5. Утверждения………………………………………………………………………………………………………… 180

11.2.6. Группы…………………………………………………………………………………………………………………. 181

11.2.7. Обычные символы………………………………………………………………………………………………. 182

11.2.8. Флаги……………………………………………………………………………………………………………………. 182

11.2.9. Тестирование регулярных выражений……………………………………………………………… 183

11.3. Использование регулярных выражений……………………………………………………………………….. 184

11.3.1. Поиск первого совпадения…………………………………………………………………………………. 184

11.3.2. Поиск всех совпадений……………………………………………………………………………………….. 186

11.3.3. Прочие случаи использования…………………………………………………………………………… 186

11.4. Что еще нужно знать о регулярных выражениях и не только…………………………………….. 188

11.5. Самостоятельные упражнения………………………………………………………………………………………. 188

Урок 12. Установка и использование дополнительных библиотек……….. 189

12.1. Работа с дополнительными библиотеками. Утилита pip……………………………………………. 189

12.2. Библиотека Pillow: работа с графикой………………………………………………………………………….. 191

12.3. Программа для создания графических миниатюр, версия 1.0……………………………………. 192

12.4. Модуль argparse: обработка командных ключей……………………………………………………….. 194

12.4.1. Введение в командные ключи и их обработка…………………………………………………. 194

12.4.2. Создание объекта обработчика командных ключей………………………………………. 195

12.4.3. Описание командных ключей……………………………………………………………………………. 196

12.4.4. Обработка командных ключей………………………………………………………………………….. 198

12.5. Программа для создания графических миниатюр, версия 2.0……………………………………. 199

12.6. Что еще нужно знать о дополнительных библиотеках……………………………………………….. 201

12.7. Самостоятельные упражнения………………………………………………………………………………………. 202

Урок 13. Многопоточное и многопроцессное программирование…………. 203

13.1. Многопоточное программирование……………………………………………………………………………… 203

13.1.1. Введение в потоки. Глобальная блокировка интерпретатора……………………….. 203

13.1.2. Создание потоков……………………………………………………………………………………………….. 204

13.1.3. Блокировки………………………………………………………………………………………………………….. 206

13.1.4. Программа для создания графических миниатюр, версия 3.0………………………… 207

13.1.5. Очереди………………………………………………………………………………………………………………… 209

13.1.6. Программа для создания графических миниатюр, версия 3.1………………………… 211

13.2. Многопроцессное программирование………………………………………………………………………….. 213

13.2.1. Процессы и работа с ними…………………………………………………………………………………. 213

13.2.2. Программа для создания графических миниатюр, версия 4.0………………………… 214

13.3. Что еще нужно знать о потоках и процессах……………………………………………………………….. 215

13.4. Самостоятельные упражнения………………………………………………………………………………………. 216

Урок 14. Конкурентное программирование………………………………………….. 217

14.1. Сопрограммы………………………………………………………………………………………………………………….. 217

14.1.1. Введение в сопрограммы. Фьючеры………………………………………………………………….. 217

14.1.2. Сопрограммы-методы………………………………………………………………………………………… 220

14.1.2.1. Асинхронные итераторы. Цикл перебора с приостановкой……………. 220

14.1.2.2. Асинхронные менеджеры контекста.
Асинхронный обработчик контекста…………………………………………………. 221

14.1.3. Сопрограммы-генераторы…………………………………………………………………………………. 222

14.2. Задачи……………………………………………………………………………………………………………………………… 222

14.2.1. Создание и выполнение задач…………………………………………………………………………… 222

14.2.2. Одновременный запуск задач……………………………………………………………………………. 223

14.2.3. Группы задач………………………………………………………………………………………………………. 224

14.2.4. Прерывание задач………………………………………………………………………………………………. 225

14.3. Асинхронные очереди……………………………………………………………………………………………………. 226

14.4. Библиотека aiofiles: конкурентная работа с файлами………………………………………………… 226

14.5. Программа для создания графических миниатюр, версия 5.0……………………………………. 227

14.6. Самостоятельные упражнения………………………………………………………………………………………. 230

Урок 15. Аннотации типов и документирование кода. Датаклассы……… 231

15.1. Аннотации типов и их применение……………………………………………………………………………….. 231

15.1.1. Написание аннотаций типов……………………………………………………………………………… 231

15.1.1.1. Указание типов в аннотациях…………………………………………………………….. 232

15.1.1.2. Указание типов элементов у списков и кортежей…………………………….. 233

15.1.1.3. Указание типов элементов у последовательностей и отображений
произвольных типов……………………………………………………………………………. 234

15.1.1.4. Указание типов у функций, присваиваемых переменным……………….. 235

15.1.1.5. Указание типов у фьючеров……………………………………………………………….. 235

15.1.1.6. Указание типов значений, выдаваемых генераторами-функциями… 236

15.1.1.7. Обобщенные типы……………………………………………………………………………….. 237

15.1.2. Получение аннотаций, заданных у функций и методов………………………………….. 237

15.2. Строки документирования…………………………………………………………………………………………….. 238

15.3. Датаклассы……………………………………………………………………………………………………………………… 241

15.3.1. Простейшие датаклассы…………………………………………………………………………………….. 241

15.3.2. Более сложные датаклассы……………………………………………………………………………….. 243

15.4. Что еще нужно знать об аннотациях типов………………………………………………………………….. 245

15.5. Самостоятельное упражнение………………………………………………………………………………………. 245

Часть III. Практическое Python-программирование……… 247

Урок 16. Загрузка и анализ данных из Интернета………………………………… 249

16.1. Библиотека requests: загрузка файлов из Интернета…………………………………………………… 249

16.1.1. Requests: отправка клиентских запросов………………………………………………………….. 249

16.1.2. Requests: обработка полученных серверных ответов…………………………………….. 251

16.1.3. Requests: загрузка больших файлов………………………………………………………………….. 252

16.2. Библиотека Beautiful Soup: парсинг веб-страниц……………………………………………………….. 253

16.2.1. Подготовка к парсингу веб-страницы……………………………………………………………….. 253

16.2.2. Навигация по структуре узлов веб-страницы………………………………………………….. 254

16.2.3. Получение сведений об узле………………………………………………………………………………. 256

16.2.4. Поиск узлов………………………………………………………………………………………………………….. 257

16.2.5. Программа, выводящая заголовки статей на веб-сайте 3DNews.ru……………….. 262

16.2.6. Программа, сохраняющая изображения с заданной веб-страницы,
версия 1.0……………………………………………………………………………………………………………… 263

16.3. Библиотека aiohttp: конкурентная загрузка файлов……………………………………………………. 266

16.3.1. Aiohttp: отправка клиентских запросов……………………………………………………………. 267

16.3.2. Aiohttp: обработка серверных ответов……………………………………………………………… 267

16.3.3. Aiohttp: загрузка больших файлов…………………………………………………………………….. 268

16.3.4. Программа, сохраняющая изображения с заданной веб-страницы,
версия 2.0……………………………………………………………………………………………………………… 269

16.4. Самостоятельные упражнения………………………………………………………………………………………. 271

Урок 17. Разработка веб-приложений, часть 1……………………………………… 272

17.1. Основы библиотеки NiceGUI………………………………………………………………………………………….. 272

17.1.1. Страницы и маршруты……………………………………………………………………………………….. 272

17.1.2. Запуск и остановка веб-приложения…………………………………………………………………. 274

17.1.3. Создание гиперссылок……………………………………………………………………………………….. 275

17.1.4. Параметризованные маршруты и URL-параметры…………………………………………. 276

17.1.5. Обработка событий…………………………………………………………………………………………….. 277

17.1.6. Функция run(), запускающая веб-приложение…………………………………………………. 279

17.2. Основные элементы страниц…………………………………………………………………………………………. 280

17.2.1. Надпись……………………………………………………………………………………………………………….. 280

17.2.2. Графический элемент…………………………………………………………………………………………. 280

17.2.3. Гиперссылка………………………………………………………………………………………………………… 280

17.2.4. Текст в формате Markdown………………………………………………………………………………… 281

17.2.5. Аудиоролик…………………………………………………………………………………………………………. 282

17.2.6. Видеоролик………………………………………………………………………………………………………….. 283

17.2.7. Фрагмент программного кода……………………………………………………………………………. 283

17.3. Разметочные элементы…………………………………………………………………………………………………… 284

17.3.1. Блок-строка…………………………………………………………………………………………………………. 284

17.3.2. Блок-колонка……………………………………………………………………………………………………….. 284

17.3.3. Разделитель…………………………………………………………………………………………………………. 285

17.3.4. Блок-сетка……………………………………………………………………………………………………………. 285

17.3.5. Спойлер……………………………………………………………………………………………………………….. 286

17.3.6. Быстрая разметка страниц…………………………………………………………………………………. 288

17.4. Если вы знаете HTML и CSS………………………………………………………………………………………….. 290

17.4.1. Создание произвольных HTML-элементов………………………………………………………. 290

17.4.2. Указание стилевых классов и встроенных CSS-стилей…………………………………… 291

17.4.3. Обработка событий DOM…………………………………………………………………………………… 292

17.5. Статические и выгруженные файлы……………………………………………………………………………… 292

17.6. Веб-приложение фотогалереи, версия 1.0…………………………………………………………………….. 293

17.7. Что еще нужно знать о NiceGUI, часть 1………………………………………………………………………. 296

17.8. Самостоятельные упражнения………………………………………………………………………………………. 297

Урок 18. Работа с базами данных…………………………………………………………. 298

18.1. Введение в реляционные базы данных…………………………………………………………………………. 298

18.2. Библиотека Tortoise ORM: удобная работа с базами данных……………………………………. 299

18.3. Модели…………………………………………………………………………………………………………………………….. 299

18.3.1. Объявление моделей…………………………………………………………………………………………… 300

18.3.2. Настройки, поддерживаемые всеми полями…………………………………………………….. 300

18.3.3. Типы полей………………………………………………………………………………………………………….. 301

18.3.4. Создание межтабличных связей………………………………………………………………………… 302

18.3.5. Настройки самой модели…………………………………………………………………………………… 303

18.4. Соединение с базой данных и инициализация схемы…………………………………………………. 304

18.5. Запись данных………………………………………………………………………………………………………………… 305

18.5.1. Создание записей………………………………………………………………………………………………… 305

18.5.2. Правка записей……………………………………………………………………………………………………. 306

18.5.3. Удаление записей……………………………………………………………………………………………….. 307

18.6. Выборка данных…………………………………………………………………………………………………………….. 307

18.6.1. Поиск записи……………………………………………………………………………………………………….. 307

18.6.2. Извлечение значений из полей записи………………………………………………………………. 308

18.6.3. Фильтрация записей. Наборы записей……………………………………………………………… 308

18.6.3.1. Модификаторы…………………………………………………………………………………….. 309

18.6.4. Сортировка записей……………………………………………………………………………………………. 311

18.6.5. Извлечение первой и последней записей………………………………………………………….. 311

18.6.6. Извлечение заданного количества записей………………………………………………………. 312

18.6.7. Извлечение всех записей…………………………………………………………………………………….. 312

18.6.8. Проверка существования записей……………………………………………………………………… 312

18.6.9. Извлечение связанных записей………………………………………………………………………….. 313

18.6.10. Извлечение записей в виде списка словарей………………………………………………….. 314

18.7. Закрытие соединения с базой данных………………………………………………………………………….. 314

18.8. Интеграция Tortoise ORM и NiceGUI…………………………………………………………………………….. 315

18.9. Веб-приложение фотогалереи, версия 2.0…………………………………………………………………….. 315

18.9.1. Модели пользователя и изображения……………………………………………………………….. 315

18.9.2. База данных веб-приложения……………………………………………………………………………. 317

18.9.3. Вывод изображений из базы данных………………………………………………………………… 317

18.10. Что еще нужно знать о библиотеке Tortoise ORM……………………………………………………… 319

18.11. Самостоятельные упражнения……………………………………………………………………………………. 320

Урок 19. Разработка веб-приложений, часть 2……………………………………… 321

19.1. Элементы управления…………………………………………………………………………………………………….. 321

19.1.1. Кнопка………………………………………………………………………………………………………………….. 321

19.1.2. Поле ввода…………………………………………………………………………………………………………… 321

19.1.3. Область редактирования……………………………………………………………………………………. 322

19.1.4. Флажок…………………………………………………………………………………………………………………. 322

19.1.5. Набор переключателей………………………………………………………………………………………. 323

19.1.6. Раскрывающийся список……………………………………………………………………………………. 323

19.1.7. Поле для ввода числа…………………………………………………………………………………………. 325

19.1.8. Регулятор……………………………………………………………………………………………………………… 326

19.1.9. Поле для выбора файлов……………………………………………………………………………………. 326

19.2. Хранилища данных NiceGUI…………………………………………………………………………………………. 328

19.3. Хеширование паролей……………………………………………………………………………………………………. 329

19.4. Веб-приложение фотогалереи, версия 3.0…………………………………………………………………….. 330

19.4.1. Верхнее меню и секретный ключ………………………………………………………………………. 330

19.4.2. Страницы входа и выхода…………………………………………………………………………………. 331

19.4.3. Страница пользовательского профиля……………………………………………………………… 333

19.4.4. Страницы добавления и удаления изображений…………………………………………….. 335

19.5. Что еще нужно знать о библиотеке NiceGUI, часть 2………………………………………………….. 338

19.6. Самостоятельное упражнение………………………………………………………………………………………. 338

Урок 20. Разработка графических приложений……………………………………. 339

20.1. Библиотека Toga: разработка графических приложений…………………………………………… 339

20.2. Основы библиотеки Toga……………………………………………………………………………………………….. 339

20.2.1. Окна и контейнеры……………………………………………………………………………………………… 339

20.2.2. Обработка событий…………………………………………………………………………………………….. 341

20.2.3. Оформление приложения. Стили……………………………………………………………………….. 342

20.2.4. Запуск и останов приложения……………………………………………………………………………. 343

20.3. Простейшие элементы окон…………………………………………………………………………………………… 344

20.3.1. Свойства и методы, поддерживаемые всеми элементами окон………………………. 344

20.3.2. Надпись……………………………………………………………………………………………………………….. 345

20.3.3. Поле ввода…………………………………………………………………………………………………………… 345

20.3.4. Область редактирования……………………………………………………………………………………. 345

20.3.5. Флажок…………………………………………………………………………………………………………………. 346

20.3.6. Кнопка………………………………………………………………………………………………………………….. 346

20.3.7. Графический элемент…………………………………………………………………………………………. 347

20.3.8. Поле для ввода целого числа…………………………………………………………………………….. 347

20.3.9. Поле для ввода пароля……………………………………………………………………………………….. 348

20.3.10. Регулятор…………………………………………………………………………………………………………… 348

20.4. Модели и списки……………………………………………………………………………………………………………… 349

20.4.1. Модели…………………………………………………………………………………………………………………. 349

20.4.2. Списковые элементы управления……………………………………………………………………… 351

20.4.2.1. Раскрывающийся список…………………………………………………………………….. 351

20.4.2.2. Таблица………………………………………………………………………………………………… 352

20.5. Контейнеры……………………………………………………………………………………………………………………… 353

20.5.1. Стопка………………………………………………………………………………………………………………….. 353

20.5.2. Блокнот с вкладками…………………………………………………………………………………………… 354

20.5.3. Панель с прокруткой…………………………………………………………………………………………… 355

20.6. Задание стилей у элементов окон…………………………………………………………………………………. 356

20.7. Управление окнами………………………………………………………………………………………………………… 358

20.7.1. Задание главного окна приложения………………………………………………………………….. 358

20.7.2. Создание вторичных окон………………………………………………………………………………….. 360

20.7.3. Вывод стандартных модальных окон………………………………………………………………. 363

20.8. Интеграция библиотек Toga и Tortoise ORM………………………………………………………………… 364

20.9. Что еще нужно знать о библиотеке Toga………………………………………………………………………. 364

20.10. Самостоятельные упражнения……………………………………………………………………………………. 365

Урок 21. Математика……………………………………………………………………………. 366

21.1. Библиотека Matplotlib: вывод графиков……………………………………………………………………….. 366

21.1.1. Основные принципы Matplotlib………………………………………………………………………….. 366

21.1.1.1. Вывод простого графика…………………………………………………………………….. 366

21.1.1.2. Вывод двух графиков на одних координатных осях……………………….. 368

21.1.1.3. Вывод двух графиков на разных координатных осях……………………… 369

21.1.1.4. Настройка графиков……………………………………………………………………………. 370

21.1.2. Создание координатных осей……………………………………………………………………………. 372

21.1.3. Рисование графиков разных типов……………………………………………………………………. 373

21.1.4. Вывод и оформление графиков………………………………………………………………………….. 377

21.2. Библиотека NumPy: обработка многомерных массивов…………………………………………….. 378

21.3. Что еще нужно знать о библиотеках Matplotlib и NumPy…………………………………………… 382

Урок 22. Искусственный интеллект……………………………………………………… 383

22.1. Регистрация в личном кабинете GigaChat API и получение ключа авторизации…….. 383

22.2. Библиотеки LangChain, langchain-community и langchain-gigachat……………………………. 384

22.3. Разработка ИИ-клиентов………………………………………………………………………………………………… 384

22.3.1. Соединение с большой языковой моделью………………………………………………………. 384

22.3.2. ИИ-клиент: отправка запросов и получение ответов………………………………………. 385

22.3.3. ИИ-клиент: хранение истории взаимодействия с языковой моделью…………….. 387

22.3.4. ИИ-клиент: очистка истории……………………………………………………………………………… 388

22.3.5. Получение ответа по частям……………………………………………………………………………… 390

22.3.6. Конкурентная работа с языковыми моделями…………………………………………………. 391

22.4. Разработка ИИ-агентов………………………………………………………………………………………………….. 392

22.4.1. Объявление инструментов………………………………………………………………………………….. 392

22.4.1.1. Инструмент для поиска в Интернете средствами DuckDuckGo………. 393

22.4.2. Создание ИИ-агента……………………………………………………………………………………………. 393

22.4.3. ИИ-агент: отправка запросов и получение ответов…………………………………………. 394

22.4.4. Обработка ответов……………………………………………………………………………………………… 396

22.4.5. ИИ-агент: хранение истории взаимодействия с языковой моделью………………. 397

22.4.6. Работа с состоянием ИИ-агента………………………………………………………………………… 399

22.4.7. ИИ-агент: очистка истории………………………………………………………………………………… 400

22.5. Что еще нужно знать о работе с искусственным интеллектом…………………………………… 401

22.6. Самостоятельное упражнение………………………………………………………………………………………. 402

Заключение………………………………………………………………………………………….. 403

Приложения…………………………………………………………………………………… 405

Приложение 1. Установка исполняющей среды Python………………………… 407

Приложение 2. Приоритет операторов Python………………………………………. 411

Приложение 3. Использование ИИ для изучения Python
и написания программного кода………………………………………………………….. 412

Приложение 4. Описание файлового архива………………………………………… 416

Предметный указатель…………………………………………………………………………. 417

Опубликовано

Вышло третье издание книги “Контролируемый взлом. Библия социальной инженерии. “

Контролируемый взлом. Библия социальной инженерии. 3-е издание

Описание

Книга рассматривает используемые современными киберпреступниками методы социальной инженерии и способы защиты от нее — как организационные, так и технические. Приведено 130 практических примеров атак, даны примеры фишинговых писем, раскрыты применяемые мошенниками психологические приемы и трюки, позволяющие вводить пользователей в заблуждение, подробно разобран используемый злоумышленниками программный инструментарий. Описаны различные векторы атак: по электронной почте,в  мессенджерах, в социальных сетях и в реальной жизни. Предложена методика создания 10 000 сценариев учебных атак, а также дана пошаговая инструкция их проведения от этапа подготовки до составления отчета, особое внимание уделено использованию в социальной инженерии и фишинге современных технологий искусственного интеллекта. В третьем издании актуализирована информация о приемах социальной инженерии, используемых современными злоумышленниками.

Для специалистов по информационной безопасности

О книге:

Перед вами — самое полное и авторитетное руководство по социальной инженерии, написанное практиком. В эпоху, когда главной уязвимостью в системе безопасности становится человек, эта книга — незаменимый инструмент для понимания и отражения невидимых угроз.

Злоумышленники уже давно перестали атаковать только компьютеры. Сегодня их главная цель — психология, доверчивость и привычки пользователя. Эта книга вскрывает изнанку мира кибермошенничества, показывая, как создаются фишинговые письма, как злоумышленники манипулируют в соцсетях и мессенджерах и какие психологические триггеры заставляют даже осторожных людей совершать роковые ошибки.

Кому будет полезна книга:

  • Специалистам по информационной безопасности и пентестерам— для углубления знаний и проведения реалистичных учебных атак.
  • Руководителям IT-отделов и HR-специалистам— для построения эффективной системы обучения киберграмотности в компании.
  • Психологам и исследователям, изучающим методы манипуляции.
  • Всем, кто хочет понять логику киберпреступников и надежно защитить себя, свои данные и свой бизнес в цифровом мире.

В книге вы найдете:

  • 130 практических примеров атак,
  • методику создания 10 000 сценариев учебных атак,
  • более 110 ссылок на дополнительную полезную информацию,
  • пошаговую инструкцию для проведения учебных атак от этапа подготовки до составления отчета;
  • десятки организационных и технических методов защиты от социальной инженерии в компаниях.

Ключевые особенности третьего издания:

  • Актуализированная информация о самых современных приемах социальной инженерии и фишинга.
  • Подробный разбор использования технологий искусственного интеллекта в кибератаках.
  • Дополненный практический материал и свежие кейсы.

Книгу “Контролируемый взлом. Библия социальной инженерии. 3-е издание” можно купить в нашем интенет-магазине.

Предисловие………………………………………………………………………………………. 11

Об этом издании…………………………………………………………………………………………………………………… 11

От автора………………………………………………………………………………………………………………………………. 12

Кому и как можно использовать эту книгу?………………………………………………………………………. 14

Для представителей служб ИБ, СБ и ИТ-служб………………………………………………………… 16

Для пентестеров…………………………………………………………………………………………………………… 17

Для хакеров………………………………………………………………………………………………………………….. 17

Что такое социальная инженерия?……………………………………………………………………………………… 17

Опасность социальной инженерии…………………………………………………………………………………….. 18

Цитаты………………………………………………………………………………………………………………………….. 19

Ущерб от СИ…………………………………………………………………………………………………………………. 19

Глава 1. Онлайн-атаки………………………………………………………………………. 23

Подготовка……………………………………………………………………………………………………………………………. 23

Пентестеру……………………………………………………………………………………………………………………. 24

OSINT для СИ………………………………………………………………………………………………………. 24

Разведка боем………………………………………………………………………………………………………. 25

Проверка антиспама…………………………………………………………………………………………… 28

Переходим на личности……………………………………………………………………………………… 28

Какую фишинговую форму создавать?…………………………………………………………….. 29

Несуществующий адрес…………………………………………………………………………….. 29

Пробиваем MX-записи……………………………………………………………………………….. 30

Неведение…………………………………………………………………………………………………….. 30

От чьего имени писать?………………………………………………………………………………………. 31

BEC-атака……………………………………………………………………………………………………. 32

Таблица персонализации…………………………………………………………………………… 33

Пример email-MITM……………………………………………………………………………………. 34

Какой фишинговый домен купить?……………………………………………………………………. 35

Безопаснику………………………………………………………………………………………………………………….. 35

Готовим атаки………………………………………………………………………………………………………………………. 36

Атаки по email………………………………………………………………………………………………………………. 36

Идеи по составлению темы письма……………………………………………………………………. 36

Какую подпись и оформление использовать?………………………………………………….. 37

Выбираем контекст……………………………………………………………………………………………… 37

Векторы и сценарии……………………………………………………………………………………………. 38

Контекст: событийные атаки (Event attacks)……………………………………………………. 38

Событийные атаки: чрезвычайная ситуация…………………………………………… 38

Событийные атаки: праздники………………………………………………………………….. 39

Событийные атаки: политика……………………………………………………………………. 39

Контекст: причина………………………………………………………………………………………………. 40

Якобы взлом………………………………………………………………………………………………… 40

Внеплановая проверка от СРО………………………………………………………………….. 41

Неудачные попытки авторизации…………………………………………………………….. 42

Уведомление………………………………………………………………………………………………… 42

Что вы делаете в Бразилии?……………………………………………………………………….. 42

Контекст: запросы………………………………………………………………………………………………. 43

Контекст: вопросы………………………………………………………………………………………………. 43

Вопрос с вложением……………………………………………………………………………………. 43

А что это вы мне отправили?……………………………………………………………………… 43

Контекст: отправка……………………………………………………………………………………………… 44

Контекст: изменения……………………………………………………………………………………………. 44

Контекст: желание………………………………………………………………………………………………. 45

Контекст: «непонятки»………………………………………………………………………………………… 46

Переписка-ссылка……………………………………………………………………………………….. 46

Одинокий файл……………………………………………………………………………………………. 46

Усиление контекста…………………………………………………………………………………………….. 46

Усиление контекста: эмоции……………………………………………………………………… 47

Усиление контекста: давление…………………………………………………………………… 48

Адресаты в копии………………………………………………………………………………………… 48

Письма от госорганов…………………………………………………………………………………. 49

Срочно обновитесь……………………………………………………………………………………… 50

Усиление контекста: ложь………………………………………………………………………….. 50

Фейковая переписка……………………………………………………………………………………. 51

Фейковая пересылка…………………………………………………………………………………… 51

Усиление контекста: совпадение………………………………………………………………. 52

Источники фишинговых писем…………………………………………………………………………… 52

Файлы……………………………………………………………………………………………………………………………. 53

Некорректное отображение……………………………………………………………………………….. 53

Подарочный сертификат…………………………………………………………………………………….. 53

Пустой файл…………………………………………………………………………………………………………. 54

Документ с «мыльцой»………………………………………………………………………………………… 56

Имитация Excel-таблицы в Word-документе…………………………………………………….. 60

Небезопасный PDF-файл…………………………………………………………………………………….. 60

Файл как прокладка перед нагрузкой……………………………………………………………….. 62

Отсутствующий сертификат………………………………………………………………………………. 64

Разрешите и заполните……………………………………………………………………………………….. 65

Файл ICS………………………………………………………………………………………………………………. 66

Социальные сети………………………………………………………………………………………………………….. 67

Подготовка…………………………………………………………………………………………………………… 68

О поиске сотрудников в соцсетях………………………………………………………………………. 72

Клонирование аккаунтов……………………………………………………………………………………. 73

Медленно, но верно…………………………………………………………………………………………….. 73

Многоходовка в соцсети…………………………………………………………………………………….. 73

Терпеливо ждем…………………………………………………………………………………………………… 74

Поддельный рекрутер…………………………………………………………………………………………. 74

Мессенджеры……………………………………………………………………………………………………………….. 75

Telegram-каналы………………………………………………………………………………………………….. 76

Сотрудник — физлицо………………………………………………………………………………………… 76

Онлайн-консультанты…………………………………………………………………………………………………. 76

Веб-сайты……………………………………………………………………………………………………………………… 77

Поддельное окно для ввода логина и пароля…………………………………………………… 77

Скачайте на нашем сайте…………………………………………………………………………………… 78

Корпоративные порталы……………………………………………………………………………………. 78

Разрешите уточнить……………………………………………………………………………………………. 79

Новостные ресурсы…………………………………………………………………………………………….. 79

Туда, да не туда…………………………………………………………………………………………………… 80

Фейковая капча и предупреждение о cookie…………………………………………………….. 80

Всплывающее окно……………………………………………………………………………………………… 81

Персонализированный сайт……………………………………………………………………………….. 83

Покажи себя…………………………………………………………………………………………………………. 84

Реклама…………………………………………………………………………………………………………………………. 85

Таргет по MAC-адресу……………………………………………………………………………………….. 85

Таргет по геолокации………………………………………………………………………………………….. 86

Адвёртинг…………………………………………………………………………………………………………….. 86

Фиктивный APK-файл…………………………………………………………………………………………. 87

Лидеры мнений…………………………………………………………………………………………………………….. 87

Видео-deepfake…………………………………………………………………………………………………………….. 87

Видео без видео……………………………………………………………………………………………………………. 88

Аудио-deepfake……………………………………………………………………………………………………………. 88

Find trap сценарии………………………………………………………………………………………………………… 89

Find trap с помощью рекомендаций…………………………………………………………………… 90

Выдуманная компания……………………………………………………………………………………….. 91

Find trap с помощью звонков………………………………………………………………………………. 91

Продажа фиктивного сертификата……………………………………………………………………. 91

Комментарии………………………………………………………………………………………………………………… 92

Легализованная СИ……………………………………………………………………………………………………… 92

Отправили к вам………………………………………………………………………………………………….. 93

Фишинг………………………………………………………………………………………………………………………….. 94

Проверка на утечку…………………………………………………………………………………………….. 94

Data-phishing………………………………………………………………………………………………………… 94

Многоходовки………………………………………………………………………………………………………………. 96

Фейковое интервью……………………………………………………………………………………………… 97

Отложенная отправка…………………………………………………………………………………………. 97

Цепочки писем……………………………………………………………………………………………………………… 98

Цепочки писем: неправильная кодировка как повод……………………………………….. 98

Цепочки писем: простите, не туда……………………………………………………………………… 98

Цепочки писем: нас взломали…………………………………………………………………………….. 98

Цепочки писем: использование для data-фишинга…………………………………………… 99

Фейковые посетители………………………………………………………………………………………………….. 99

Глава 2. Технологические трюки введения в заблуждение………………. 101

Маскировка ссылок……………………………………………………………………………………………………………. 101

Символ @……………………………………………………………………………………………………………………. 101

Слеш в Unicode…………………………………………………………………………………………………………… 102

Домены в Punycode……………………………………………………………………………………………………. 102

Зашумление юникодом……………………………………………………………………………………………… 102

Обфускация ссылок……………………………………………………………………………………………………. 102

QR-коды………………………………………………………………………………………………………………………. 103

Некорректный протокол……………………………………………………………………………………………. 104

Ссылки в виде картинок…………………………………………………………………………………………….. 104

Ссылка в документах………………………………………………………………………………………………… 104

Очень длинная ссылка………………………………………………………………………………………………. 105

Ссылка виде цифр………………………………………………………………………………………………………. 106

Невидимая при наведении мыши……………………………………………………………………………… 106

Редиректы…………………………………………………………………………………………………………………… 107

Неактивные ссылки……………………………………………………………………………………………………. 108

Похожие на официальные…………………………………………………………………………………………. 109

Ссылки в поддоменах………………………………………………………………………………………………… 110

Сращивание с поддоменом……………………………………………………………………………………….. 110

Сращивание с протоколом……………………………………………………………………………………….. 110

Домен после слеша……………………………………………………………………………………………………. 110

В дополнение……………………………………………………………………………………………………………… 110

Капча от ботов защитного ПО…………………………………………………………………………. 110

Одноразовые ссылки…………………………………………………………………………………………. 111

Подделка отправителя………………………………………………………………………………………………………. 111

Email с официального ресурса………………………………………………………………………………………….. 112

Вложения и файлы……………………………………………………………………………………………………………… 113

Файлы Microsoft Office……………………………………………………………………………………………… 113

Рушим шаблоны поведения через печать………………………………………………………………… 114

PDF-файлы………………………………………………………………………………………………………………….. 115

HTML-файлы……………………………………………………………………………………………………………… 116

Маскировка расширения html…………………………………………………………………………………… 117

Архивы с паролем……………………………………………………………………………………………………… 117

Архивы без пароля…………………………………………………………………………………………………….. 118

Редко используемые форматы архивов……………………………………………………………………. 119

Онлайн-документы…………………………………………………………………………………………………………….. 119

Excel-файл, размещенный онлайн……………………………………………………………………………. 119

Глава 3. Атаки в офлайне………………………………………………………………… 123

Проникновение на физические объекты…………………………………………………………………………… 123

Предмет в руках…………………………………………………………………………………………………………. 123

Подслушанная легенда……………………………………………………………………………………………… 124

Проведение интервью………………………………………………………………………………………………… 125

Давайте помогу………………………………………………………………………………………………………….. 125

Корпоративная столовая………………………………………………………………………………………….. 125

Небезопасные парковки……………………………………………………………………………………………. 126

Паровозик…………………………………………………………………………………………………………………… 126

Мусорный дайвинг…………………………………………………………………………………………………….. 127

Отделение банка………………………………………………………………………………………………………… 127

Отвлекающий маневр………………………………………………………………………………………………… 128

Потенциальный клиент……………………………………………………………………………………………… 128

Собеседование…………………………………………………………………………………………………………… 128

Гостевой пропуск………………………………………………………………………………………………………. 128

Подделка карты-пропуска………………………………………………………………………………………… 129

Черный ход…………………………………………………………………………………………………………………. 129

Плечевая атака…………………………………………………………………………………………………………………… 129

Piggybacking………………………………………………………………………………………………………………………… 129

USB-устройства………………………………………………………………………………………………………………….. 130

Таргетированная флешка………………………………………………………………………………………….. 131

Флешка с легендой…………………………………………………………………………………………………….. 131

«За букет роз»…………………………………………………………………………………………………………….. 131

Juice jacking………………………………………………………………………………………………………………… 132

Смишинг……………………………………………………………………………………………………………………………… 132

Вишинг………………………………………………………………………………………………………………………………… 133

Подделка номера……………………………………………………………………………………………………….. 133

Многоходовый звонок……………………………………………………………………………………………….. 133

Вернитесь на работу…………………………………………………………………………………………………. 133

Забыл кодовое слово…………………………………………………………………………………………………. 134

Отсылка к отпускнику……………………………………………………………………………………………….. 134

Синхронный ввод………………………………………………………………………………………………………. 134

Телефон + find trap…………………………………………………………………………………………………….. 135

Любой добавочный……………………………………………………………………………………………………. 135

Китовые атаки……………………………………………………………………………………………………………. 135

Усиление звонком………………………………………………………………………………………………………. 136

Квид про кво……………………………………………………………………………………………………………….. 136

Callback phishing………………………………………………………………………………………………………… 137

Нас взломали, помогите восстановить…………………………………………………………………….. 138

Бумага не во благо…………………………………………………………………………………………………………….. 138

Подбрасывание корпоративных документов………………………………………………………….. 138

Визуальный пропуск…………………………………………………………………………………………………. 138

Реклама на бумаге……………………………………………………………………………………………………… 139

QR-коды на бумажных носителях……………………………………………………………………………. 139

Справка………………………………………………………………………………………………………………………. 139

Общественный транспорт…………………………………………………………………………………………………. 141

Wi-Fi…………………………………………………………………………………………………………………………………….. 141

Мероприятия………………………………………………………………………………………………………………………. 141

Двухдневное мероприятие………………………………………………………………………………………… 142

Организовал себе на голову……………………………………………………………………………………… 142

Конференции, выставки и форумы…………………………………………………………………………… 142

Пришел к одним, пошел к другим…………………………………………………………………………….. 142

Корпоратив………………………………………………………………………………………………………………… 142

Комбинирование………………………………………………………………………………………………………………… 143

Истории для вдохновения………………………………………………………………………………………………….. 143

Обход системы…………………………………………………………………………………………………………… 143

Пентест тюрьмы…………………………………………………………………………………………………………. 145

Случай в отеле…………………………………………………………………………………………………………… 146

Неприступная крепость…………………………………………………………………………………………….. 148

Глава 4. Проведение онлайн-атак по email………………………………………. 151

Какой софт использовать?………………………………………………………………………………………………… 151

Список email-пользователей……………………………………………………………………………………………… 152

Как создавать сообщения для атак?………………………………………………………………………………… 152

Чек-лист применения электронной СИ…………………………………………………………………………….. 154

Как повысить киберграмотность сотрудников?……………………………………………………………… 154

Технические аспекты обучения………………………………………………………………………………………… 156

Глава 5. Технические меры противодействия СИ…………………………….. 159

Софт…………………………………………………………………………………………………………………………………….. 159

Корпоративный браузер…………………………………………………………………………………………… 159

Сегментация сети и Zero Trust…………………………………………………………………………………… 160

Невозможность залогиниться в почте с недоверенных IP-адресов………………………. 160

Обнаружение повторного использования пароля………………………………………………….. 160

Фиды о фишинге…………………………………………………………………………………………………………. 161

Антифишинговый шрифт…………………………………………………………………………………………… 161

Настройка DKIM, SPF и DMARC……………………………………………………………………………… 162

Предотвращение выполнения исходного кода……………………………………………………….. 163

SSO………………………………………………………………………………………………………………………………. 164

Sandbox………………………………………………………………………………………………………………………. 165

Технические аспекты защиты от СИ………………………………………………………………………… 165

Способы применения чек-листа………………………………………………………………………. 165

Выбирайте методы фильтрации вредоносного содержимого в зависимости от вашей тактики        165

Настройте защиту от фишинговых ссылок…………………………………………………….. 166

Ссылки, похожие на официальные сайты………………………………………………………. 167

Настройте защиту от вредоносных вложений……………………………………………….. 167

Возможные к запрету расширения, используемые в фишинге………………………. 167

Настройте проверку заголовков email на подозрительные признаки………….. 167

Настройте защиту по содержимому письма…………………………………………………… 168

Hardware……………………………………………………………………………………………………………………………… 168

Межсетевые экраны…………………………………………………………………………………………………… 168

FIDO…………………………………………………………………………………………………………………………….. 169

Различия между UAF, U2F и FIDO2…………………………………………………………………. 169

Недостатки этого способа защиты………………………………………………………………….. 170

OTP-токены…………………………………………………………………………………………………………………. 170

Глава 6. Организационные меры противодействия СИ……………………. 173

Модель зрелости осведомленности о безопасности………………………………………………………. 173

Одобрение процесса повышения осведомленности у руководителей………………………….. 175

Обучение: памятки, курсы, форматы обучения………………………………………………………………. 176

Регламенты…………………………………………………………………………………………………………………………. 177

Регламент обучения персонала………………………………………………………………………………… 178

Некоторые аспекты для учета в регламентах…………………………………………………………. 178

Контроль реквизитов…………………………………………………………………………………………………. 179

Дополнительная проверка перед оплатой………………………………………………………………. 179

Как вести себя с гостями?………………………………………………………………………………………….. 179

Общение с коллегами………………………………………………………………………………………………… 180

72 минуты до начала конца……………………………………………………………………………………… 180

Сотни регламентов по информационной безопасности…………………………………………. 181

Глава 7. Искусственный интеллект. 183

Создание фишинговых форм  с помощью ИИ.. 184

Вредоносный поисковик. 188

Подделка голоса. 191

Хакерские инструменты на основе ИИ.. 191

Создание фишингового письма с ИИ.. 192

Масштабирование применения ИИ.. 197

Послесловие…………………………………………………………………………………….. 199

Приложение 1. Генератор онлайн-СИ………………………………………………. 201

Приложение 2. Классификатор СИ…………………………………………………… 202

Электронная социальная инженерия v0.81……………………………………………………………………… 202

Офлайн социальная инженерия v0.2………………………………………………………………………………… 208

Приложение 3. Таблица персонализации…………………………………………. 210

Приложение 4. Бесплатное в помощь службе ИБ и ИТ…………………….. 211

Приложение 5. Критерии выбора платформы по повышению осведомленности   212

Приложение 6. Словарь терминов……………………………………………………. 218

Опубликовано

Новинка: “Нецифровая электроника для начинающих”

Нецифровая электроника для начинающих

Основы аналоговой электроники изложены доступным для начинающих способом – путем  создания на макетной плате простых устройств, которые сразу после сборки начинают работать, не требуя пайки и программирования. Набор необходимых деталей сведен к минимуму. Рассмотрены аналоговые сигналы и их свойства, простейшие усилительные схемы на транзисторах, законченные устройства на  транзисторах и микросхемах, усилители, генераторы  и фильтры. По ходу изложения даны необходимые теоретические сведения о работе полупроводниковых приборов, а также вопросы для самопроверки и задания на самостоятельную разработку схем с ответами и решениями в конце глав.
Электронный архив на сайте издательства содержит обучающие видеоролики по теме книги.

Для интересующихся электроникой

ТЕОРИЯ, ПРАКТИКА, ЗАДАЧИ И ИДЕИ ДЛЯ САМОСТОЯТЕЛЬНОГО ТВОРЧЕСТВА

Простым и доходчивым языком изложены основы аналоговой электроники – от создания на макетной плате простейших усилителей на отдельных транзисторах до забавных и познавательных устройств на микросхемах.

В начале каждой главы приведен перечень необходимых деталей для всех рассмотренных схем. При этом набор компонентов сведен к минимуму, как по количеству наименований, так и по стоимости.

Рассмотрены только такие устройства, которые сразу начинают работать после сборки на макетной плате, не требуя пайки или программирования. Даны начальные сведения по отладке электроники с помощью доступной начинающим измерительной аппаратуры.

Работа аппаратной части современных аналоговых устройств раскрыта наглядно на примерах, который каждый может легко повторить. Во многих случаях рассказано, как одну и ту же задачу можно решить разными способами. По ходу изложения даны вопросы для самопроверки и задания на самостоятельную разработку схем с ответами и решениями в конце глав.

Прочитав книгу и собрав схемы, вы не только хорошо поймете работу типичных электронных устройств, но сможете самостоятельно проектировать свои собственные. А еще вы узнаете, как это все используется в реальной жизни.

Книгу “Нецифровая электроника для начинающих” можно купить в нашем интенет-магазине.

Предисловие…………………………………………………………………………………………….. 7

Что ждет читателя в книге: теория, практика и идеи для самостоятельного творчества……… 7

Как работать с этой книгой?………………………………………………………………………………………………………. 9

Благодарности……………………………………………………………………………………………………………………………… 9

Глава 1. Приступаем к освоению электроники………………………………………. 11

Что предстоит изучать?…………………………………………………………………………………………………………….. 11

Напряжения, токи и резисторы…………………………………………………………………………………………………. 12

Параллельное и последовательное включение резисторов…………………………………………………… 17

Электрическая мощность………………………………………………………………………………………………………….. 19

Что необходимо для сборки схем из этой книги?……………………………………………………………………. 21

Как собирать схемы на плате?…………………………………………………………………………………………………. 24

Измерительная аппаратура………………………………………………………………………………………………………. 25

Закон Ома в «железе»………………………………………………………………………………………………………………… 26

Первые измерения………………………………………………………………………………………………………………………. 31

Внутреннее сопротивление источника питания……………………………………………………………………… 31

Ответы на задания для самопроверки……………………………………………………………………………………… 33

Глава 2. Конденсаторы и катушки индуктивности в электронике…………. 35

Накопители заряда……………………………………………………………………………………………………………………. 35

Параметры и виды конденсаторов…………………………………………………………………………………………… 37

Последовательное и параллельное включение конденсаторов……………………………………………. 39

Заряд и разряд конденсатора через резистор…………………………………………………………………………. 41

Гармонические колебания………………………………………………………………………………………………………… 44

Как нарисовать синусоиду колебаний маятника?………………………………………………………………….. 50

Переменный ток…………………………………………………………………………………………………………………………. 50

Магнитные явления……………………………………………………………………………………………………………………. 52

Электромагнетизм……………………………………………………………………………………………………………………… 53

Генератор переменного тока……………………………………………………………………………………………………. 58

Самоиндукция и взаимная индукция……………………………………………………………………………………….. 60

Гармонические сигналы в электронике…………………………………………………………………………………… 61

Гармонические сигналы и разные электронные компоненты……………………………………………….. 65

Ответы на задания для самопроверки……………………………………………………………………………………… 69

Глава 3. Транзисторы — основа основ…………………………………………………… 71

Полупроводники — что это такое и какие они бывают?……………………………………………………….. 71

n-полупроводник + р-полупроводник = диод………………………………………………………………………….. 75

Вольт-амперная характеристика резистора и диода…………………………………………………………….. 77

Разновидности диодов………………………………………………………………………………………………………………. 79

Транзисторы биполярные…………………………………………………………………………………………………………. 81

…и их первое применение на практике…………………………………………………………………………………….. 86

Как выбрать подходящие для экспериментов биполярные транзисторы?…………………………… 91

Транзисторы полевые (униполярные)……………………………………………………………………………………… 92

Разновидности полевых транзисторов…………………………………………………………………………………….. 97

Первый практический усилитель на МОП-транзисторе………………………………………………………. 100

Какие МОП-транзисторы подойдут для наших экспериментов?………………………………………… 103

Область безопасной работы транзисторов…………………………………………………………………………… 105

Ответы на задания для самопроверки……………………………………………………………………………………. 106

Глава 4. Первые транзисторные схемы: усилитель, генератор и настольная игра            107

Что такое рабочая точка и обратная связь?………………………………………………………………………….. 107

Как подать на усилитель меняющийся сигнал?……………………………………………………………………. 110

Осциллограф — весьма нужный прибор……………………………………………………………………………….. 113

Усилитель с заданным коэффициентом усиления………………………………………………………………… 114

Из усилителя — генератор да еще с отрицательными напряжениями!………………………………. 116

Использование осциллографа………………………………………………………………………………………………… 120

Делитель и повторитель напряжения…………………………………………………………………………………….. 122

Усиление переменных сигналов…………………………………………………………………………………………….. 127

Общий эмиттер, общий коллектор и общая база………………………………………………………………….. 131

Еще раз о путях для постоянного и переменного тока…………………………………………………………. 132

Усилители на МОП-транзисторах…………………………………………………………………………………………. 134

Игра «Кто быстрее?» на двух транзисторах…………………………………………………………………………. 135

Ответы на задания для самопроверки……………………………………………………………………………………. 138

Глава 5. Основные строительные блоки аналоговой электроники………. 141

Характеристики биполярного транзистора………………………………………………………………………….. 141

Характеристики МОП-транзистора……………………………………………………………………………………….. 144

Входные и выходные сопротивления…………………………………………………………………………………….. 145

Согласование сопротивлений………………………………………………………………………………………………… 147

Входные и выходные сопротивления схем на биполярных транзисторах………………………… 148

Входные и выходные сопротивления схем на МОП-транзисторах……………………………………. 152

Составные транзисторы………………………………………………………………………………………………………….. 153

Следящая обратная связь как способ увеличить входное сопротивление…………………………. 155

Усилители мощности………………………………………………………………………………………………………………. 157

Дифференциальные усилители………………………………………………………………………………………………. 161

Ответы на задания для самопроверки……………………………………………………………………………………. 169

Глава 6. Такая полезная отрицательная связь……………………………………… 171

Обратная связь в окружающем мире……………………………………………………………………………………… 171

Обратная связь в электронике………………………………………………………………………………………………… 173

Про паразитные связи……………………………………………………………………………………………………………… 175

Стабилизирующее действие отрицательной обратной связи……………………………………………… 176

Обратная связь в транзисторных усилителях……………………………………………………………………….. 177

Усилитель звука с обратной связью………………………………………………………………………………………. 179

Подача питания на усилитель с мощным двухтактным каскадом……………………………………… 184

Пусть зазвучит музыка!…………………………………………………………………………………………………………… 185

Микросхемы операционных усилителей………………………………………………………………………………. 188

Первые схемы на операционных усилителях……………………………………………………………………….. 191

Расчет коэффициента усиления схем на операционных усилителях…………………………………. 195

Амплитудно-частотная характеристика усилителей…………………………………………………………… 197

Основные параметры операционных усилителей………………………………………………………………… 202

Усилитель мощности на ОУ……………………………………………………………………………………………………. 204

Ответы на задания для самопроверки……………………………………………………………………………………. 207

Глава 7. Фильтруй сигнал!…………………………………………………………………… 209

Фильтры для электричества……………………………………………………………………………………………………. 209

Идеальные фильтры………………………………………………………………………………………………………………… 211

…и фильтры реальные……………………………………………………………………………………………………………… 212

RC-фильтр верхних частот……………………………………………………………………………………………………… 216

Простейший полосовой и режекторный фильтры………………………………………………………………… 217

Преобразуем звук в цвет………………………………………………………………………………………………………….. 218

Связь между фильтрами и устойчивостью усилителей………………………………………………………… 221

Ответы на задания для самопроверки……………………………………………………………………………………. 224

Глава 8. Положительная обратная связь и генераторы………………………… 225

Положительная обратная связь……………………………………………………………………………………………… 225

Как оседлать волну?……………………………………………………………………………………………………………….. 226

Как нарисовать меандр?…………………………………………………………………………………………………………. 231

Мерцающие в темноте глаза…………………………………………………………………………………………………… 236

Сравниваем напряжения…………………………………………………………………………………………………………. 238

Не дрожать и не дребезжать!………………………………………………………………………………………………….. 242

Ответы на задания для самопроверки……………………………………………………………………………………. 247

Глава 9. Без хорошего питания — никуда……………………………………………. 249

Безопасность — главная ценность…………………………………………………………………………………………. 249

Вокально-инструментальный ансамбль «Выпрямитель»……………………………………………………. 250

Стабилитроны: когда пробой диода бывает на пользу……………………………………………………….. 255

Стабилитрон + транзистор = мощный источник…………………………………………………………………… 257

Регулируемый блок питания…………………………………………………………………………………………………… 258

Микросхемы питания………………………………………………………………………………………………………………. 262

Импульсные источники и преобразователи питания…………………………………………………………… 265

«Импульсники»: повышающие, понижающие и инвертирующие……………………………………….. 267

Ответы на задания для самопроверки……………………………………………………………………………………. 271

Заключение………………………………………………………………………………………….. 273

Приложение 1. Список дополнительной литературы……………………………. 275

Приложение 2. Цоколевки транзисторов и микросхем,
применяемых в схемах этой книги……………………………………………………….. 277

Приложение 3. Цветовая маркировка резисторов…………………………………. 279

Приложение 4. Сводная таблица используемых компонентов……………… 281

Приложение 5. Описание электронного архива……………………………………. 283

Предметный указатель…………………………………………………………………………. 285

Опубликовано

Вышла книга “Управление инфокоммуникациями”

Управление инфокоммуникациями

Ре(э)волюционные изменения принципов построения современных инфокоммуникационных сетей поколений Beyond 5G преобразовали и само понятие “управление” в телекоммуникациях из-за радикально возросшей сложности этих новых сетей. В книге авторы постарались осветить основные подходы и тренды управления инфокоммуникациями, проблематику Fraud Management, Inventory,Customer Experience Management, Revenue Assurance, Work Force Management и др., а также архитектурные принципы управления сетями, начиная от решений TM Forum OSS/BSS/NGOSS/ODA и заканчивая концепциями SON и IBN, предполагающими активное применение искусственного интеллекта и машинного обучения.

 

Александр Гольдштейн

Гольдштейн Александр, доктор технических наук, профессор СПбГУТ им. проф. М.А. Бонч-Бруевича, генеральный директор и сооснователь НТЦ АРГУС. Окончил СПбГУТ в 2001 г., в 2004 г. защитил кандидатскую диссертацию по туннелированию мультимедийного трафика в MPLS-сетях. В 2005 г. получил второе высшее образование по экономике и финансам. В 2019 г. защитил докторскую диссертацию «Модели и методы управления инфокоммуникационными сетями».
Автор более 100 публикаций, в том числе книг «Технологии и протоколы MPLS», «Softswitch», «Протоколы Megaco/H.248» и учебных пособий по автоматизации бизнес-процессов операторов связи. Профессиональные интересы — управление и эксплуатация сетей 5G, искусственный интеллект, OSS/BSS и стандарты TMF/ODA.

Борис Гольдштейн

Гольдштейн Борис, доктор технических наук, профессор, окончил с отличием Санкт-Петербургский университет телекоммуникаций (СПбГУТ) им. проф. М. А. Бонч-Бруевича, защитил кандидатскую и докторскую диссертации в области телекоммуникаций. Занимался разработкой архитектуры, ПО и протоколов мультисервисных сетей NGN/IMS/LTE/5G/6G. Много лет был заместителем директора по науке Ленинградского отраслевого НИИ связи (ЛОНИИС), профессором СПбГУТ, Более 20 лет заведовал кафедрой инфокоммуникационных сетей. Его аспиранты успешно работают в сетях связи разных стран на четырех континентах.
Автор более 350 статей, 30 книг, в том числе «Evolution of Telecommunication Protocols», «IP-телефония», «Инфокоммуникационные сети и системы» и др., 30 патентов. Сооснователь Научно-исследовательских центров Протей, Аргус, Севентест. Член Исследовательской комиссии 10 ITU-T и оргкомитетов ряда международных симпозиумов, приглашённый редактор института IEEE, член редакционных коллегий научных журналов, академик Международной академии связи (МАС), имеет звание «Мастер связи».

Книгу “Управление инфокоммуникациями” можно купить в нашем интенет-магазине.

Введение. 7

Глава 1. Развитие систем управления OSS/BSS.. 15

1.1. Предыстория TMN/OSS/BSS/NGOSS. 15

1.2. Работы TM Forum.. 19

1.3. NGOSS. 20

1.4. Frameworx. 21

1.4.1. Карта eTOM.. 21

1.4.2. Модель данных SID.. 24

1.4.3. Карта приложений ТАМ.. 27

1.5. OSS/BSS. 27

1.5.1. CRM.. 28

1.5.2. Order Management и Service Activator 32

1.5.3. Сквозной бизнес-процесс управления сетью.. 34

Глава 2. Эпоха ODA.. 37

2.1. Инфокоммуникации. 37

2.2. Платформенные бизнес-модели. 38

2.3. Фреймворк TOGAF в архитектуре ODA. 39

2.4. Группы артефактов ODA. 41

2.4.1. Группа A. Концепции и принципы ODA. 43

2.4.2. Группа B. Видение архитектуры ODA. 45

2.4.3. Группа С. Ориентированный на модели подход. 45

2.4.4. Группа D. Бизнес-архитектура ODA. 46

2.4.5. Группа E. Архитектура информационных систем ODA. 46

2.5. Фреймворк ITIL в архитектуре ODA. 46

Глава 3. Архитектура ODA.. 53

3.1. Основные составляющие открытой цифровой архитектуры (ODA) 53

3.2. Функциональная архитектура ODA. 54

3.3. Информационная модель SID.. 56

3.4. Структура программных приложений ODA. 56

3.5. ODA-компоненты. 57

3.6. Межкомпонентное взаимодействие и CIA-триада безопасности. 60

3.7. Теоретические выводы. 63

Глава 4. Технический учет сетевых ресурсов (Inventory) 65

4.1. Введение. 65

4.2. Система технического учета NRI 66

4.3. Бизнес-процесс ввода оборудования в эксплуатацию.. 69

4.4. Модули системы NRI 72

4.5. Выделение ODA-компонентов для системы NRI 74

4.6. Взаимодействие ODA-компонентов в системе NRI 76

4.7. Реализации системы Inventory. 83

Глава 5. Управление персоналом (WorkForce Management) 85

5.1. Роль WFM в управлении инфокоммуникациями. 85

5.2. Предыстория WFM.. 87

5.3. WFM в IT-ландшафте телекоммуникационной компании. 89

5.4. Функциональные возможности WFM.. 92

5.5. Порядок использования инструментов ODA. 95

5.6. Бизнес-процесс обработки заявки на обслуживание. 96

5.7. Выделение ODA-компонентов для системы WFM.. 98

5.8. Взаимодействие ODA-компонентов системы WFM.. 102

5.9. Варианты реализации WFM и их перспективы с ODA. 107

Глава 6. Управление транспортной сетью.. 111

6.1. Наземные и неназемные сети. 111

6.2. Трафик-инжиниринг 114

6.3. Эволюция MPLS. 119

6.4. MPLS over QUIC. 120

6.5. Прогнозирование. 122

6.6. Механизм управления транспортной сетью Segment Routing. 124

6.7. IBNT и цифровые близнецы. 128

6.8. Технические перспективы. 129

Глава 7. Гарантирование дохода и фрод-менеджмент. 131

7.1. Fraud в телекоммуникациях. 131

7.2. Гарантирование доходов. 133

7.3. Виды фрода и FMS. 139

7.4. Международная валидация фрода. 143

7.5. Фрод-менеджмент согласно Федеральному закону № 319-ФЗ. 145

7.6. Варианты реализации FMS. 147

Глава 8. Управление активами и IT-услугами. 151

8.1. Системы управления IT- и инфраструктурными активами. 151

8.2. Аsset Management 152

8.3. ITIL  158

8.4. ITSM   160

8.5. ITAM   163

8.6. SAM   167

Глава 9. Клиентоцентричное управление
инфокоммуникациями. 171

9.1. Клиентоориентированность. 171

9.2. Система управления качеством услуг SQM.. 172

9.3. Управление пользовательским опытом CEM.. 177

Глава 10. Сдвиг парадигмы в управлении
инфокоммуникациями. 189

10.1. Сети, основанные на намерениях. 189

10.2. Функциональность и жизненный цикл IBN. 196

10.3. Автономные сети. 200

10.4. Самоорганизующиеся сети. 202

10.5. Большие данные. 206

10.6. Цифровые близнецы. 210

Послесловие. 215

Список сокращений. 217

Литература. 221

Предметный указатель. 222

Опубликовано

Новинка: “Разработка Telegram-ботов на Python с нуля”

Разработка Telegram-ботов на Python с нуля

Рассмотрены практические подходы к созданию Telegram-ботов на языке Python с использованием фреймворка aiogram. Подробно описаны этапы разработки — от установки фреймворка и запуска бота до сложных сценариев взаимодействия с пользователем. Даны рекомендации по безопасному хранению токенов и других данных. Рассмотрены обработка сообщений, команд и аргументов, форматирование вывода, работа с, медиафайлами, кнопками и колбэками, структура проекта с применением роутеров, фильтров и мидлварей. Показано использование конечных автоматов (FSM) и сцен для пошаговых диалогов, работа в инлайн-режиме, отображение результатов, сбор статистики и подгрузка больших объемов данных. Приведены примеры интеграции платежей с Telegram Stars, проверки и возврата покупок, обработка ошибок и тестирование с помощью pytest.

Для разработчиков

Создавайте Telegram-боты на Python с помощью фреймворка aiogram!

Создавайте умные и полезные Telegram-боты на языке Python с помощью фреймворка aiogram! Эта книга проведет вас через все этапы разработки — от запуска первого бота до построения сложных диалоговых систем, интеграции платежей и тестирования.

Telegram-боты — это мощный инструмент автоматизации, взаимодействия с пользователями и даже ведения бизнеса. Благодаря фреймворку aiogram можно разрабатывать быстрые, надежные и гибкие боты, не вникая в избыточные детали кода на Python. Автор последовательно объясняет все ключевые аспекты: обработку текстовых сообщений и медиафайлов, создание кнопок разных типов, применение роутеров и мидлварей, реализацию сложных сценариев взаимодействия с пользователем, работу с инлайн-режимом и платежной системой Telegram Stars. Подробные примеры кода и практические советы помогут быстро перейти от теории к реальным проектам.

Эта книга — идеальный выбор для разработчиков, желающих освоить создание Telegram-ботов с нуля или вывести свои навыки на профессиональный уровень.

Вы узнаете, как:

  • установить и настроить aiogram и запустить свой первый бот;
  • безопасно хранить токены и другие чувствительные данные;
  • обрабатывать текст, команды и аргументы;
  • использовать кнопки, колбэки и фабрики колбэков;
  • структурировать проект, применять роутеры и фильтры;
  • писать и использовать мидлвари для обработки данных на лету;
  • реализовать конечные автоматы (FSM) и сцены для сложных диалогов;
  •  работать с инлайн-режимом и собирать статистику запросов;
  • подключить платежи с Telegram Stars;
  • обрабатывать ошибки и тестировать боты с помощью pytest.

Книгу “Разработка Telegram-ботов на Python с нуля” можно купить в нашем интенет-магазине.

Введение………………………………………………………………………………………………….. 7

Предыстория………………………………………………………………………………………………………………………………… 7

Чему обучит эта книга…………………………………………………………………………………………………………………. 7

Для кого эта книга……………………………………………………………………………………………………………………….. 8

Как пользоваться книгой…………………………………………………………………………………………………………….. 8

Благодарности……………………………………………………………………………………………………………………………… 9

Глава 1. Знакомство с aiogram……………………………………………………………….. 11

Установка aiogram…………………………………………………………………………………………………………………….. 15

Запуск бота………………………………………………………………………………………………………………………………… 20

Как скрыть чувствительные данные (токен) из кода………………………………………………………………. 21

Терминология…………………………………………………………………………………………………………………………….. 21

Глава 2. Работа с текстовыми сообщениями………………………………………….. 23

Что такое хэндлеры…………………………………………………………………………………………………………………… 23

Синтаксический сахар………………………………………………………………………………………………………………. 24

Форматированный вывод………………………………………………………………………………………………………….. 25

Экранирование ввода………………………………………………………………………………………………………………… 27

Сохранение форматирования…………………………………………………………………………………………………… 30

Работа с entities………………………………………………………………………………………………………………………….. 31

Команды и их аргументы………………………………………………………………………………………………………….. 32

Диплинки…………………………………………………………………………………………………………………………………….. 35

Предпросмотр ссылок……………………………………………………………………………………………………………….. 36

Глава 3. Работа с медиафайлами……………………………………………………………. 39

Отправка файлов……………………………………………………………………………………………………………………….. 39

Скачивание файлов……………………………………………………………………………………………………………………. 41

Альбомы……………………………………………………………………………………………………………………………………… 42

Сервисные (служебные) сообщения…………………………………………………………………………………………. 44

Бонус: прячем ссылку в тексте…………………………………………………………………………………………………. 45

Глава 4. Кнопки…………………………………………………………………………………….. 47

Обычные (реплай) кнопки…………………………………………………………………………………………………………. 47

Кнопки как шаблоны…………………………………………………………………………………………………………. 47

Keyboard Builder…………………………………………………………………………………………………………………. 50

Специальные обычные кнопки…………………………………………………………………………………………. 51

Инлайн-кнопки…………………………………………………………………………………………………………………………… 54

URL-кнопки…………………………………………………………………………………………………………………………. 54

Колбэки……………………………………………………………………………………………………………………………….. 55

Фабрика колбэков………………………………………………………………………………………………………………. 60

Автоответ на колбэки………………………………………………………………………………………………………… 64

Глава 5. Роутеры, многофайловость и структура бота……………………………. 67

Роутеры………………………………………………………………………………………………………………………………………. 67

Проброс данных в диспетчер……………………………………………………………………………………………………. 72

Итог……………………………………………………………………………………………………………………………………………… 75

Глава 6. Фильтры…………………………………………………………………………………… 77

Зачем нужны фильтры………………………………………………………………………………………………………………. 77

Фильтры как классы………………………………………………………………………………………………………………….. 79

Магические фильтры…………………………………………………………………………………………………………………. 84

MagicData…………………………………………………………………………………………………………………………………… 87

Глава 7. Мидлвари…………………………………………………………………………………. 89

Зачем нужны мидлвари…………………………………………………………………………………………………………….. 89

Виды и структура мидлварей…………………………………………………………………………………………………… 89

Примеры мидлварей………………………………………………………………………………………………………………….. 92

Передача аргументов в мидлварь…………………………………………………………………………………….. 92

Передача данных из мидлвари…………………………………………………………………………………………. 93

Никаких колбэков по выходным!……………………………………………………………………………………… 95

Флаги…………………………………………………………………………………………………………………………………………… 97

Глава 8. Особые апдейты…………………………………………………………………….. 101

Введение…………………………………………………………………………………………………………………………………… 101

Объект ChatMemberUpdated…………………………………………………………………………………………………… 102

Апдейт my_chat_member………………………………………………………………………………………………………… 102

Баны/разбаны в ЛС………………………………………………………………………………………………………….. 102

Добавление в группу……………………………………………………………………………………………………….. 107

Апдейт chat_member……………………………………………………………………………………………………………….. 111

Актуализация списка админов в группах………………………………………………………………………. 112

Глава 9. Конечные автоматы (FSM)……………………………………………………… 117

Теория……………………………………………………………………………………………………………………………………….. 117

Практика…………………………………………………………………………………………………………………………………… 118

Создание шагов………………………………………………………………………………………………………………… 118

Обработка шага 1…………………………………………………………………………………………………………….. 119

Обработка шага 2…………………………………………………………………………………………………………….. 121

Общие команды………………………………………………………………………………………………………………… 122

Различные стратегии FSM………………………………………………………………………………………………. 123

Глава 10. Сцены…………………………………………………………………………………… 125

Что такое сцены……………………………………………………………………………………………………………………….. 125

Создание простой сцены…………………………………………………………………………………………………………. 127

Переход между сценами………………………………………………………………………………………………………….. 131

Передача данных между сценами………………………………………………………………………………………….. 134

Глава 11. Инлайн-режим………………………………………………………………………. 137

Теория……………………………………………………………………………………………………………………………………….. 137

Зачем нужен инлайн-режим……………………………………………………………………………………………. 137

Формат входящих запросов……………………………………………………………………………………………. 138

Формат исходящих ответов…………………………………………………………………………………………….. 138

Практика…………………………………………………………………………………………………………………………………… 141

Система хранения……………………………………………………………………………………………………………. 141

Команды в боте………………………………………………………………………………………………………………… 143

Сохранение данных…………………………………………………………………………………………………………. 144

Текст…………………………………………………………………………………………………………………………. 144

Изображения……………………………………………………………………………………………………………. 148

Отображение данных………………………………………………………………………………………………………. 149

Текст…………………………………………………………………………………………………………………………. 149

Изображения……………………………………………………………………………………………………………. 151

Удаление данных…………………………………………………………………………………………………………….. 152

Switch туда и обратно……………………………………………………………………………………………………… 155

Дополнительные материалы………………………………………………………………………………………………….. 156

Подгрузка результатов……………………………………………………………………………………………………. 156

Сбор статистики………………………………………………………………………………………………………………. 158

Глава 12. Платежи с Stars…………………………………………………………………….. 161

План работ……………………………………………………………………………………………………………………………….. 161

Технологии……………………………………………………………………………………………………………………………….. 161

Локализация…………………………………………………………………………………………………………………………….. 162

Логи…………………………………………………………………………………………………………………………………………… 164

Пишем код. Команда /start……………………………………………………………………………………………………… 166

Команды /donate……………………………………………………………………………………………………………………… 167

Проверка перед оплатой…………………………………………………………………………………………………………. 171

После оплаты…………………………………………………………………………………………………………………………… 172

Возвраты покупок……………………………………………………………………………………………………………………. 173

Глава 13. Обработка ошибок……………………………………………………………….. 177

Какие бывают ошибки и зачем их обрабатывать…………………………………………………………………. 177

Обработка внутри хэндлеров…………………………………………………………………………………………………. 178

Отдельные обработчики ошибок……………………………………………………………………………………………. 182

Глава 14. Тестирование ботов………………………………………………………………. 185

Общая информация и подготовка…………………………………………………………………………………………… 185

Для чего нужно тестирование…………………………………………………………………………………………. 185

Что, чем и как……………………………………………………………………………………………………………………. 186

Структура файлов и каталогов………………………………………………………………………………………………. 186

Модуль bot……………………………………………………………………………………………………………………….. 187

Модуль tests……………………………………………………………………………………………………………………… 189

Запуск кода и тестов……………………………………………………………………………………………………………….. 193

Запуск кода и тестов в PyCharm…………………………………………………………………………………….. 193

Запуск кода и тестов в Visual Studio Code (VSCode)…………………………………………………….. 196

Тестирование хэндлеров…………………………………………………………………………………………………………. 198

Простой пример……………………………………………………………………………………………………………….. 198

Параметризация тестов…………………………………………………………………………………………………… 200

Тестирование объектов разных типов……………………………………………………………………………. 204

Подмена функций (манкипатчинг)………………………………………………………………………………….. 207

Ожидание ошибок……………………………………………………………………………………………………………. 209

Тестирование FSM…………………………………………………………………………………………………………………… 212

Тестирование всей цепочки…………………………………………………………………………………………….. 212

Тестирование отдельных этапов FSM……………………………………………………………………………. 216

Предметный указатель…………………………………………………………………………. 221

Опубликовано

Встречайте: “Практическая безопасность Linux”

Практическая безопасность Linux

Рассмотрены практические аспекты обеспечения безопасности в Linux. Подробно описаны архитектура системы, уровни привилегий и механизмы управления доступом (DAC, MAC, SELinux, AppArmor). Даны рекомендации по настройке безопасной загрузки, аудиту, журналированию и контролю активности пользователей. Отдельное внимание уделено изоляции приложений, сетевой безопасности, защите данных и памяти, а также противодействию руткитам и вредоносному коду. Рассмотрены методы шифрования, усиления ядра и использования IDS/IPS-систем. Рассказано о защите памяти, настройке компилятора и усилении безопасности ядра. Завершающие главы посвящены расследованию инцидентов безопасности: сбору и анализу логов, использованию инструментов форензики, документированию, восстановлению и постинцидентному анализу.

Для системных администраторов и специалистов по информационной безопасности

Подробное руководство по защите операционной системы

Миф о том, что Linux по умолчанию безопасен, давно пора развеять. Эта книга — подробное практическое руководство по защите Linux-систем: от архитектуры ядра и модели прав доступа до расследования инцидентов безопасности. Она предоставляет все необходимые знания и инструменты для эффективной защиты операционной системы.

Издание ориентировано на системных администраторов, специалистов по информационной безопасности, ИТ-менеджеров и инженеров, которые стремятся глубже понять и укрепить защиту своих Linux-систем.

В книге рассматриваются:

  • Основы архитектуры Linux: как работает ядро, системные вызовы и управление памятью; механизмы безопасности ядра и пользовательского пространства
  • Безопасная загрузка: защита GRUB, Syslinux и UEFI Secure Boot от компрометации
  • Модели доступа и права: настройка многопользовательской безопасности, AppArmor и SELinux
  • Аутентификация и авторизация: SSH-ключи, двухфакторная аутентификация, управление правами с помощью chmod, chown и ACL
  • Песочницы для приложений: изоляция процессов с использованием Firejail и systemd-песочниц
  • Сетевые аспекты безопасности: настройка брандмауэров (iptables, nftables), VPN, SSH и предотвращение атак
  • Контроль целостности: использование Tripwire, AIDE и систем IDS для обнаружения вторжений
  • Антивирусы и руткиты: практические рекомендации по защите от вредоносных программ
  • Шифрование и защита памяти: LUKS, защита от переполнений буфера и атак холодной загрузки
  • Расследование инцидентов безопасности: методы сбора и анализа логов, сетевого трафика и снапшотов, использование инструментов форензики (Volatility, Autopsy, Sleuth Kit), документирование результатов и восстановление системы после инцидента

Книгу “Практическая безопасность Linux” можно купить в нашем интенет-магазине.

Предисловие…………………………………………………………………………………………… 15

Благодарности…………………………………………………………………………………………………………………………… 15

О чем эта книга…………………………………………………………………………………………………………………………… 15

Как устроена эта книга……………………………………………………………………………………………………………… 16

Кому она будет полезна……………………………………………………………………………………………………………. 16

Об авторе……………………………………………………………………………………………………………………………………. 17

Введение………………………………………………………………………………………………… 18

Основы информационной безопасности………………………………………………………………………………….. 18

Роль Linux в инфраструктуре……………………………………………………………………………………………………. 19

История и философия Linux………………………………………………………………………………………………………. 19

Мифы о безопасности Linux……………………………………………………………………………………………………… 19

Миф 1: «На Linux нет вирусов»………………………………………………………………………………………… 19

Миф 2: «Если не root — значит, безопасно»……………………………………………………………………. 20

Миф 3: «Открытый код — значит, безопасный»……………………………………………………………… 20

Миф 4: «Linux безопасен по умолчанию»……………………………………………………………………….. 20

Современные угрозы и векторы атак……………………………………………………………………………………….. 20

Уязвимости в ядре и базовых сервисах……………………………………………………………………………. 20

Злоупотребление доверенными механизмами………………………………………………………………… 20

LOTL (Living Off The Land)……………………………………………………………………………………………….. 21

Контейнеры и облачные среды………………………………………………………………………………………… 21

Supply Chain: атаки на цепочку поставки……………………………………………………………………….. 21

Edge и IoT……………………………………………………………………………………………………………………………. 21

Модели угроз и их применение в безопасности Linux……………………………………………………………. 22

STRIDE………………………………………………………………………………………………………………………………… 22

DREAD………………………………………………………………………………………………………………………………… 22

MITRE ATT&CK………………………………………………………………………………………………………………… 22

Практический подход к безопасности……………………………………………………………………………………… 23

Этика и ответственность…………………………………………………………………………………………………………… 23

Мотивация и призыв к действию………………………………………………………………………………………………. 23

Глава 1. Основы архитектуры Linux………………………………………………………. 25

Уровни привилегий……………………………………………………………………………………………………………………. 26

Пространства выполнения………………………………………………………………………………………………………… 26

Инициализация…………………………………………………………………………………………………………………………… 27

Механизмы перехода………………………………………………………………………………………………………………… 27

Архитектурные особенности……………………………………………………………………………………………………. 27

Ядро и его компоненты……………………………………………………………………………………………………………… 28

Аудит и безопасность………………………………………………………………………………………………………………… 28

Аудит системы с помощью Linux Audit Framework, Lynis и auditd……………………………….. 29

Встроенные механизмы аудита………………………………………………………………………………………… 30

Глава 2. Защита загрузчика и безопасная загрузка………………………………… 32

Этапы загрузки Linux………………………………………………………………………………………………………………… 32

Описание этапов………………………………………………………………………………………………………………… 33

Загрузчик GRUB. Настройка безопасности……………………………………………………………………………. 34

Методы защиты GRUB………………………………………………………………………………………………………. 34

Пароль на доступ к меню загрузки………………………………………………………………………….. 34

Защита параметров загрузки…………………………………………………………………………………… 35

Подпись ядра и модулей…………………………………………………………………………………………… 35

Шифрование конфигурации…………………………………………………………………………………….. 35

Загрузчик Syslinux. Методы обеспечения безопасности……………………………………………………….. 35

Методы защиты Syslinux…………………………………………………………………………………………………… 36

Пароль на доступ к меню загрузки………………………………………………………………………….. 36

Ограничение доступа к консоли……………………………………………………………………………… 36

Защита конфигурационных файлов………………………………………………………………………… 36

Загрузчик rEFInd. Безопасная настройка………………………………………………………………………………… 36

Загрузчик systemd-boot. Настройки, повышающие безопасность………………………………………… 37

Методы защиты systemd-boot…………………………………………………………………………………………… 37

Подпись ядра…………………………………………………………………………………………………………….. 37

Пароль UEFI………………………………………………………………………………………………………………. 38

Шифрование дисков………………………………………………………………………………………………….. 38

UEFI и Secure Boot. Принципы, настройка, обход………………………………………………………………….. 38

Методы защиты………………………………………………………………………………………………………………….. 39

Цифровая подпись кода……………………………………………………………………………………………. 39

Загрузка только проверенного ПО………………………………………………………………………….. 39

Защита от руткитов и буткит-атак………………………………………………………………………….. 39

Блокировка изменения загрузчика и ядра………………………………………………………………. 40

Совместимость с современными методами криптографической защиты……………. 40

Уровни доступа………………………………………………………………………………………………………………….. 40

Векторы атаки……………………………………………………………………………………………………………………. 40

Популярные атаки на UEFI……………………………………………………………………………………………….. 41

Защиты от записи в хранилище основной прошивки……………………………………………………… 41

Настройка Secure Boot………………………………………………………………………………………………………. 42

Пример. Полнодисковое шифрование с LUKS2 Argon2id на Debian 12………………………………… 42

Практика. Настройка Secure Boot на своем устройстве………………………………………………………… 43

Глава 3. Уровни безопасности и модели управления доступом………………. 44

Дискретная модель доступа DAC (Discretionary Access Control)…………………………………………… 44

Мандатная модель доступа MAC (Mandatory Access Control)……………………………………………… 44

SELinux: политика важнее root…………………………………………………………………………………………. 45

AppArmor: контроль по именам………………………………………………………………………………………… 46

Smack: безопасность для встраиваемых систем…………………………………………………………….. 47

Tomoyo: контроль поведения……………………………………………………………………………………………. 47

Классические модели: Biba, MLS, BSD Extended……………………………………………………………. 48

Сертифицированный уровень: Astra Linux SE…………………………………………………………………. 48

Выводы……………………………………………………………………………………………………………………………………….. 49

Глава 4. Аутентификация и авторизация……………………………………………….. 50

Права доступа. Углубленное руководство по chmod, chown, chgrp……………………………………… 50

Настройка пользовательских окружений для повышения безопасности…………………………….. 51

Методы аутентификации: от паролей до MFA……………………………………………………………………….. 52

Система контроля доступа (ACL): расширяя стандартные права……………………………………….. 53

Настройка PAM для повышения безопасности………………………………………………………………………. 53

Системы управления секретами. HashiCorp Vault………………………………………………………………….. 55

Глава 5. Мониторинг системы, сервисов и пользовательской активности в Linux            57

Исторический и событийный мониторинг……………………………………………………………………………….. 57

Метамониторинг………………………………………………………………………………………………………………………… 57

Время отклика и SLA…………………………………………………………………………………………………………………. 57

Контроль нагрузки от мониторинга…………………………………………………………………………………………. 58

Мониторинг системных ресурсов…………………………………………………………………………………………….. 58

Мониторинг сетевых сервисов…………………………………………………………………………………………………. 58

Отслеживание активности пользователей………………………………………………………………………………. 58

Централизованный сбор логов…………………………………………………………………………………………………. 59

Автоматизация оповещений……………………………………………………………………………………………………… 59

Пример. Базовая настройка Zabbix………………………………………………………………………………………….. 59

Интерпретация данных и поведенческий анализ……………………………………………………………………. 60

Риски ложных срабатываний……………………………………………………………………………………………………. 60

Рекомендации…………………………………………………………………………………………………………………………….. 60

Глава 6. Песочницы для приложений…………………………………………………….. 62

Что такое песочница. Какие принципы лежат в ее основе…………………………………………………….. 62

Зачем использовать песочницы. Преимущества и случаи применения……………………………….. 63

Flatpak и Snap как системы распространения приложений со встроенными механизмами песочницы            64

Популярные решения………………………………………………………………………………………………………………… 64

Firejail: легкая изоляция через пространства имен………………………………………………………….. 64

gVisor: контейнеры с собственной реализацией системных вызовов……………………………. 65

Как работает gVisor………………………………………………………………………………………………….. 65

bubblewrap: контейнеризация для десктопа и не только………………………………………………… 66

chroot: изоляция по старинке…………………………………………………………………………………………….. 66

systemd-nspawn: изоляция на уровне systemd…………………………………………………………………. 66

seccomp и seccomp-bpf: фильтрация системных вызовов………………………………………………. 67

Примеры настройки песочницы для приложений…………………………………………………………………… 67

Изоляция браузера Firefox с помощью Firejail…………………………………………………………………. 68

Усиление безопасности системного сервиса через systemd…………………………………………… 68

Побег из песочницы: примеры выхода и защиты от этого…………………………………………………….. 68

Практический выбор………………………………………………………………………………………………………………….. 69

Глава 7. Выбор ядра и дистрибутива……………………………………………………… 70

Виды ядра…………………………………………………………………………………………………………………………………… 70

Generic Stable Kernel…………………………………………………………………………………………………………… 71

Libre Kernel………………………………………………………………………………………………………………………….. 71

Hardened Kernel………………………………………………………………………………………………………………….. 71

Выводы……………………………………………………………………………………………………………………………….. 72

Выбор дистрибутива…………………………………………………………………………………………………………………. 72

Безопасные дистрибутивы: от изоляции к анонимности……………………………………………….. 72

Whonix: анонимность и защита от слежки……………………………………………………………… 72

Qubes OS: модульная безопасность с помощью виртуализации………………………….. 73

Сертифицированные решения и российские дистрибутивы………………………………………………….. 74

Astra Linux Special Edition (SE)………………………………………………………………………………………….. 75

Реализация MAC в Astra Linux SE…………………………………………………………………………… 75

Поддержка аппаратных токенов и доверенной загрузки……………………………………… 76

Администрирование и сопровождение…………………………………………………………………… 76

РЕД ОС………………………………………………………………………………………………………………………………… 76

ALT Linux и ROSA……………………………………………………………………………………………………………… 77

Подбор дистрибутива для специализированных задач…………………………………………………………. 77

Глава 8. Системы инициализации…………………………………………………………. 78

systemd: комплексная модель управления и безопасности……………………………………………………. 78

Архитектура……………………………………………………………………………………………………………………….. 79

Механизмы безопасности…………………………………………………………………………………………………. 79

Анализ жесткой настройки……………………………………………………………………………………………….. 80

Контейнеризация и переносимость………………………………………………………………………………….. 80

OpenRC: модульная простота и ручной контроль…………………………………………………………………. 81

Архитектура……………………………………………………………………………………………………………………….. 81

Безопасность и ограничения…………………………………………………………………………………………….. 81

Преимущества…………………………………………………………………………………………………………………….. 82

Недостатки…………………………………………………………………………………………………………………………. 82

Runit: скорость, надежность, минимум кода…………………………………………………………………………… 82

Архитектура……………………………………………………………………………………………………………………….. 82

Безопасность………………………………………………………………………………………………………………………. 83

Преимущества…………………………………………………………………………………………………………………….. 83

Недостатки…………………………………………………………………………………………………………………………. 83

s6: надежность, изоляция, контроль…………………………………………………………………………………………. 83

Архитектура……………………………………………………………………………………………………………………….. 83

Механизмы безопасности…………………………………………………………………………………………………. 84

Преимущества…………………………………………………………………………………………………………………….. 84

Недостатки…………………………………………………………………………………………………………………………. 85

Сравнение систем инициализации…………………………………………………………………………………………… 85

Что выбирать и когда………………………………………………………………………………………………………………… 85

Практика. Жесткая настройка инициализации для безопасности………………………………………… 86

systemd: контроль через unit-файлы…………………………………………………………………………………. 86

OpenRC: контроль через скрипты…………………………………………………………………………………….. 87

Runit: контроль через chpst……………………………………………………………………………………………….. 87

s6: минимализм с предсказуемостью……………………………………………………………………………….. 87

Общие рекомендации………………………………………………………………………………………………………………… 87

Глава 9. Безопасность виртуализации……………………………………………………. 89

Основные угрозы и уязвимости в системах виртуализации…………………………………………………… 89

Обеспечение безопасности гипервизора…………………………………………………………………………………. 90

Изоляция и безопасность виртуальных машин………………………………………………………………………. 90

Безопасность сети в виртуальных системах…………………………………………………………………………… 91

Мониторинг и аудит в виртуальных системах……………………………………………………………………….. 91

Особенности безопасности контейнерной виртуализации……………………………………………………. 92

Безопасность хоста……………………………………………………………………………………………………………. 93

Rootless Docker и Podman………………………………………………………………………………………………….. 93

Безопасная сборка и запуск контейнеров………………………………………………………………………… 93

Изоляция и контроль………………………………………………………………………………………………………….. 94

Сеть и доступ……………………………………………………………………………………………………………………… 94

Аудит и секреты…………………………………………………………………………………………………………………. 94

Глава 10. Безопасность сети и коммуникаций……………………………………….. 95

Настройка сетевого стека…………………………………………………………………………………………………………. 95

Диагностика соединений…………………………………………………………………………………………………………… 95

iptables и nftables………………………………………………………………………………………………………………………… 96

iptables…………………………………………………………………………………………………………………………………. 96

Основные действия, которые могут быть выполнены с помощью iptables………….. 96

nftables………………………………………………………………………………………………………………………………… 97

Сравнение iptables и nftables: производительность и безопасность……………………………………… 98

Основные отличия iptables и nftables……………………………………………………………………………….. 98

Архитектура………………………………………………………………………………………………………………. 98

Синтаксис………………………………………………………………………………………………………………….. 98

Производительность…………………………………………………………………………………………………. 98

Применение правил…………………………………………………………………………………………………… 98

Примеры безопасности……………………………………………………………………………………………………… 99

Настройка NAT и проброс портов…………………………………………………………………………………………… 99

Пример NAT через iptables (SNAT, MASQUERADE)……………………………………………………….. 99

Проброс порта на внутренний сервер (DNAT)………………………………………………………………. 100

NAT на nftables…………………………………………………………………………………………………………………. 100

Фингерпринтинг и сетевые отпечатки……………………………………………………………………………………. 100

Защита от фингерпринтинга…………………………………………………………………………………………………… 100

Zero Trust: недоверие ко всем по умолчанию………………………………………………………………………… 101

Глава 11. Обеспечение целостности системы……………………………………….. 102

Настройка Integrity Policy Enforcement (IPE)………………………………………………………………………… 102

Основные понятия IPE……………………………………………………………………………………………………… 102

Проверка поддержки IPE в ядре……………………………………………………………………………………… 103

Настройка и компиляция IPE (при необходимости)……………………………………………………… 103

Настройка политики IPE…………………………………………………………………………………………………. 103

Пример базовой политики IPE……………………………………………………………………………….. 104

Создание политики на основе хеша файлов………………………………………………………… 104

Настройка политик на основе подписей………………………………………………………………. 104

Пример политики с разными правилами………………………………………………………………. 104

Настройка GRUB……………………………………………………………………………………………………. 105

Режимы работы IPE…………………………………………………………………………………………………………. 105

Режим аудита (Audit Mode)……………………………………………………………………………………. 105

Режим принуждения (Enforce Mode)……………………………………………………………………… 106

Мониторинг и журналирование……………………………………………………………………………. 106

Тестирование…………………………………………………………………………………………………………… 106

Применение атрибута immutable для контроля целостности системы……………………………….. 106

Мониторинг изменений: инструменты Tripwire, OSSEC, AIDE……………………………………………. 107

Tripwire: настройка и использование для безопасности Linux…………………………………….. 107

Инициализация базы данных………………………………………………………………………………… 108

Конфигурация политики………………………………………………………………………………………… 108

Обработка отчетов…………………………………………………………………………………………………. 108

Советы по использованию……………………………………………………………………………………… 108

OSSEC……………………………………………………………………………………………………………………………….. 109

Установка OSSEC……………………………………………………………………………………………………. 109

Конфигурация OSSEC…………………………………………………………………………………………….. 109

Проверка целостности файлов………………………………………………………………………………. 110

Уведомления и оповещения……………………………………………………………………………………. 110

Практическое использование и примеры……………………………………………………………… 110

AIDE………………………………………………………………………………………………………………………………….. 110

Установка AIDE………………………………………………………………………………………………………. 111

Автоматизация и уведомления………………………………………………………………………………. 111

Примеры использования AIDE для безопасности……………………………………………….. 112

Системы обнаружения вторжений (IDS): различные IDS, их настройка и использование. 112

Snort…………………………………………………………………………………………………………………………………… 112

Установка Snort………………………………………………………………………………………………………. 112

Конфигурация Snort………………………………………………………………………………………………… 112

Запуск Snort…………………………………………………………………………………………………………….. 113

Мониторинг и управление……………………………………………………………………………………… 113

Примеры использования Snort……………………………………………………………………………….. 113

Suricata………………………………………………………………………………………………………………………………. 114

Установка Suricata………………………………………………………………………………………………….. 114

Основная настройка……………………………………………………………………………………………….. 114

Правила и политики……………………………………………………………………………………………….. 115

Мониторинг и анализ……………………………………………………………………………………………… 115

Примеры использования Suricata………………………………………………………………………….. 115

Защита от атак с помощью доверенных приложений (LOTL-атаки)………………………………….. 115

Мониторинг и логирование…………………………………………………………………………………………….. 116

Примеры использования LOTL-атак………………………………………………………………………………. 117

Настройка dm-verity для проверки контрольных сумм файлов и обеспечения целостности 117

Принцип работы dm-verity………………………………………………………………………………………………. 117

Установка и настройка dm-verity…………………………………………………………………………………… 117

Создание образа файловой системы только для чтения…………………………………….. 117

Создание хеш-дерева……………………………………………………………………………………………… 118

Монтирование с проверкой целостности……………………………………………………………… 118

Обеспечение безопасности и целостности…………………………………………………………… 118

Глава 12. Антивирусы и обнаружение руткитов…………………………………… 119

Зачем нужны антивирусы в Linux. Риски и случаи использования…………………………………….. 119

Инструменты для обнаружения скрытых процессов и модулей ядра в Linux…………………… 120

Шифровальщики………………………………………………………………………………………………………………………. 120

Майнеры…………………………………………………………………………………………………………………………………… 121

Руткиты и буткиты в Linux: что это такое и как они угрожают безопасности………………….. 121

Методы обнаружения руткитов: rkhunter, chkrootkit…………………………………………………………… 122

Примеры антивирусов для Linux……………………………………………………………………………………………. 122

Как защититься от вирусов, руткитов и буткитов………………………………………………………………… 124

Глава 13. Защита данных…………………………………………………………………….. 125

Инфраструктура публичных ключей (PKI) и безопасность в Linux……………………………………. 125

Доверие в PKI……………………………………………………………………………………………………………………. 125

Управление сертификатами в Linux……………………………………………………………………………….. 126

Выбор библиотеки SSL: OpenSSL и LibreSSL……………………………………………………………………….. 126

GNU Privacy Guard (GPG). Работа с ключами……………………………………………………………………….. 127

Типы ключей…………………………………………………………………………………………………………………….. 127

Генерация ключей……………………………………………………………………………………………………………. 127

Импорт и экспорт ключей……………………………………………………………………………………………….. 128

Шифрование файловой системы…………………………………………………………………………………………….. 129

dm-crypt…………………………………………………………………………………………………………………………….. 129

eCryptfs……………………………………………………………………………………………………………………………… 130

LUKS………………………………………………………………………………………………………………………………….. 131

VeraCrypt…………………………………………………………………………………………………………………………… 133

Опции разбиения на разделы и монтирования……………………………………………………………………… 134

Разбиение на разделы……………………………………………………………………………………………………… 134

Опции монтирования……………………………………………………………………………………………………….. 135

Файл /etc/fstab…………………………………………………………………………………………………………. 135

FUSE и его применение……………………………………………………………………………………………………………. 136

Применение FUSE-шифрования в контексте безопасности………………………………………….. 137

Рекомендации по использованию FUSE-шифрования………………………………………………….. 137

Безопасность хранения информации: LVM и RAID…………………………………………………………….. 137

Резервное копирование и восстановление данных. Лучшие практики и инструменты…….. 139

Инструменты для резервного копирования…………………………………………………………………… 140

Восстановление данных………………………………………………………………………………………………….. 140

План восстановления после аварий (DRP)…………………………………………………………………….. 141

Безопасное удаление данных: инструменты и методы……………………………………………………….. 142

Глава 14. Защита памяти в Linux…………………………………………………………. 144

Уязвимости памяти в Linux……………………………………………………………………………………………………… 144

Address Space Layout Randomization (ASLR)………………………………………………………………………… 145

Data Execution Prevention (DEP/NX)……………………………………………………………………………………….. 146

Stack Canaries в Linux……………………………………………………………………………………………………………… 146

Настройка компилятора………………………………………………………………………………………………….. 147

Control Flow Integrity (CFI) в Linux…………………………………………………………………………………………. 147

Примеры реализации CFI………………………………………………………………………………………………… 148

Сравнение SLUB с другими аллокаторами памяти в Linux с точки зрения безопасности.. 149

Выбор аллокатора…………………………………………………………………………………………………………… 150

hardened_malloc……………………………………………………………………………………………………………………….. 150

Настройка и использование……………………………………………………………………………………………. 151

Kernel Heap Hardening……………………………………………………………………………………………………………… 152

SELinux или AppArmor…………………………………………………………………………………………………….. 153

Безопасность файла подкачки……………………………………………………………………………………………….. 153

Основные меры по обеспечению безопасности файла подкачки………………………………… 153

Шифрование файла подкачки……………………………………………………………………………….. 153

Регулярная очистка файла подкачки……………………………………………………………………. 154

Мониторинг и ограничение использования файла подкачки…………………………….. 154

Что такое атака холодной загрузки……………………………………………………………………………………….. 154

Шифрование памяти………………………………………………………………………………………………………………… 155

Шифрование памяти и управление доступом в Intel SGX……………………………………………. 155

Шифрование памяти и управление доступом в AMD SEV…………………………………………… 155

Сравнение Intel SGX и AMD SEV……………………………………………………………………………………. 156

Защита от атак DMA……………………………………………………………………………………………………………….. 156

Отключение неиспользуемых портов…………………………………………………………………………….. 157

Использование безопасности сетевых устройств…………………………………………………………. 157

Мониторинг и обновления системы……………………………………………………………………………….. 157

Языки программирования, безопасные для памяти……………………………………………………………… 157

Rust……………………………………………………………………………………………………………………………………. 157

Python………………………………………………………………………………………………………………………………… 158

Java……………………………………………………………………………………………………………………………………. 158

Выводы……………………………………………………………………………………………………………………………………… 158

Глава 15. Усиление безопасности ядра Linux и компилятора……………….. 159

Kernel Self Protection Project (KSPP) и его роль в усилении безопасности ядра Linux……….. 160

Использование патчей Grsecurity/PaX и их возможности…………………………………………………….. 162

Утилита sysctl и ее роль в безопасности ядра Linux…………………………………………………………….. 163

Зачем использовать sysctl для безопасности…………………………………………………………………. 164

Основные параметры безопасности ядра, управляемые через sysctl………………………….. 164

Защита от подмены IP-адреса……………………………………………………………………………….. 164

Отключение перенаправления ICMP (пингов)……………………………………………………… 164

Отключение отправки ICMP-перенаправлений…………………………………………………… 164

Защита от атак SYN-флуд……………………………………………………………………………………… 164

Отключение ответа на широковещательные запросы………………………………………… 165

Отключение IP-перенаправления………………………………………………………………………….. 165

Ограничение доступа к памяти ядра…………………………………………………………………….. 165

Управление ASLR…………………………………………………………………………………………………… 165

Отключение дампов памяти для suid/sgid-файлов……………………………………………….. 165

Защита от форк-бомб……………………………………………………………………………………………… 166

Как применять настройки sysctl……………………………………………………………………………………… 166

Временное изменение параметров………………………………………………………………………… 166

Постоянное сохранение настроек…………………………………………………………………………. 166

Использование отдельного файла в директории /etc/sysctl.d/…………………………….. 166

Практические рекомендации по настройке sysctl для безопасности…………………………… 166

Уменьшение поверхности атаки на ядро Linux…………………………………………………………………….. 167

Способы уменьшения поверхности атаки на ядро……………………………………………………….. 167

Практические примеры уменьшения поверхности атаки…………………………………………….. 168

Отключение дампов ядра и его роль в обеспечении безопасности системы……………………… 169

Причины отключения дампов ядра………………………………………………………………………………… 169

Как отключить дампы ядра в Linux……………………………………………………………………………….. 169

Важные моменты при отключении дампов ядра…………………………………………………………… 170

Альтернативы отключению дампов……………………………………………………………………………….. 170

Дополнительные рекомендации……………………………………………………………………………………… 171

Внесение модулей ядра в черный список и обеспечение безопасности системы……………… 171

Почему важно блокировать определенные модули ядра…………………………………………….. 171

Внесение модулей в черный список……………………………………………………………………………….. 172

Способы блокировки модулей………………………………………………………………………………. 172

Особенности и предостережения…………………………………………………………………………… 173

Дополнительные меры безопасности…………………………………………………………………………….. 173

Практические примеры блокировки модулей……………………………………………………………….. 173

Самостоятельная компиляция ядра для усиления безопасности………………………………………… 174

Почему стоит самостоятельно компилировать ядро……………………………………………………. 174

Подготовка к компиляции ядра………………………………………………………………………………………. 175

Шаги по компиляции ядра………………………………………………………………………………………………. 175

Ключевые настройки для усиления безопасности……………………………………………………….. 176

Отключение ненужных модулей и функций…………………………………………………………. 176

Включение механизмов безопасности………………………………………………………………….. 176

Отключение неиспользуемых системных вызовов………………………………………………. 177

Включение Control Flow Integrity (CFI)…………………………………………………………………. 177

Включение Security Audit……………………………………………………………………………………….. 177

Компиляция и установка ядра………………………………………………………………………………………… 177

Проверка работы нового ядра………………………………………………………………………………………… 178

Дополнительные меры для обеспечения безопасности……………………………………………….. 178

Защита процессора при конфигурировании ядра Linux……………………………………………………… 178

Понимание уязвимостей процессора……………………………………………………………………………… 179

Настройка ядра Linux для защиты процессора……………………………………………………………. 179

Включение изоляции таблиц страниц ядра (Kernel Page Table Isolation, KPTI)… 179

Включение защиты от Spectre……………………………………………………………………………….. 179

Включение функции Microcode Update…………………………………………………………………. 180

Ограничение спекулятивного выполнения…………………………………………………………… 180

Включение Rogue Data Cache Load (RDCL) Mitigations……………………………………… 180

Использование Control-flow Enforcement Technology (CET)………………………………. 180

Обновление компилятора и использование защитных опций…………………………….. 181

Удаление устаревших и неиспользуемых функций…………………………………………….. 181

Ограничение доступа к отладочным интерфейсам……………………………………………… 181

Отслеживание состояния защиты………………………………………………………………………….. 181

Основы безопасности компиляции…………………………………………………………………………………………. 182

Использование опций безопасности компилятора……………………………………………………….. 182

Удаление отладочной информации из релизной версии……………………………………………… 183

Обзор ключевых опций безопасности компилятора GCC……………………………………………………. 184

Ключевые опции безопасности в GCC…………………………………………………………………………… 184

Защита стека (Stack Protector)……………………………………………………………………………….. 184

Усиление стандартных функций (Fortify Source)…………………………………………………. 185

Позиционно-независимый код (Position Independent Executable, PIE)……………….. 185

Защита разделов памяти (Relocation Read-Only, RELRO)………………………………….. 185

Address Sanitizer (ASan)…………………………………………………………………………………………… 186

Undefined Behavior Sanitizer (UBSan)……………………………………………………………………. 186

Контроль потока управления (Control Flow Integrity, CFI)………………………………….. 186

Предупреждения компилятора………………………………………………………………………………. 186

Ограничение размера исполняемых файлов………………………………………………………… 187

Лучшие практики при использовании опций безопасности GCC………………………. 187

Пример полной команды компиляции с опциями безопасности………………………… 187

Основные опции безопасности в Clang и их использование………………………………………………… 188

Основные опции безопасности в Clang………………………………………………………………………….. 188

Stack Canaries (Защита стека)……………………………………………………………………………….. 188

Address Sanitizer (ASan)…………………………………………………………………………………………… 189

Undefined Behavior Sanitizer (UBSan)……………………………………………………………………. 189

Memory Sanitizer (MSan)………………………………………………………………………………………… 189

Control Flow Integrity (CFI)……………………………………………………………………………………… 190

SafeStack………………………………………………………………………………………………………………….. 190

Fortify Source……………………………………………………………………………………………………………. 190

Position Independent Executables (PIE) и Position Independent Code (PIC)………….. 190

Relocation Read-Only (RELRO)………………………………………………………………………………. 191

Stack Clash Protection……………………………………………………………………………………………… 191

Рекомендации по использованию опций безопасности……………………………………………….. 191

Пример полного использования опций безопасности………………………………………………….. 192

Сравнение библиотек C с точки зрения безопасности: musl, glibc и др………………………………. 192

Сравнение библиотек C в контексте безопасности………………………………………………………. 192

Рекомендации по обеспечению безопасности при выборе библиотеки C………………….. 193

Глава 16. Безопасность приложений…………………………………………………….. 194

ModSecurity………………………………………………………………………………………………………………………………. 194

Fail2Ban…………………………………………………………………………………………………………………………………….. 195

Безопасные практики разработки. Принципы обеспечения безопасности на этапе разработки         196

Глава 17. Работа с уязвимостями………………………………………………………….. 198

Обновление системы……………………………………………………………………………………………………………….. 198

Общий стандарт уязвимостей (CWE). Классификация и понимание типов уязвимостей…. 199

Использование Security Advisories и CVE. Поиск и использование информации об уязвимостях         201

Инструменты для сканирования уязвимостей. Обзор и использование
популярных инструментов……………………………………………………………………………………………………… 202

Сравнение инструментов сканирования уязвимостей………………………………………………….. 202

Как использовать инструменты для сканирования уязвимостей………………………………… 203

Практика применения сканера OpenSCAP для поиска уязвимостей…………………………………… 204

Анализ результатов…………………………………………………………………………………………………………. 204

Использование разных профилей…………………………………………………………………………………… 204

Автоматизация и интеграция………………………………………………………………………………………….. 205

Глава 18. Расследование инцидентов безопасности……………………………… 206

Типы инцидентов. Классификация инцидентов и особенности каждого типа…………………… 207

Подготовка к расследованию инцидентов безопасности. Создание плана действий,
сбор команды, инструменты…………………………………………………………………………………………………… 208

Сбор команды…………………………………………………………………………………………………………………… 209

Необходимые инструменты……………………………………………………………………………………………. 209

Сбор и сохранение данных. Методы сбора логов, снапшотов системы,
сетевого трафика……………………………………………………………………………………………………………………… 210

Сбор логов………………………………………………………………………………………………………………………… 210

Создание снимков системы (снапшотов)……………………………………………………………………….. 210

Сбор сетевого трафика……………………………………………………………………………………………………. 211

Журналы системных служб…………………………………………………………………………………… 211

Журналы аутентификации…………………………………………………………………………………….. 212

Журналы приложений……………………………………………………………………………………………. 212

Инструменты для анализа логов…………………………………………………………………………………….. 212

Рекомендации по анализу логов…………………………………………………………………………………….. 212

Анализ сетевой активности. tcpdump и Wireshark — ваши защитники
от нежелательного трафика в Linux………………………………………………………………………………………. 213

tcpdump: быстрый и эффективный снифер командной строки…………………………………….. 213

Wireshark: мощный графический анализатор пакетов…………………………………………………. 214

Обнаружение подозрительного трафика……………………………………………………………………….. 214

Обнаружение вредоносных процессов в Linux. Утилиты lsof, netstat и другие методы……. 215

Идентификация подозрительных процессов…………………………………………………………………. 215

lsof: список открытых файлов…………………………………………………………………………………………. 215

netstat: информация о сетевых соединениях…………………………………………………………………. 216

Другие полезные утилиты……………………………………………………………………………………………….. 216

Форензика файловых систем Linux. Восстановление удаленных файлов
и анализ временных меток………………………………………………………………………………………………………. 216

Восстановление удаленных файлов………………………………………………………………………………. 217

Процесс восстановления………………………………………………………………………………………… 217

Анализ временнх меток…………………………………………………………………………………………………. 218

Использование инструментов форензики: Volatility, Autopsy, Sleuth Kit…………………………….. 218

Volatility…………………………………………………………………………………………………………………………….. 218

Получение дампа памяти……………………………………………………………………………………….. 219

Autopsy……………………………………………………………………………………………………………………………… 220

The Sleuth Kit…………………………………………………………………………………………………………………….. 221

Основные утилиты TSK………………………………………………………………………………………….. 221

Работа с образами дисков……………………………………………………………………………………… 222

Документирование и отчетность в расследовании инцидентов безопасности Linux: от анализа к действиям               222

Этапы документирования……………………………………………………………………………………………….. 222

Структура отчета…………………………………………………………………………………………………………….. 223

Рекомендации по дальнейшим действиям……………………………………………………………………… 224

Восстановление системы Linux после инцидента безопасности………………………………………… 224

Постинцидентный анализ: уроки из прошлого, безопасность будущего…………………………… 226

Правовые аспекты кибербезопасности Linux: взаимодействие
с правоохранительными органами и сохранение цепочки доказательств………………………… 227

Приказы, регулирующие взаимодействие с компетентными органами………………………. 227

Приказ № 524 ФСБ (для организаций, обрабатывающих ПД)…………………………… 227

Приказ № 17 ФСТЭК………………………………………………………………………………………………. 228

Приказ № 21 ФСТЭК………………………………………………………………………………………………. 228

Приказ № 31 (2024) ФСТЭК + приказ № 235………………………………………………………… 228

Взаимодействие с органами при расследовании………………………………………………………….. 228

Легализация данных для расследования……………………………………………………………… 229

Глава 19. Практические рекомендации………………………………………………… 231

Создание и поддержание безопасной среды Linux: ключевые аспекты…………………………….. 231

Лучшие практики безопасности Linux: свод рекомендаций……………………………………………….. 232

Заключение………………………………………………………………………………………….. 233

Будущее безопасности Linux: перспективы и новые технологии……………………………………….. 233

Ресурсы для дальнейшего изучения безопасности Linux: книги, курсы и сообщества…….. 234

Предметный указатель…………………………………………………………………………. 236

Опубликовано

Новый бестселлер: “Хакерская самооборона. Приемы обнаружения и предотвращения хакерских атак”

Хакерская самооборона. Приемы обнаружения и предотвращения хакерских атак

Книга посвящена практическим методам активной киберзащиты, основанным на анализе действий злоумышленника и применении принципов кибер-самообороны. Рассматриваются подходы к выявлению и минимизации атак на различных этапах проникновения — от внешней разведки до активности во внутреннем периметре сети. Показано, как использовать методы защиты, не требующие административных прав и доступа к серверной инфраструктуре, применимые с уровня обычного пользователя. Особое внимание уделено анализу поведенческих признаков атак, обнаружению следов в системах доменной аутентификации и методам противодействия угрозам в беспроводных сетях. Представлены приемы пассивного и активного обнаружения, ориентированные на минимизацию требуемых затрат и покрытия максимальной поверхности атак сетевой инфраструктуры.

Для пентестеров и специалистов по информационной безопасности

Узнайте, как мыслят настоящие хакеры, и научитесь эффективно их отслеживать.
Перед вами — практическое руководство по кибер-самообороне, в котором приведены не банальные рекомендации по настройке ПО и оборудования, а подробно описаны реальные приемы, основанные на логике атакующего. Все, о чем рассказывается в книге, можно выполнить без использования специализированного ПО с обычного пользовательского компьютера — без прав администратора и доступа к серверным логам.

Листать

Вы увидите ход атаки глазами злоумышленника: как он проводит разведку в интернете, какие следы оставляет при попытках взлома Wi-Fi, что делает при развитии атак в локальной сети и в Active Directory.

Вы узнаете, как превратить его преимущества в собственное оружие, которым можно атаковать самого хакера. Подробно рассматриваются современные угрозы беспроводным сетям, демонстрируются уникальные методы обнаружения и приемы противодействия. Уделено внимание хитростям работы в Active Directory и следам, которые выдают взломанные учетные записи, — то, что обычно остается незамеченным до момента, когда проникновение уже произошло.

Вы научитесь опережать противника, делая свою систему неудобной для вторжения, и обретете способность замечать малейшие аномалии. Здесь вы найдете реально применимые техники, понятные объяснения и пошаговые сценарии противостояния, которые позволят вам действовать быстрее, чем злоумышленник.

Книгу “Хакерская самооборона. Приемы обнаружения и предотвращения хакерских атак” можно купить в нашем интенет-магазине.