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

2-е издание книги: “Сети с нулевым доверием: Построение безопасных систем в ненадежных сетях”

Сети с нулевым доверием: построение безопасных систем в ненадежных сетях (2 издание)

Раскрыта парадигма информационной безопасности сетей с нулевым доверием (Zero Trust), полностью пересматривающая традиционные подходы к защите данных. Изложены фундаментальные принципы, включая непрерывную верификацию, минимальные привилегии и микросегментацию. Приведены практические сценарии внедрения Zero Trust, включая построение безопасных систем в ненадежных сетях. Обсуждены механизмы контроля доступа, системы оценки доверия и современные методы аутентификации. Приведены конкретные примеры интеграции решений для защиты устройств, пользователей и сетевого трафика. Освещены вопросы миграции с устаревших периметровых систем на архитектуру Zero Trust и рассмотрены реальные кейсы внедрения в организациях различного масштаба. Описаны фреймворки Zero Trust, архитектуры, стандарты и методологии Zero Trust, разработанные NIST, CISA, Министерством обороны США и другими организациями. Дан анализ влияния новых технологий, таких как искусственный интеллект и квантовые вычисления, на эволюцию модели безопасности.

Для специалистов по информационной безопасности.

Ключевые темы:

  • Основы Zero Trust, механизмы доверия, политики безопасности, контекстно-зависимые агенты
  • Внедрение безопасности на уровне архитектуры системы
  • Миграция с периметровой защиты на Zero Trust в реальных инфраструктурах
  • Кейсы внедрения Zero Trust в различных организациях
  • Архитектуры, стандарты и методологии Zero Trust, разработанные NIST, CISA, Министерством обороны США и другими организациями.

“Доверяй. Но проверяй. Всегда.”

Книга подробно объясняет модель безопасности сетей с нулевым доверием (Zero Trust ) — современный подход, который отвергает традиционную периметровую защиту, заменяя ее принципами: «всегда предполагай взлом» и «никогда не доверяй, но проверяй».

Приведены практические сценарии внедрения Zero Trust, включая построение безопасных систем в ненадежных сетях.

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

Zero Trust — это не просто стратегия, а образ мышления, который подвергает сомнению устоявшиеся представления,тщательно анализирует каждое взаимодействие и защищает наши цифровые системы от невидимых угроз.
Эта книга предлагает практические рекомендации для технических директоров, инженеров и ИТ-специалистов, начинающих внедрение Zero Trust.

Энн Джонсон, вице-президент по корпоративной безопасности Microsoft

Лучшее руководство по Zero Trust для новичков и профессионалов.

Каран Двиведи, менеджер по инженерной безопасности Google

 

Книгу “Сети с нулевым доверием: Построение безопасных систем в ненадежных сетях (2 издание)” можно купить в нашем интенет-магазине.

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

7-е издание книги “Linux глазами хакера”

Linux глазами хакера. 7-е издание

Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описано базовое администрирование и управление доступом, настройка Firewall, файлообменный сервер, WEB-, FTP- и Proxy-сервера, программы для доставки электронной почты, службы DNS, а также политика мониторинга системы и архивирование данных. Приведены потенциальные уязвимости, даны рекомендации по предотвращению возможных атак и показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных. В седьмом издании обновлена информация с учетом последней LTS-версии Ubuntu и добавлено больше примеров обеспечения безопасности Linux, поиска уязвимостей, в том числе и в веб-приложениях.

На сайте издательства размещены дополнительная документация и программы в исходных кодах.

Для пользователей, администраторов и специалистов по безопасности

В книге рассмотрены:

• Безопасность Linux
• Оптимизация ОС и сервисов
• Атаки хакеров на Linux
• Защита сервера от хакеров
• Предотвращение возможных атак
• Примеры для CentOS и Ubuntu

Листать

Несмотря на явное стремление Linux поселиться в домашних компьютерах, настройка этой операционной системы пока ещё слишком сложная и зависит от множества параметров, особенно когда речь идет о настройке сервера. Настройка клиентского окружения достигла простоты, способной конкурировать с Windows, но тонкий тюнинг пока требует от пользователя подготовки. Если просто оставить параметры по умолчанию, то об истинной безопасности Linux не может быть и речи. Книга посвящена безопасности ОС Linux. Она будет полезна как начинающим, так и опытным пользователям, администраторам и специалистам по безопасности. Описание Linux начинается с самых основ и заканчивается сложными настройками, при этом каждая глава рассматривает тему с точки зрения производительности и безопасности.

В книге вы найдёте необходимую информацию по настройке ОС Linux и популярных сервисов с учетом современных реалий. Вы узнаете, как хакеры могут атаковать ваш сервер и как уже на этапе настройки сделать всё необходимое для защиты данных.

Книгу “Linux глазами хакера. 7-е издание” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие. 11

QualitySource. 15

Второе издание. 17

Третье издание. 17

Четвертое издание. 18

Пятое издание. 18

Шестое издание. 19

Седьмое издание. 19

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

Глава 1. Прежде чем начать… 21

1.1. Ядро. 22

1.2. Дистрибутивы.. 23

1.2.1. Red Hat Linux. 24

1.2.2. CentOS. 24

1.2.3. SUSE Linux. 25

1.2.4. Debian. 25

1.2.5. Ubuntu. 25

1.2.6. Raspbian. 26

Глава 2. Установка и начальная настройка Linux. 27

2.1. Подготовка к установке. 27

2.2. Начало установки. 29

2.3. Разбивка диска. 30

2.3.1. Файловые системы.. 32

2.3.2. Ручное создание разделов. 34

2.4. Выбор пакетов для установки. 37

2.5. Завершение установки. 40

2.6. Пароль. 41

2.7. Первый старт. 44

2.8. Мы в системе. 48

2.9. Подсказки. 50

2.10. Основы конфигурирования. 50

2.10.1. Запрещено то, что не разрешено. 51

2.10.2. Настройки по умолчанию.. 51

2.10.3. Пароли по умолчанию.. 52

2.10.4. Безопасность против производительности. 52

2.10.5. Внимательность. 53

2.11. Обновление. 54

2.12. Устройство Linux: ядро и модули. 54

2.13. Установка дополнительных пакетов в Ubuntu. 56

2.14. Установка дополнительных пакетов в CentOS. 58

2.15. Редактирование файлов. 58

Глава 3. Добро пожаловать в Linux. 60

3.1. Файловая система. 61

3.1.1. Основные команды.. 63

pwd. 63

  1. ls. 63

cat 64

tac. 65

more и less. 65

head. 65

tail 65

  1. cd. 66
  2. cp. 66

find. 67

grep. 68

mkdir. 69

rm.. 69

rmdir. 70

shred. 70

df 71

mount 71

umount 74

tar. 74

rpm.. 75

which. 75

locate. 75

whereis. 76

3.1.2. Безопасность файлов. 76

Дата и время изменения. 77

Контрольные суммы.. 78

Что контролировать?. 79

Замечания по работе с файлами. 79

3.1.3. Ссылки. 80

Жесткие ссылки. 81

Символьные ссылки. 82

3.1.4. Сохранение в файл. 83

3.2. Загрузка системы.. 84

3.2.1. Автозагрузка. 84

3.2.2. GRUB2. 87

3.2.3. Интересные настройки загрузки. 88

3.3. Регистрация в системе. 88

3.3.1. Теневые пароли. 89

3.3.2. Забытый пароль. 90

3.3.3. Модули аутентификации. 91

3.3.4. Сложность паролей. 92

3.4. Процессы.. 93

3.4.1. Смена режима. 94

3.4.2. Остановка процессов. 95

3.4.3. Просмотр процессов. 96

3.4.4. «Зомби»: поиск и устранение. 98

3.4.5. Завершение процесса. 100

3.4.6. Приоритеты.. 101

3.5. Планирование задач. 101

3.5.1. Формирование задания. 101

3.5.2. Планировщик задач. 103

3.5.3. Безопасность запланированных работ. 105

3.6. Настройка сети. 106

3.6.1. Адресация. 107

3.6.2. Информация о сетевых подключениях. 108

3.6.3. Изменение параметров сетевого подключения. 109

3.6.4. Утилита ip. 110

3.6.5. Базовые настройки сети. 111

3.6.6. Протокол IPv6. 112

3.6.7. Смена железного адреса. 113

3.7. Работа с модулями ядра. 114

3.8. Переменная $PATH.. 116

Глава 4. Управление доступом.. 117

4.1. Права доступа. 117

4.1.1. Назначение прав. 119

4.1.2. Владелец файла. 121

4.1.3. Правила безопасности. 122

4.1.4. Права по умолчанию.. 122

4.1.5. Права доступа к ссылкам.. 123

4.1.6. Права доступа — списки доступа. 124

4.2. Управление группами. 126

4.2.1. Добавление группы.. 127

4.2.2. Редактирование группы.. 128

4.2.3. Удаление групп. 128

4.3. Управление пользователями. 128

4.3.1. Файлы и папки нового пользователя. 131

4.3.2. Изменение настроек по умолчанию.. 132

4.3.3. Редактирование пользователя. 133

4.3.4. Удаление пользователя. 133

4.3.5. Настройка процедуры добавления пользователей. 134

4.3.6. Взлом паролей. 136

4.4. Типичные ошибки распределения прав. 137

4.5. Привилегированные программы.. 139

4.6. Дополнительные возможности защиты.. 141

4.7. Защита служб. 142

4.8. Получение прав root 145

4.9. Права приложений. 146

4.10. Сетевой экран. 147

4.10.1. Фильтрация пакетов. 149

4.10.2. Параметры фильтрации. 150

Протоколы.. 152

Фильтрация портов. 152

Фильтрация адресов. 153

Фильтрация нежелательных адресов. 154

Фильтрация неверных адресов. 154

Фильтрация в Linux. 155

4.10.3. Брандмауэр — не панацея. 156

4.10.4. Брандмауэр как панацея. 156

4.10.5. Конфигурирование брандмауэра. 157

4.10.6. Основные возможности iptables. 158

4.10.7. Переадресация. 161

4.10.8. Сохраняем таблицу. 162

4.10.9. Утилита firewalld. 162

4.10.10. Uncomplicated Firewall: упрощенное управление. 163

4.11. Некоторые нюансы работы с брандмауэром.. 163

4.11.1. Обход сетевого экрана. 164

4.11.2. Безопасный Интернет. 166

4.11.3. Дополнительная защита. 168

4.12. Запрет и разрешение хостов. 169

4.13. Советы по конфигурированию брандмауэра. 170

4.14. Повышение привилегий. 171

4.15. Запрет ICMP. 177

Глава 5. Администрирование. 178

5.1. Полезные команды для сетевых соединений. 178

5.1.1. ping. 179

5.1.2. netstat 181

5.1.3. telnet 181

5.1.4. r-команды.. 184

5.2. Шифрование. 184

5.2.1. Программа stunnel 189

5.2.2. Дополнительные возможности OpenSSL.. 190

5.2.3. Шифрование файлов. 191

5.2.4. Туннель глазами хакера. 192

5.2.5. Шифрование домашнего каталога. 194

5.3. Протокол SSH.. 196

5.3.1. Конфигурационные файлы.. 197

5.3.2. Основные параметры конфигурации сервера SSH.. 197

5.3.3. Параметры доступа к серверу sshd. 200

5.3.4. Конфигурирование клиента SSH.. 201

5.3.5. Пример работы клиента SSH.. 202

5.3.6. Вход по ключу. 202

5.3.7. Защищенная передача данных. 205

5.4. Демон inetd/xinetd. 206

5.4.1. Конфигурирование xinetd. 207

5.4.2. Безопасность. 209

5.5. Анализ безопасности дистрибутива. 210

5.6. Постучись в мою дверь. 213

Глава 6. В стиле Samba. 217

6.1. Конфигурирование Samba. 218

6.1.1. Основные настройки. 220

6.1.2. Безопасность. 220

6.1.3. Сеть. 222

6.1.4. Замена сервера Windows. 223

6.1.5. Поддержка WINS и DNS. 223

6.1.6. Отображение файлов. 224

6.2. Описание объектов. 224

6.2.1. Пора домой. 224

6.2.2. Доменный вход. 225

6.2.3. Распечатка. 226

6.2.4. Общий доступ. 226

6.2.5. Личные каталоги. 227

6.2.6. CD-ROM… 228

6.3. Управление пользователями. 228

6.4. Использование Samba. 230

Глава 7. Веб-cервер. 232

7.1. Основные настройки. 233

7.2. Модули. 235

7.3. Права доступа. 236

7.4. Создание виртуальных веб-серверов. 241

7.5. Еще несколько слов о безопасности. 243

7.5.1. Файлы .htaccess. 244

7.5.2. Файлы паролей. 245

7.5.3. Проблемы авторизации. 247

7.5.4. Обработка на сервере. 247

7.6. Проще, удобнее, быстрее. 248

7.7. Безопасность сценариев. 249

7.7.1. Основы безопасности сценариев. 250

7.7.2. Модуль mod_security. 252

7.7.3. Секреты и советы.. 254

Ограничение сценариев. 254

Резервные копии. 254

7.8. Индексация веб-страниц. 255

7.9. Безопасность подключения. 257

7.10. Тестирование безопасности. 259

Глава 8. Электронная почта. 261

8.1. Настройка sendmail 263

8.2. Безопасность сообщений. 266

8.3. Полезные команды.. 266

8.4. Безопасность sendmail 267

8.4.1. Баннер-болтун. 267

8.4.2. Только отправка почты.. 268

8.4.3. Права доступа. 268

8.4.4. Лишние команды.. 268

8.4.5. Выполнение внешних команд. 269

8.4.6. Доверенные пользователи. 269

8.4.7. Отказ от обслуживания. 270

8.5. Почтовая бомбардировка. 270

8.6. Спам.. 271

8.6.1. Блокировка приема спама. 271

Фильтрация серверов. 272

Фильтрация сообщений. 272

8.6.2. Блокировка пересылки спама. 274

8.7. Сервер Postfix. 276

8.7.1. Псевдонимы.. 277

8.7.2. Ретрансляция. 277

Глава 9. Шлюз в Интернет. 278

9.1. Работа прокси-сервера. 278

9.2. Кэширование. 282

9.3. Прокси-сервер squid. 282

9.3.1. Директивы настройки HTTP. 283

9.3.2. Директивы настройки FTP. 284

9.3.3. Настройка кэша. 284

9.3.4. Журналы.. 287

9.3.5. Разделение кэша. 287

9.3.6. Дополнительные директивы.. 288

9.4. Права доступа к squid. 289

9.4.1. Список контроля доступа. 289

9.4.2. Определение прав. 291

9.4.3. Аутентификация. 292

9.5. Некоторые нюансы работы со squid. 293

9.5.1. Безопасность сервиса. 293

9.5.2. Ускорение сайта. 294

9.5.3. Маленький секрет поля User Agent 294

9.5.4. Защита сети. 295

9.5.5. Борьба с баннерами и всплывающими окнами. 295

9.5.6. Подмена баннера. 296

9.5.7. Борьба с запрещенными сайтами. 299

9.5.8. Ограничение канала. 300

9.6. Защита прокси-сервера: squidGuard. 303

9.7. Шлюз в Интернет. 306

Глава 10. Передача файлов. 308

10.1. Протокол FTP. 309

10.1.1. Команды протокола FTP. 309

10.1.2. Сообщения сервера. 312

10.1.3. Передача файлов. 314

10.1.4. Режим канала данных. 315

10.2. Сервер ProFTPd. 316

10.3. Еще несколько слов о протоколе FTP. 318

Глава 11. DNS-сервер. 319

11.1. Введение в DNS. 320

11.2. Локальный файл hosts. 321

11.3. Внешние DNS-серверы.. 322

11.4. Настройка DNS-сервиса. 325

11.5. Файлы описания зон. 326

11.6. Обратная зона. 328

11.7. Безопасность DNS. 329

Глава 12. Мониторинг системы.. 331

12.1. Автоматизированная проверка безопасности. 332

12.2. Закрываем SUID- и SGID-двери. 335

12.3. Проверка конфигурации. 336

12.4. Журналирование. 339

12.4.1. Основные команды.. 339

who. 339

users. 340

last 340

history. 340

lastlog. 341

lsof 342

12.4.2. Системные текстовые журналы.. 342

12.4.3. Журнал FTP-сервера. 344

12.4.4. Журнал прокси-сервера squid. 346

12.4.5. Журнал веб-сервера. 347

12.4.6. Программа syslogd. 347

12.4.7. Программа rsyslog. 352

12.4.8. Утилита logrotate. 355

12.4.9. Пользовательские журналы.. 358

12.4.10. Обратите внимание! 359

12.5. Работа с журналами. 360

12.5.1. Команда tail 361

12.5.2. Программа swatch. 362

12.5.3. Программа Logsurfer 363

12.5.4. Программа Logcheck/LogSentry. 363

12.6. Безопасность журналов. 363

12.7. Мониторинг ресурсов. 365

Глава 13. Резервное копирование и восстановление. 367

13.1. Основы резервного копирования. 367

13.2. Доступность на все 100 процентов. 369

13.3. Хранение резервных копий. 370

13.4. Политика резервирования. 371

13.4.1. Редко, но метко… 372

13.4.2. Зачастили… 372

13.4.3. Часто, но не все… 373

13.4.4. Периодично… 373

13.4.5. Полная копия… 374

13.5. Резервирование в Linux. 374

13.5.1. Копирование. 374

13.5.2. Утилита tar 375

13.5.3. Утилита gzip. 377

13.5.4. Утилита dump. 379

13.6. Защита резервных копий. 380

13.7. Облака. 380

Глава 14. Советы на прощанье. 381

14.1. Пароли. 381

14.2. rootkit: «набор администратора». 384

14.3. backdoor: «потайные двери». 387

14.4. Небезопасный NFS. 388

14.5. Определение взлома. 390

14.5.1. Осведомлен — значит защищен. 390

14.5.2. Ловля на живца. 392

14.6. Тюнинг ОС Linux. 394

14.6.1. Параметры ядра. 394

14.6.2. Тюнинг HDD.. 397

14.6.3. Автомонтирование. 399

14.7. Короткие советы.. 401

14.7.1. Дефрагментация пакетов. 401

14.7.2. Маршрутизация от источника. 401

14.7.3. SNMP. 402

14.7.4. Полный путь. 402

14.7.5. Доверенные хосты.. 403

Заключение. 404

Приложение 1. Команды протокола FTP.. 405

Приложение 2. Полезные программы.. 406

Приложение 3. Интернет-ресурсы.. 408

Приложение 4. Работа в командной строке. 409

Псевдонимы.. 409

Перенаправление. 410

Запуск в фоне. 410

Последовательность команд. 411

 

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

Фленов Михаил

Флёнов Михаил, профессиональный программист. Работал в журнале «Хакер», в котором несколько лет вел рубрики «Hack-FAQ» и «Кодинг» для программистов, печатался в журналах «Игромания» и «Chip-Россия». Автор бестселлеров «Библия Delphi», «Программирование в Delphi глазами хакера», «Программирование на C++ глазами хакера», «Компьютер глазами хакера» и др. Некоторые книги переведены на иностранные языки и изданы в США, Канаде, Польше и других странах.

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

Вышла книга “HTML и CSS. 33 урока для начинающих”

HTML и CSS. 33 урока для начинающих

Описание

В книге 33 иллюстрированных урока, 50 практических упражнений по разработке веб-страниц и веб-сайтов разной сложности и 40 заданий для самостоятельной работы. Дано введение в веб-разработку, раскрыты основы HTML, CSS и работы в WWW. Объяснено, как с помощью  HTML структурировать и форматировать текст, размещать на веб-страницах графические изображения, аудио- и видеоролики, таблицы, гиперссылки, веб-формы с элементами управления. Рассказано, как средствами CSS оформлять веб-страницы, текст, изображения, гиперссылки, веб-формы, элементы управления, задавать фон, местоположение элементов на страницах, создавать элементы непрямоугольной формы, применять фильтры, использовать двухмерные и трехмерные преобразования, создавать анимацию. Рассмотрены вопросы адаптации страниц под мобильные устройства. Электронное приложение-архив на сайте издательства содержит коды всех примеров и учебных веб-сайтов.

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

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

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

Книгу “HTML и CSS. 33 урока для начинающих” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Дронов Владимир Александрович, профессиональный программист, писатель и журналист, работает с компьютерами с 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”.

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

Новинка: “Сети глазами хакера”

Сети глазами хакера

В книге рассматриваются вопросы безопасности компьютерных сетей. Даны практические рекомендации по проведению пентеста сетей Cisco, приведены полезные сведения о протоколе DTP от компании Cisco Systems, представлено подробное руководство по пентесту канального уровня сети, тестированию безопасностии и защите устройств MikroTik. Рассказывается о методах проведения пентестов с минимальным ущербом для сетевой инфраструктуры. Даны советы по эффективному использованию в процессе тестирования на проникновение инструментария Kali Linux, , рассказано об использовании виртуальных машин для постэксплуатации систем. Описаны рекомендации по защите сетевой инфраструктуры от хакерских атак. Практические примеры демонстрируют техники пентеста как для атакующей, так и для защищающейся стороны. Электронный архив на сайте издательства содержит  цветные иллюстрации к книге .

Для специалистов по тестированию на проникновение, экспертов по сетевой безопасности и системных администраторов.

  • Настройка дистрибутива Kali Linux для пентеста сетей
  • Руководство по пентесту канального уровня сети
  • Руководство по пентесту сетей Cisco
  • Руководство по пентесту и защите устройств MikroTik
  • Рекомендации по пентесту сетей с наименьшим ущербом для инфраструктуры
  • Защита сети и сетевого оборудования от хакерских атак

Книгу “Сети глазами хакера” можно купить со скидкой в интернет-магазине издательства “БХВ“.

От автора…………………………………………………………………………………………………. 9

Условные обозначения………………………………………………………………………………………………………………… 9

Предупреждение………………………………………………………………………………………………………………………… 10

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

Глава 1. Как взломать протокол DTP и совершить побег
в другую сеть VLAN……………………………………………………………………………….. 11

Как это работает……………………………………………………………………………………………………………………….. 11

Уязвимость………………………………………………………………………………………………………………………. 13

Виртуальная лаборатория……………………………………………………………………………………………………….. 13

Кастомная эксплуатация уязвимости без использования Yersinia………………………………………… 15

Эксплуатация………………………………………………………………………………………………………………….. 18

Побег в другую сеть VLAN…………………………………………………………………………………………….. 20

Защита………………………………………………………………………………………………………………………………………… 22

Вывод………………………………………………………………………………………………………………………………………….. 22

Глава 2. Большой гайд по пентесту канального уровня сети…………………. 23

Импакт от атак…………………………………………………………………………………………………………………………… 23

Дисклеймер и вооружение………………………………………………………………………………………………………… 23

Как обходить 802.1X…………………………………………………………………………………………………………………. 24

MAC Authentication Bypass……………………………………………………………………………………………. 24

Bridge-based Attack…………………………………………………………………………………………………………. 24

CDP X LLDP………………………………………………………………………………………………………………………………… 27

Reconnaissance………………………………………………………………………………………………………………… 27

CDP Flooding……………………………………………………………………………………………………………………. 29

Нападение на сети VLAN………………………………………………………………………………………………………….. 31

Динамический транк и побег в другие сегменты VLAN………………………………………………. 31

VTP-инъекции и манипуляции базами данных VLAN…………………………………………………. 34

Роли коммутаторов в домене VTP……………………………………………………………………… 35

Типы объявлений в домене VTP…………………………………………………………………………. 35

Атака двойного тегирования…………………………………………………………………………………………. 38

Сетевая разведка и перехват трафика с помощью ARP…………………………………………………………. 40

ARP Harvesting………………………………………………………………………………………………………………… 40

ARP Cache Poisoning……………………………………………………………………………………………………….. 41

Переполнение ассоциативной памяти коммутатора……………………………………………………………… 43

STP Root Hijacking……………………………………………………………………………………………………………………… 44

Как работает STP……………………………………………………………………………………………………………. 44

Атака……………………………………………………………………………………………………………………………….. 45

VLAN ID Enumeration…………………………………………………………………………………………………….. 49

Истощение и подмена DHCP-сервера………………………………………………………………………………………. 51

DHCP Starvation……………………………………………………………………………………………………………… 51

DHCP Spoofing………………………………………………………………………………………………………………… 54

Выводы……………………………………………………………………………………………………………………………………….. 56

Глава 3. Пентестим Ethernet по всем правилам………………………………………. 57

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

Первое подключение………………………………………………………………………………………………………. 57

Discovery-протоколы………………………………………………………………………………………………………. 59

Обнаружение тегов 802.1Q……………………………………………………………………………………………. 59

LLMNR/NBT-NS Poisoning……………………………………………………………………………………………… 61

ARP/NBNS-разведка……………………………………………………………………………………………………….. 61

Обнаружение динамической маршрутизации……………………………………………………………… 63

Обнаружение системы резервирования……………………………………………………………………….. 64

MITM………………………………………………………………………………………………………………………………………….. 65

Мощность железа…………………………………………………………………………………………………………… 66

Разрешение маршрутизации………………………………………………………………………………………….. 66

Потенциальный Storm Control……………………………………………………………………………………….. 66

Обход трассировки (TTL Shift)……………………………………………………………………………………… 66

Восстановление ARP-таблицы после атаки………………………………………………………………… 67

ICMP Redirect………………………………………………………………………………………………………………….. 67

Конфигурация NAT………………………………………………………………………………………………………… 67

Модуль nf_conntrack для протоколов No NAT Friendly……………………………………………… 67

Выбор масок подсетей при ARP Spoofing…………………………………………………………………….. 67

Особенность атаки при STP (MITM)…………………………………………………………………………….. 68

Ethernet-туннели при пивотинге……………………………………………………………………………………………….. 68

Таблица векторов………………………………………………………………………………………………………………………. 69

Выводы……………………………………………………………………………………………………………………………………….. 69

Глава 4. Большой гайд по пентесту сетей Cisco……………………………………… 71

Перехват и дешифровка ключа TACACS+………………………………………………………………………………. 71

Шаг 1: MITM-атака……………………………………………………………………………………………………….. 72

Шаг 2: Loki………………………………………………………………………………………………………………………. 73

Атаки на протокол CDP…………………………………………………………………………………………………………….. 78

Сбор информации…………………………………………………………………………………………………………… 78

DoS-атака CDP Flooding…………………………………………………………………………………………………. 79

Злоупотребление динамическим транкингом…………………………………………………………………………. 82

Сетевой паралич при атаке на VTP…………………………………………………………………………………………. 85

Какие бывают роли в VTP-домене………………………………………………………………………………… 85

Типы объявлений……………………………………………………………………………………………………………. 86

Атаки на протокол EIGRP…………………………………………………………………………………………………………. 88

Разведка в сети………………………………………………………………………………………………………………… 89

Подключение к домену маршрутизации EIGRP………………………………………………………….. 91

Поддельные соседи EIGRP…………………………………………………………………………………………….. 94

Черная дыра……………………………………………………………………………………………………………………. 95

Злоупотребление K-значениями……………………………………………………………………………………. 97

Переполнение таблиц маршрутизации………………………………………………………………………… 98

MITM-атака через абьюз проприетарных FHRP-протоколов Cisco…………………………………… 101

Зачем нужен FHRP……………………………………………………………………………………………………….. 101

Угон GLBP и перехват трафика…………………………………………………………………………………… 101

Роли в GLBP-домене и терминология………………………………………………………………. 102

GLBP Hijacking………………………………………………………………………………………………….. 102

Loki……………………………………………………………………………………………………………………… 102

Угон HSRP и перехват трафика…………………………………………………………………………………… 108

Роли в HSRP-домене и терминология………………………………………………………………. 108

Версии протокола HSRP…………………………………………………………………………………… 109

HSRP Hijacking………………………………………………………………………………………………….. 109

Authentication Bypassing…………………………………………………………………………………… 111

Loki……………………………………………………………………………………………………………………… 112

Эксплуатация Cisco Smart Install……………………………………………………………………………………………. 115

Эксфильтрация конфигурации и перечисления через SNMP……………………………………………….. 117

cisco_config_tftp……………………………………………………………………………………………………………. 118

snmp_enum……………………………………………………………………………………………………………………. 118

Постэксплуатация взломанного устройства…………………………………………………………………………. 119

Bruteforce hashes…………………………………………………………………………………………………………… 119

Cisco EEM……………………………………………………………………………………………………………………… 122

Прячемся от вывода команды show run…………………………………………………………… 123

Прячемся от вывода команды show ssh…………………………………………………………… 123

Прячемся от вывода команды show users………………………………………………………… 123

Прячемся от вывода команды show log
(локальное логирование Cisco IOS)…………………………………………………………………. 123

Lateral VLAN Segmentation Bypass……………………………………………………………………………… 123

Configuration Enumeration……………………………………………………………………………………………. 127

Классическое перечисление конфигурации……………………………………………………. 127

Cisco IOS ver. enumeration………………………………………………………………………………… 128

CCAT………………………………………………………………………………………………………………….. 129

Выводы……………………………………………………………………………………………………………………………………… 130

Глава 5. Защищаем сети от спуфинг-атак…………………………………………….. 131

DHCP Snooping…………………………………………………………………………………………………………………………. 131

DAI & IPSG……………………………………………………………………………………………………………………. 133

Обнаружение и блокировка инструмента Responder…………………………………………………………… 135

Анализ процесса отравления………………………………………………………………………………………. 135

ACL………………………………………………………………………………………………………………………………… 137

VACL и VMAP………………………………………………………………………………………………………………. 138

Сигнатура для Suricata………………………………………………………………………………………………… 139

Блокировка инструмента mitm6…………………………………………………………………………………………….. 139

Блокировка на основе VMAP………………………………………………………………………………………. 141

Безопасность дерева STP………………………………………………………………………………………………………… 141

Безопасность горячей системы резервирования FHRP………………………………………………………… 142

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

Максимальный приоритет…………………………………………………………………………………………… 143

Защита динамической маршрутизации…………………………………………………………………………………. 144

Пассивные интерфейсы………………………………………………………………………………………………… 145

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

Выводы……………………………………………………………………………………………………………………………………… 146

Глава 6. Защищаем сетевое оборудование от атак на примере Cisco IOS 147

Безопасность коммутационной матрицы CAM…………………………………………………………………….. 147

Защита DHCP-сервера от атак истощения……………………………………………………………………………. 148

Домены отказоустойчивости HSRP & GLBP…………………………………………………………………………. 149

Отключение DP………………………………………………………………………………………………………………………… 150

Выключение DTP и смена NVLAN…………………………………………………………………………………………. 150

Риски при интеграции использованных ранее коммутаторов Cisco…………………………………… 151

Безопасность линии VTY………………………………………………………………………………………………………… 152

Пароли Cisco IOS……………………………………………………………………………………………………………………… 152

Безопасность при работе с SNMP………………………………………………………………………………………….. 153

Осторожность при фильтрации ICMP……………………………………………………………………………………. 153

No Full Cone NAT……………………………………………………………………………………………………………………… 153

No Port Forward…………………………………………………………………………………………………………………………. 154

Защита от UPnP-инъекций………………………………………………………………………………………………………. 154

Выводы……………………………………………………………………………………………………………………………………… 154

Глава 7. Пентестим сетевое оборудование MikroTik…………………………….. 155

Проблемы сетевой безопасности……………………………………………………………………………………………. 155

DAI…………………………………………………………………………………………………………………………………. 155

RA Guard……………………………………………………………………………………………………………………….. 155

Абьюз DP……………………………………………………………………………………………………………………….. 156

Спуфинг в системе резервирования VRRPv3………………………………………………………………………… 156

Перечисление информации………………………………………………………………………………………….. 157

Инъекция……………………………………………………………………………………………………………………….. 158

GARP-кадр…………………………………………………………………………………………………………………….. 159

Уклонение от трассировки…………………………………………………………………………………………… 160

Проблема асимметричной маршрутизации……………………………………………………………….. 160

Маршрутизация……………………………………………………………………………………………………………. 161

Импакт…………………………………………………………………………………………………………………………… 162

RouterOS Traffic Hijacking………………………………………………………………………………………………………. 162

GreenDog — Easy Hack #196 (Caster Flip)…………………………………………………………………… 162

TZSP……………………………………………………………………………………………………………………………….. 163

Угон трафика………………………………………………………………………………………………………………… 164

Обработка TZSP-заголовков……………………………………………………………………………………….. 165

RouterOS Pivoting……………………………………………………………………………………………………………………… 166

L3 GRE VPN…………………………………………………………………………………………………………………… 166

L2 EoIP VPN………………………………………………………………………………………………………………….. 168

Выводы……………………………………………………………………………………………………………………………………… 171

Глава 8. Защищаем оборудование MikroTik от хакерских атак……………. 173

Неиспользуемые интерфейсы…………………………………………………………………………………………………. 173

Discovery-протоколы……………………………………………………………………………………………………………….. 173

Безопасность Winbox на L2……………………………………………………………………………………………………. 174

DHCP Snooping…………………………………………………………………………………………………………………………. 174

Настройка файрвола……………………………………………………………………………………………………………….. 175

Корректная обработка трафика………………………………………………………………………………….. 176

Аккуратная работа с ICMP…………………………………………………………………………………………. 176

TTL Shift………………………………………………………………………………………………………………………… 176

Риск DNS-флуда……………………………………………………………………………………………………………. 176

Drop All Other…………………………………………………………………………………………………………………. 177

Динамическая маршрутизация………………………………………………………………………………………………. 177

Пассивные интерфейсы………………………………………………………………………………………………… 177

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

Безопасность системы резервирования VRRP………………………………………………………………………. 178

Проблема псевдобалансировки………………………………………………………………………………….. 178

Безопасность дерева STP………………………………………………………………………………………………………… 179

Осторожность при выборе STP Root…………………………………………………………………………… 180

Безопасность панели управления (MGMT)…………………………………………………………………………… 180

Защита RMI………………………………………………………………………………………………………………….. 180

Защита учетных записей на оборудовании………………………………………………………………. 181

Выводы……………………………………………………………………………………………………………………………………… 181

Глава 9. Используем провайдерские протоколы для пивотинга…………… 183

TUN vs TAP……………………………………………………………………………………………………………………………….. 183

Осторожность при адресации TAP-интерфейсе……………………………………………………………………. 184

GRE (L3)……………………………………………………………………………………………………………………………………. 184

IPIP (L3)…………………………………………………………………………………………………………………………………….. 186

GRETAP (L2)…………………………………………………………………………………………………………………………….. 188

VXLAN (L2)………………………………………………………………………………………………………………………………. 191

EoIP (L2)……………………………………………………………………………………………………………………………………. 193

Пивотинг против Windows………………………………………………………………………………………………………. 195

Выводы……………………………………………………………………………………………………………………………………… 196

Глава 10. Используем виртуальный MikroTik для постэксплуатации Windows     197

Caster Remix……………………………………………………………………………………………………………………………… 197

CHR Deploy………………………………………………………………………………………………………………………………. 198

VXLAN-туннелирование…………………………………………………………………………………………………………. 200

Атака…………………………………………………………………………………………………………………………………………. 202

Зачистка……………………………………………………………………………………………………………………………………. 203

Выводы……………………………………………………………………………………………………………………………………… 204

Глава 11. Закаляем дистрибутив Kali Linux и учимся не шуметь в сети.. 205

Above………………………………………………………………………………………………………………………………………… 205

Обращение к репозиториям…………………………………………………………………………………………………….. 207

Операции с хостнеймом системы…………………………………………………………………………………………… 207

TTL……………………………………………………………………………………………………………………………………………. 208

Отключение NTP………………………………………………………………………………………………………………………. 208

Работа с netfilter……………………………………………………………………………………………………………………….. 209

Отключение ICMP Redirect……………………………………………………………………………………………………… 209

Рандомизация MAC-адреса……………………………………………………………………………………………………. 209

Минимизация шума…………………………………………………………………………………………………………………. 210

F31…………………………………………………………………………………………………………………………………………….. 212

Выводы……………………………………………………………………………………………………………………………………… 213

Глава 12. Пентестим сети с наименьшим ущербом………………………………. 215

Маршрутизация трафика и неразборчивый режим……………………………………………………………… 215

Возможностьи порта коммутатора………………………………………………………………………………………… 215

NAT Helper, маскардинг и его побочные эффекты………………………………………………………………… 216

Поиск чувствительных данных в эфире……………………………………………………………………… 216

Ядро linux…………………………………………………………………………………………………………………………………. 216

TCP Window Scaling………………………………………………………………………………………………………. 217

Обход VLAN-сегментации (Cisco 2960)…………………………………………………………………………………. 217

DHCP Spoofing, но без Exhaustion………………………………………………………………………………………….. 218

ARP Scanning……………………………………………………………………………………………………………………………. 219

ARP Spoofing…………………………………………………………………………………………………………………………….. 219

Спуфинг в системе горячего резервирования FHRP……………………………………………………………… 220

Необходимость использовать GARP………………………………………………………………………….. 220

Спуфинг в сети с динамической маршрутизацией……………………………………………………………….. 221

Спуфинг дерева STP………………………………………………………………………………………………………………… 221

Выводы……………………………………………………………………………………………………………………………………… 222

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

Базаров Магама Магирович

Базаров Магама Магирович — пентестер и специалист по безопасности сетей. Автор статей в журнале “Хакер”, опубликованных под псевдонимом Caster, а также многочисленных докладов на конференции OFFZONE.

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

Новинка: “Сети Linux. Модели и приложения”

Сети Linux. Модели и приложения

Последовательно разобраны различные стороны сетевой инфраструктуры в Linux: базовые понятия сетей и TCP/IP, программные инструменты управления сетевым трафиком, программирование пользовательских сетевых приложений и драйверов сетевых протоколов для ядра Linux. Также исследованы  сети TOR, Yggdrasil, I2P, адресация IPv6, службы DNS, DHCP, SSH, DNS-системы разрешения имён EmerDNS и Alfis, что позволяет оценить тенденции развития современного Интернета.

Для специалистов по безопасности, сетевых администраторов, программистов

Новейшие сетевые разработки.

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

В первой части книги подробно рассказано о протоколе IPv6, который в настоящее время постепенно приходит на смену протоколу IPv4, доминировавшему на протяжении последних 30 лет.

Следующая часть подробно иллюстрирует, как устанавливать, настраивать и использовать все основные протокольные механизмы и инструменты, обеспечивающие работу Интернета и локальных сетей: DNS, DHCP, SSH.

Последняя часть, самая свежая с хронологической точки зрения, содержит выборочный обзор альтернативных проектов «Интернет завтрашнего дня»: сети TOR, Yggdrasil, I2P, альтернативные DNS-системы разрешения имён EmerDNS и Alfis. Хотя рассмотренные технологии выбраны на вкус автора, но в целом дают весьма полное впечатление о том, как эволюционирует современный Интернет.

Автор этой книги на протяжении свыше 40 лет являлся непосредственным участником разработки проектов из области системотехники и программного обеспечения разного масштаба и разной целевой ориентации. При этом практически все из них в большей или меньшей мере были связаны с сетевыми обменами. Предлагаемый в этой книге материал является обобщением практического опыта автора.

Это книга о том как выживать в эпоху обрушения сети Интернет.
автор книги

Книгу “Сети Linux. Модели и приложения” можно купить со скидкой в интернет-магазине издательства “БХВ“.

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

Что есть и чего нет в книге?……………………………………………………………………………………………………………… 7

Соглашения и выделения, принятые в тексте…………………………………………………………………………………….. 8

Код примеров и замеченные опечатки……………………………………………………………………………………………….. 8

Источники использованной информации…………………………………………………………………………………………… 8

Об авторе………………………………………………………………………………………………………………………………………… 9

Часть I. Сетевой стек: архитектура………………………………………………………………………………………. 10

RFC……………………………………………………………………………………………………………………………………………….. 10

Принципы сетевого стека………………………………………………………………………………………………………………… 12

Инкапсуляция данных…………………………………………………………………………………………………………….. 13

Cетевой порядок байтов………………………………………………………………………………………………………….. 14

Адреса MAC………………………………………………………………………………………………………………………………….. 15

Разрешение аппаратных адресов………………………………………………………………………………………………. 18

Адреса IP……………………………………………………………………………………………………………………………………….. 19

IPv4……………………………………………………………………………………………………………………………………….. 20

Маски и подсети……………………………………………………………………………………………………………. 20

Широковещательный и групповой обмен……………………………………………………………………….. 22

Частные адреса………………………………………………………………………………………………………………. 23

Частные IPv4 и NAT……………………………………………………………………………………………………… 24

IPv6……………………………………………………………………………………………………………………………………….. 24

Префикс адреса……………………………………………………………………………………………………………… 25

Сокращения записи IPv6………………………………………………………………………………………………… 26

Локальные адреса………………………………………………………………………………………………………….. 28

Синтаксис записи IPv6…………………………………………………………………………………………………… 29

Прогноз………………………………………………………………………………………………………………………… 31

Адресные переменные в программном коде…………………………………………………………………………….. 32

Разрешение адресов и имен……………………………………………………………………………………………………… 34

Разрешение имен в программном коде…………………………………………………………………………… 35

Сетевые интерфейсы………………………………………………………………………………………………………………………. 37

Таблица маршрутизации………………………………………………………………………………………………………….. 44

Управление роутингом………………………………………………………………………………………………….. 46

Алиасные IP-адреса………………………………………………………………………………………………………………… 49

Петлевой интерфейс……………………………………………………………………………………………………………….. 53

Переименование сетевого интерфейса……………………………………………………………………………………… 54

Альтернативные имена………………………………………………………………………………………………….. 56

Порты транспортного уровня………………………………………………………………………………………………………….. 58

Источники использованной информации…………………………………………………………………………………………. 59

Часть II. Протоколы и инструменты прикладного уровня………………………………………………. 61

Инструменты диагностики………………………………………………………………………………………………………………. 61

Инструменты наблюдения………………………………………………………………………………………………………. 63

Инструменты тестирования…………………………………………………………………………………………………….. 67

Сервисы сети и systemd…………………………………………………………………………………………………………………… 69

Протокол SSH……………………………………………………………………………………………………………………………….. 70

Передача файлов по SSH………………………………………………………………………………………………………… 74

SSH и Midnight Commander…………………………………………………………………………………………………….. 75

Графическая сессия в SSH………………………………………………………………………………………………………. 79

SSH в скриптах………………………………………………………………………………………………………………………. 80

Протокол DHCP…………………………………………………………………………………………………………………………….. 81

Разрешение имен: служба DNS……………………………………………………………………………………………………….. 85

Локальный DNS-резолвер bind……………………………………………………………………………………………….. 86

Кеширующий DHCP/DNS-сервер Dnsmasq……………………………………………………………………………… 87

Кеширующий DNS-сервер средствами systemd………………………………………………………………………… 93

Оптимизация используемых серверов DNS…………………………………………………………………………….. 96

Защищенность сети: брандмауэр……………………………………………………………………………………………………. 100

Брандмауэр ufw…………………………………………………………………………………………………………………….. 102

Суперсервер inetd…………………………………………………………………………………………………………………………. 107

Сервер telnet…………………………………………………………………………………………………………………………. 109

Сокетная активация в systemd……………………………………………………………………………………………….. 112

Прокси-серверы……………………………………………………………………………………………………………………………. 118

Прокси сквозь SSH………………………………………………………………………………………………………………. 125

Клиенты прокси……………………………………………………………………………………………………………………. 125

Кто и как использует прокси?………………………………………………………………………………………………… 128

Источники использованной информации……………………………………………………………………………………….. 130

Часть III. Программирование сетевых приложений……………………………………………………….. 131

Общие принципы………………………………………………………………………………………………………………………….. 131

Клиент и сервер…………………………………………………………………………………………………………………….. 132

Сети датаграммные и потоковые……………………………………………………………………………………………. 132

Фазы соединения TCP………………………………………………………………………………………………….. 134

Адаптивные механизмы TCP……………………………………………………………………………………….. 135

Сообщения прикладного уровня в TCP………………………………………………………………………… 136

Присоединенный UDP…………………………………………………………………………………………………. 138

Сетевые сокеты и операции…………………………………………………………………………………………………………… 138

Обменные операции………………………………………………………………………………………………………………. 144

Параметры сокета…………………………………………………………………………………………………………………. 147

Использование сокетного API……………………………………………………………………………………………….. 149

UDP клиент-сервер……………………………………………………………………………………………………… 150

TCP клиент-сервер………………………………………………………………………………………………………. 152

Клиент-сервер в UNIX-домене…………………………………………………………………………………….. 157

Управляющие операции………………………………………………………………………………………………………………… 157

Классы обслуживания сервером……………………………………………………………………………………………………. 158

Последовательный сервер……………………………………………………………………………………………………… 162

Параллельный сервер……………………………………………………………………………………………………………. 162

Предварительное клонирование процесса………………………………………………………………………………. 163

Создание потока по запросу…………………………………………………………………………………………………… 164

Пул потоков…………………………………………………………………………………………………………………………. 165

Последовательный сервер с очередью обслуживания……………………………………………………………… 167

Суперсервер и сокетная активация…………………………………………………………………………………………. 168

Расширенные операции ввода/вывода……………………………………………………………………………………………. 175

Примеры реализации…………………………………………………………………………………………………………….. 176

Неблокируемый ввод/вывод…………………………………………………………………………………………………. 176

Замечания к примерам…………………………………………………………………………………………………. 177

Мультиплексирование ввода/вывода……………………………………………………………………………………… 179

Замечания к примерам…………………………………………………………………………………………………. 182

Ввод/вывод, управляемый сигналом……………………………………………………………………………………… 183

Асинхронный ввод/вывод……………………………………………………………………………………………………… 184

Символьный сокет……………………………………………………………………………………………………………………….. 185

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

Источники использованной информации……………………………………………………………………………………….. 187

Часть IV. Драйверы сетевых устройств в ядре Linux……………………………………………………….. 188

Введение в модули ядра……………………………………………………………………………………………………………….. 189

Сборка модуля……………………………………………………………………………………………………………………… 189

Точки входа и завершения…………………………………………………………………………………………………….. 190

Вывод диагностики модуля…………………………………………………………………………………………………… 191

Загрузка модулей………………………………………………………………………………………………………………….. 192

Параметры загрузки модуля………………………………………………………………………………………… 194

Подсчет ссылок использования……………………………………………………………………………………………… 198

Структуры данных сетевого стека…………………………………………………………………………………………………. 199

Путь пакета сквозь стек протоколов……………………………………………………………………………………………… 200

Прием: традиционный подход……………………………………………………………………………………………….. 200

Прием: высокоскоростной интерфейс…………………………………………………………………………………….. 201

Передача пакетов………………………………………………………………………………………………………………….. 204

Драйверы: сетевой интерфейс………………………………………………………………………………………………………… 205

Статистика интерфейса………………………………………………………………………………………………………….. 211

Виртуальный сетевой интерфейс……………………………………………………………………………………………. 213

Протокол сетевого уровня……………………………………………………………………………………………………………. 218

Еще раз о виртуальном интерфейсе……………………………………………………………………………………….. 224

Протокол транспортного уровня…………………………………………………………………………………………………… 230

Источники использованной информации……………………………………………………………………………………….. 233

Часть V. За границами традиций Интернета……………………………………………………………………. 234

Обсуждение………………………………………………………………………………………………………………………………….. 234

Стек Tor……………………………………………………………………………………………………………………………………….. 236

Tor как прокси для любых служб…………………………………………………………………………………………… 237

Ресурсы onion……………………………………………………………………………………………………………………….. 239

Mesh-сети…………………………………………………………………………………………………………………………………….. 242

Сеть Yggdrasil………………………………………………………………………………………………………………………. 243

Выбор пиров для хоста………………………………………………………………………………………………… 247

Майнинг IPv6-адресов…………………………………………………………………………………………………. 252

Yggdrasil в локальной сети…………………………………………………………………………………………… 259

Короткие адреса…………………………………………………………………………………………………………… 261

Работа в Yggdrasil без установки клиента……………………………………………………………………… 263

Скоростные показатели………………………………………………………………………………………………… 265

Еще одна сеть: I2P………………………………………………………………………………………………………………… 269

Запуск сети………………………………………………………………………………………………………………….. 270

Использование сети……………………………………………………………………………………………………… 272

Доступ к ресурсам извне………………………………………………………………………………………………. 274

Альтернативные DNS…………………………………………………………………………………………………………………… 277

Регистрация домена………………………………………………………………………………………………………………. 277

Блокчейн как регистратор домена………………………………………………………………………………………….. 278

EmerСoin………………………………………………………………………………………………………………………………. 279

OpenNIC……………………………………………………………………………………………………………………… 287

Alfis……………………………………………………………………………………………………………………………………… 289

Доступ к локальным хостам………………………………………………………………………………………………………….. 296

Источники использованной информации……………………………………………………………………………………….. 300

Некоторые краткие итоги…………………………………………………………………………………………………….. 302

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

Цилюрик Олег Иванович

Цилюрик Олег Иванович — программист-разработчик с более чем 40-летним опытом, преподаватель, автор книг по Linux и Unix , в том числе «Расширения ядра Linux. Драйверы и модули» и «Linux и Go. Эффективное низкоуровневое программирование», высоко оцененных профессионалами и широкой читательской аудиторией.

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

Новинка: “Kubernetes и сети. Многоуровневый подход”

Kubernetes и сети. Многоуровневый подход

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

 Для Linux-разработчиков, DevOps-инженеров и системных администраторов

 

Авторы помогут вам быстро познакомиться со всеми тонкостями, возникающими при развёртывании Kubernetes в больших контейнерных конфигурациях. Если хотите преуспеть в поддержке  продакшен-кластера и эффективно устранять в нём неполадки, то нужно уверенно различать абстракции, предоставляемые на каждом из уровней OSI. Как – читайте в этой книге.

  • Изучите сетевую модель Kubernetes
  • Выберите для ваших кластеров наилучший интерфейс, соответствующий требованиям CNCF
  • Исследуйте примитивы сетевого уровня и операционной системы Linux, лежащие в основе Kubernetes
  • Научитесь быстро устранять сетевые проблемы и предотвращать простои
  • Узнайте, как при помощи Kubernetes организуются и поддерживаются облачные сети
  • Взвесьте достоинства и недостатки различных сетевых инструментов и научитесь наилучшим образом формировать стек для обслуживания сети

 

Книгу “Kubernetes и сети. Многоуровневый подход” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие…………………………………………………………………………………………….. 9

Просто еще один пакет?………………………………………………………………………………………………………………. 9

Для кого эта книга……………………………………………………………………………………………………………………….. 9

Что вы узнаете……………………………………………………………………………………………………………………………. 10

Обозначения, используемые в данной книге…………………………………………………………………………… 10

Использование примеров программ…………………………………………………………………………………………. 10

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

Глава 1. Введение в сетевые технологии………………………………………………… 13

История сетевых технологий……………………………………………………………………………………………………. 13

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

TCP/IP…………………………………………………………………………………………………………………………………………. 20

Уровень приложения………………………………………………………………………………………………………. 22

HTTP………………………………………………………………………………………………………………………… 22

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

TCP…………………………………………………………………………………………………………………………… 25

TLS…………………………………………………………………………………………………………………………… 36

UDP………………………………………………………………………………………………………………………….. 38

Уровень межсетевого взаимодействия………………………………………………………………………….. 39

Протокол Интернета………………………………………………………………………………………………………. 39

Движение по сети……………………………………………………………………………………………………. 44

ICMP………………………………………………………………………………………………………………………… 47

Уровень канала данных…………………………………………………………………………………………………. 49

Снова наш веб-сервер…………………………………………………………………………………………………….. 54

Заключение………………………………………………………………………………………………………………………………… 56

Глава 2. Поддержка сети в ОС Linux……………………………………………………… 59

Базовые понятия………………………………………………………………………………………………………………………… 59

Сетевой интерфейс…………………………………………………………………………………………………………………….. 63

Интерфейс сетевого моста………………………………………………………………………………………………………… 64

Обработка пакетов в ядре Linux………………………………………………………………………………………………. 66

Netfilter (межсетевой фильтр)…………………………………………………………………………………………. 66

Conntrack…………………………………………………………………………………………………………………………. 70

Маршрутизация……………………………………………………………………………………………………………… 72

Высокоуровневая маршрутизация…………………………………………………………………………………………… 73

Утилита iptables………………………………………………………………………………………………………………. 74

Таблицы iptables…………………………………………………………………………………………………….. 75

Цепочки iptables……………………………………………………………………………………………………… 75

Подцепочки…………………………………………………………………………………………………………….. 79

Правила iptables…………………………………………………………………………………………………….. 80

Практическое применение iptables……………………………………………………………………….. 82

IPVS………………………………………………………………………………………………………………………………….. 85

eBPF…………………………………………………………………………………………………………………………………. 87

Средства сетевой диагностики…………………………………………………………………………………………………. 90

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

ping…………………………………………………………………………………………………………………………………… 91

traceroute…………………………………………………………………………………………………………………………. 92

dig…………………………………………………………………………………………………………………………………….. 93

telnet…………………………………………………………………………………………………………………………………. 95

nmap………………………………………………………………………………………………………………………………… 96

netstat……………………………………………………………………………………………………………………………….. 97

netcat………………………………………………………………………………………………………………………………… 98

Openssl……………………………………………………………………………………………………………………………… 99

cURL………………………………………………………………………………………………………………………………. 100

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

Глава 3. Основы работы с контейнерами…………………………………………….. 103

Введение в контейнеры……………………………………………………………………………………………………………. 103

Приложения…………………………………………………………………………………………………………………… 103

Гипервизор……………………………………………………………………………………………………………………. 104

Контейнеры…………………………………………………………………………………………………………………… 105

OCI…………………………………………………………………………………………………………………………. 108

LXC………………………………………………………………………………………………………………………… 109

runC……………………………………………………………………………………………………………………….. 109

containerd………………………………………………………………………………………………………………. 109

lmctfy…………………………………………………………………………………………………………………….. 110

rkt…………………………………………………………………………………………………………………………… 110

Docker……………………………………………………………………………………………………………………. 110

CRI-O…………………………………………………………………………………………………………………….. 111

Примитивы контейнеров…………………………………………………………………………………………………………. 113

Контрольные группы……………………………………………………………………………………………………. 113

Пространства имен………………………………………………………………………………………………………. 114

Задание пространств имен………………………………………………………………………………………….. 116

Основы сетей контейнеров……………………………………………………………………………………………………… 123

Сетевая модель Docker…………………………………………………………………………………………………. 132

Оверлейная сеть……………………………………………………………………………………………………………. 134

Сетевой интерфейс контейнера…………………………………………………………………………………… 135

Подключение контейнера к сети…………………………………………………………………………………………….. 137

Соединение контейнер-контейнер………………………………………………………………………………. 142

Взаимодействие между контейнерами на разных хостах………………………………………… 144

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

Глава 4. Cети в Kubernetes……………………………………………………………………. 147

Сетевая модель Kubernetes……………………………………………………………………………………………………… 147

Узел и конфигурация сети подов……………………………………………………………………………………………. 150

Изолированные сети…………………………………………………………………………………………………….. 151

Плоские сети…………………………………………………………………………………………………………………. 152

Островные сети…………………………………………………………………………………………………………….. 153

Конфигурация компонента kube-controller-manager…………………………………………………. 154

Kubelet………………………………………………………………………………………………………………………………………. 155

Готовность пода и ее проверка………………………………………………………………………………………………. 156

Спецификация интерфейса CNI……………………………………………………………………………………………… 162

Плагины CNI…………………………………………………………………………………………………………………………….. 163

Интерфейс IPAM…………………………………………………………………………………………………………… 164

Распространенные плагины CNI………………………………………………………………………………… 165

Компонент kube-proxy…………………………………………………………………………………………………………….. 170

Режим userspace……………………………………………………………………………………………………………. 171

Режим iptables……………………………………………………………………………………………………………….. 171

Режим IPVS……………………………………………………………………………………………………………………. 173

Режим kernelspace…………………………………………………………………………………………………………. 173

Сетевая политика…………………………………………………………………………………………………………………….. 173

Создание объекта NetworkPolicy с помощью Сilium…………………………………………………. 177

Группировка подов………………………………………………………………………………………………………. 182

Тип LabelSelector………………………………………………………………………………………………….. 183

Правила…………………………………………………………………………………………………………………………. 185

DNS                                                                                                                                                                 189

Двойной стек IPv4/ IPv6………………………………………………………………………………………………………….. 194

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

Глава 5. Сетевые абстракции в Kubernetes…………………………………………… 197

StatefulSet…………………………………………………………………………………………………………………………………. 198

Конечные точки……………………………………………………………………………………………………………………….. 200

Endpoint Slices…………………………………………………………………………………………………………………………… 204

Сервисы Kubernetes…………………………………………………………………………………………………………………. 208

NodePort…………………………………………………………………………………………………………………………. 209

ClusterIP…………………………………………………………………………………………………………………………. 212

Headless-сервис…………………………………………………………………………………………………………….. 219

Сервис ExternalName……………………………………………………………………………………………………. 221

Сервис LoadBalancer……………………………………………………………………………………………………. 222

Сервисы Kubernetes — устранение проблем……………………………………………………………… 228

Ингресс……………………………………………………………………………………………………………………………………… 229

Контроллеры и правила ингресса………………………………………………………………………………………….. 230

Задание правил ингресса…………………………………………………………………………………….. 236

Технология service mesh………………………………………………………………………………………………………….. 237

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

Глава 6. Kubernetes и облачные сети……………………………………………………. 251

Amazon Web Services……………………………………………………………………………………………………………….. 251

Сетевые сервисы AWS………………………………………………………………………………………………….. 251

Виртуальное частное облако……………………………………………………………………………… 252

Регионы и зоны доступности………………………………………………………………………………. 252

Подсеть………………………………………………………………………………………………………………….. 253

Таблицы маршрутизации……………………………………………………………………………………. 254

Эластичный сетевой интерфейс………………………………………………………………………….. 256

Эластичный IP-адрес…………………………………………………………………………………………… 256

Средства обеспечения безопасности…………………………………………………………………. 257

Устройства преобразования сетевых адресов………………………………………………….. 260

Шлюз Интернета………………………………………………………………………………………………….. 260

Эластичные балансировщики нагрузки…………………………………………………………….. 261

Эластичный сервис Kubernetes от Amazon………………………………………………………………… 264

Узлы EKS………………………………………………………………………………………………………………. 264

Режим EKS…………………………………………………………………………………………………………….. 265

Инструмент eksctl…………………………………………………………………………………………………. 268

CNI для виртуального облака в AWS…………………………………………………………………. 270

Ингресс-контроллер для AWS ALB…………………………………………………………………….. 272

Развертывание приложения в кластере AWS EKS…………………………………………………….. 274

Развертывание кластера EKS……………………………………………………………………………… 274

Развертывание тестового приложения……………………………………………………………….. 276

Тестирование сервиса LoadBalancer для веб-сервера……………………………………… 277

Развертывание и тестирование ингресс-контроллера для ALB………………………. 278

Уборка мусора……………………………………………………………………………………………………… 281

Вычислительное облако Google (GCP)…………………………………………………………………………………… 282

Сетевые сервисы GCP…………………………………………………………………………………………………… 282

Регионы и зоны……………………………………………………………………………………………………… 283

Виртуальное частное облако……………………………………………………………………………… 283

Подсеть………………………………………………………………………………………………………………….. 284

Маршруты и правила брандмауэров…………………………………………………………………. 285

Облачная балансировка нагрузки……………………………………………………………………… 285

Инстансы GCE………………………………………………………………………………………………………. 286

Google Kubernetes Engine (GKE)…………………………………………………………………………………… 286

GKE-узлы в облаке Google…………………………………………………………………………………… 287

Azure………………………………………………………………………………………………………………………………………….. 290

Сетевые сервисы Azure………………………………………………………………………………………………… 290

Базовая инфраструктура Azure…………………………………………………………………………… 291

Подсети…………………………………………………………………………………………………………………. 292

Таблицы маршрутизации……………………………………………………………………………………. 292

Публичные и частные IP-адреса………………………………………………………………………… 295

Группы сетевой безопасности…………………………………………………………………………….. 295

Взаимодействие вне пределов виртуальной сети……………………………………………… 297

Балансировщик нагрузки в Azure……………………………………………………………………….. 297

Azure Kubernetes Service……………………………………………………………………………………………….. 300

Плагин CNI для Аzure………………………………………………………………………………………….. 302

Ингресс-контроллер для шлюза приложения……………………………………………………. 303

Развертывание приложения с помощью Azure Kubernetes Service…………………………… 304

Развертывание кластера с помощью Azure Kubernetes Service………………………… 305

Соединение с кластером AKS и его конфигурирование……………………………………. 310

Развертывание веб-сервера…………………………………………………………………………………. 313

Заключительные замечания по AKS…………………………………………………………………… 315

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

Vallery-Lancey

Валлери Лэнси (Vallery Lancey) — инженер по распределённым системам, ранее отвечала за поддержку мультикластера Kubernetes в компании Lyft, работала ведущим DevOps-инженером в компании CheckFront (Британская Колумбия, Канада).

 

 

James Strong

Джеймс Стронг (James Strong) — директор по облачной интеграции в компании Contino, имеет опыт руководящей работы и консультирования многих крупных предприятий и финансовых институтов, участвует в работе конференций AWS User Group и Cloud-Native Louisville. Ранее работал системным администратором в Дейтонском университете, штат Огайо и в компании «GE Appliances».