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

Вышло 7-е издание: “Самоучителя системного администратора”

Самоучитель системного администратора, 7 изд.

Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, описаны средства мониторинга и обслуживания как малых, так и распределённых сетей. Рассмотрены методы централизованного управления, основы создания безопасной среды. Даны рекомендации по поиску неисправностей, обеспечению защиты данных. Параллельно рассмотрены решения на основе операционных систем Windows и Linux с использованием как проприетарных, так и открытых технологий. Книга написана на основе многолетнего опыта разработки и практического администрирования информационных систем.
В 7-м издании весь материал актуализирован для Windows Server 2022 (русская версия), дополнительно рассмотрены файрвол ufw, утилита monit, виртуализация средствами KVM.

Для начинающих системных администраторов

Настольная книга администратора

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

  • Системы высокой доступности и их построение
  • Оптимизация производительности
  • Выбор оборудование и его характеристики
  • Использование облачных технологий
  • Объединение компьютеров Windows, macOS и Linux
  • Контроль и управление. Утилита monit для перезапуска сетевых сервисов
  • Надежная защита данных
  • Виртуализация средствами KVM
  • Практические рекомендации по выбору DLP-системы
  • Информационные системы на основе Windows 10/11/Server 2016/2019/2022

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

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

Что нового вы найдете в седьмом издании?…………………………………………………………………………….. 18

Глава 1. Системное администрирование………………………………………………… 19

Обязанности системного администратора……………………………………………………………………………… 19

Выбор операционной системы: Windows vs Linux…………………………………………………………………. 20

Участие в тендерах……………………………………………………………………………………………………………………. 22

Обновление программного обеспечения…………………………………………………………………………………. 22

О моральных качествах администратора……………………………………………………………………………….. 23

Глава 2. Выбор аппаратных и программных средств…………………………….. 25

Требования к оборудованию информационных систем………………………………………………………… 25

Выбор производителя………………………………………………………………………………………………………… 25

Гарантия и сервис-центры………………………………………………………………………………………………… 27

Выбор процессора……………………………………………………………………………………………………………… 28

Выбор шасси………………………………………………………………………………………………………………………. 30

Выбор материнской платы……………………………………………………………………………………………….. 31

Выбор дисков……………………………………………………………………………………………………………………… 31

Выбор памяти…………………………………………………………………………………………………………………….. 33

Дополнительные требования к коммутационному оборудованию………………………………. 34

Дополнительные требования к аварийным источникам питания…………………………………. 35

Состав программного обеспечения типового предприятия…………………………………………………… 35

Подсистема аутентификации и контроля доступа………………………………………………………….. 36

Подключение Linux к домену: протокол Kerberos…………………………………………………. 36

Настройка конфигурации клиента Kerberos……………………………………………………… 36

Настройка файла nsswitch.conf………………………………………………………………………….. 37

Получение билета Kerberos для учетной записи администратора…………………. 37

Подключение к домену……………………………………………………………………………………….. 37

Проверка подключения………………………………………………………………………………………. 38

Сервер Linux в качестве контроллера домена……………………………………………………….. 38

Совместно используемые ресурсы…………………………………………………………………………………… 38

Учетная запись для анонимного доступа……………………………………………………………….. 39

Работа с Windows-ресурсами в Linux……………………………………………………………………… 40

Установка пакета Samba……………………………………………………………………………………. 40

Настройки Samba……………………………………………………………………………………………….. 40

Подключение к общим ресурсам……………………………………………………………………….. 41

Браузеры Интернета………………………………………………………………………………………………………….. 42

Защита узлов сети……………………………………………………………………………………………………………… 42

Средства удаленного администрирования……………………………………………………………………… 43

Средства резервного копирования…………………………………………………………………………………… 44

Офисный пакет……………………………………………………………………………………………………………………. 46

Электронная почта…………………………………………………………………………………………………………….. 48

Свободное программное обеспечение……………………………………………………………………………… 51

Базовые сведения о работе в *NIX-системах………………………………………………………………………….. 52

Linux-мифы…………………………………………………………………………………………………………………………. 52

Надежность Linux и Windows……………………………………………………………………………………………. 54

Несколько моментов, о которых следует знать пользователям Linux………………………….. 54

Ядро и дистрибутивы……………………………………………………………………………………………….. 54

Файловая система…………………………………………………………………………………………………….. 55

Монтирование файловой системы………………………………………………………………………….. 57

Консоль и графический режим………………………………………………………………………………… 58

Пользователь root……………………………………………………………………………………………………… 58

Структура папок Linux…………………………………………………………………………………………….. 59

Текстовые редакторы: vi и другие…………………………………………………………………………… 59

Выполнение команд с правами другого пользователя………………………………………….. 63

Прикладные программы в Linux……………………………………………………………………………………….. 64

Кросс-платформенный запуск программ…………………………………………………………………………. 65

Установка Linux…………………………………………………………………………………………………………………. 66

Загрузка нескольких операционных систем……………………………………………………………………. 67

Тестирование Linux на виртуальной машине…………………………………………………………………. 67

Глава 3. Структура сети…………………………………………………………………………. 69

Структурированные кабельные сети……………………………………………………………………………………….. 69

Категории СКС…………………………………………………………………………………………………………………… 72

Волоконно-оптические сети……………………………………………………………………………………………… 74

Сети 10G, 40G и 100G………………………………………………………………………………………………………… 75

Схема разъема RJ-45…………………………………………………………………………………………………………. 76

Варианты исполнения СКС………………………………………………………………………………………………. 78

Удлинение кабеля………………………………………………………………………………………………………………. 78

Прокладка силовых кабелей…………………………………………………………………………………………….. 78

Питание по сети Ethernet (PoE)…………………………………………………………………………………………. 79

Требования пожарной безопасности……………………………………………………………………………….. 79

Топология сети…………………………………………………………………………………………………………………… 80

Размеры сегментов сети на витой паре…………………………………………………………………… 80

Уровни ядра, распределения и доступа………………………………………………………………….. 80

Топология каналов распределенной сети предприятия………………………………………… 81

Сеть управления……………………………………………………………………………………………………….. 82

Документирование структуры каналов связи………………………………………………………… 83

Качество сетей связи предприятия…………………………………………………………………………………… 83

Проверка кабельной системы………………………………………………………………………………….. 83

Проверка качества передачи данных……………………………………………………………………… 85

Приоритизация трафика…………………………………………………………………………………………… 85

Варианты приоритизации: QoS, ToS, DiffServ………………………………………………….. 86

Классификация, маркировка, правила приоритизации…………………………………… 88

Как работает приоритизация: очереди…………………………………………………………….. 88

Ограничение полосы пропускания трафика (Traffic shaping)…………………………. 89

Беспроводные сети…………………………………………………………………………………………………………………….. 90

Стандарты беспроводной сети…………………………………………………………………………………………. 92

Проектирование беспроводной сети предприятия………………………………………………………….. 93

Безопасность беспроводной сети……………………………………………………………………………………… 97

Шифрование трафика беспроводной сети……………………………………………………………… 97

Аутентификация пользователей и устройств Wi-Fi……………………………………………….. 97

Безопасность клиента………………………………………………………………………………………………. 98

Настройка транспортных протоколов…………………………………………………………………………………….. 99

Протоколы………………………………………………………………………………………………………………………….. 99

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

Стек протоколов TCP/IP………………………………………………………………………………………………….. 101

Протоколы UPD, TCP, ICMP……………………………………………………………………………………………. 102

Протокол IPv6………………………………………………………………………………………………………………….. 102

Параметры TCP/IP-протокола………………………………………………………………………………………… 103

IP-адрес……………………………………………………………………………………………………………………. 103

Групповые адреса…………………………………………………………………………………………………… 103

Распределение IP-адресов сети малого офиса…………………………………………………….. 104

Подсети и маска адреса…………………………………………………………………………………………. 105

Шлюз (Gateway, default gateway)………………………………………………………………………….. 106

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

Автоматическое присвоение параметров IP-протокола……………………………………… 111

Серверы DHCP…………………………………………………………………………………………………… 111

Адресация APIPA………………………………………………………………………………………………. 112

Назначение адресов при совместном использовании подключения к Интернету           112

Порт………………………………………………………………………………………………………………………….. 113

Протокол ARP…………………………………………………………………………………………………………. 114

Имена компьютеров в сети TCP/IP………………………………………………………………………… 115

Доменные имена Интернета…………………………………………………………………………….. 116

Соотношение доменных имен и IP-адресов компьютеров…………………………….. 117

Серверы доменных имен (DNS)………………………………………………………………………… 117

WINS…………………………………………………………………………………………………………………… 118

Статическое задание имен……………………………………………………………………………….. 118

Последовательность разрешения имен…………………………………………………………… 119

Настройка серверов DHCP и DNS………………………………………………………………………………….. 120

Настройка DHCP…………………………………………………………………………………………………….. 120

Создание и настройка зоны……………………………………………………………………………… 120

Авторизация DHCP-сервера…………………………………………………………………………….. 121

Настройка параметров области………………………………………………………………………. 122

Фиксированные IP-адреса………………………………………………………………………………… 123

Подстройка DHCP под группы клиентов………………………………………………………… 124

Отказоустойчивость DHCP-сервера………………………………………………………………… 125

Обслуживание DHCP-сервером других сегментов сети………………………………… 126

Порядок получения IP-адресов клиентами DHCP………………………………………….. 127

Первичное получение адреса………………………………………………………………….. 127

Продление аренды……………………………………………………………………………………. 127

Диагностика и обслуживание DHCP-сервера………………………………………………… 128

Интеграция DHCP и DNS…………………………………………………………………………………………………. 128

DNS…………………………………………………………………………………………………………………………… 129

Термины DNS…………………………………………………………………………………………………….. 129

Порядок разрешения имен в DNS…………………………………………………………………….. 132

Основные типы записей DNS……………………………………………………………………………. 133

Установка сервера DNS……………………………………………………………………………………. 134

Записи домена Windows……………………………………………………………………………………. 136

Разделение DNS…………………………………………………………………………………………………. 136

Настройка DNS в удаленных офисах……………………………………………………………… 138

Обслуживание и диагностика неисправностей DNS-сервера……………………….. 138

Перенос записей зон………………………………………………………………………………………….. 141

Глава 4. Информационные системы предприятия………………………………… 143

SOHO-сети………………………………………………………………………………………………………………………………… 143

Одноранговые сети………………………………………………………………………………………………………………….. 145

Сеть с централизованным управлением………………………………………………………………………………… 145

Управление локальными ресурсами………………………………………………………………………………. 145

Возможность добавлять рабочие станции в домен……………………………………………… 146

Удаление устаревших записей о компьютерах и пользователях………………………. 148

Изменение настроек системы при подключении ее к домену……………………………… 148

Локальный администратор против доменного……………………………………………………. 149

Исключение компьютера из домена………………………………………………………………… 149

Отключение совместного использования административных ресурсов……… 149

Исключение администратора домена из группы локальных администраторов 150

Блокировка администратора домена на уровне файловой системы……………. 150

Блокирование групповой политики…………………………………………………………………. 150

Проблема аудитора………………………………………………………………………………………………… 151

Методы управления локальной системой……………………………………………………………………… 151

Служба каталогов……………………………………………………………………………………………………………………. 152

Служба каталогов Windows (Active Directory)………………………………………………………………. 153

Домены Windows………………………………………………………………………………………………………………. 154

Подразделение………………………………………………………………………………………………………… 155

Лес……………………………………………………………………………………………………………………………. 156

Сайты……………………………………………………………………………………………………………………….. 156

DN и RDN…………………………………………………………………………………………………………………. 156

Управление структурой домена предприятия………………………………………………………………………. 157

Создание нового домена…………………………………………………………………………………………………. 157

Функциональный уровень домена………………………………………………………………………… 159

Компоненты Active Directory………………………………………………………………………………….. 160

Создание контроллеров домена «только для чтения»…………………………………………. 162

Удаление контроллера домена……………………………………………………………………………… 162

Переименование домена………………………………………………………………………………………… 164

LDAP и Active Directory……………………………………………………………………………………………………. 164

Подключаемся к каталогу по протоколу LDAP…………………………………………………… 164

Синтаксис поисковых запросов LDAP………………………………………………………………….. 165

Команда ldifde………………………………………………………………………………………………………… 167

Делегирование прав…………………………………………………………………………………………………………. 168

Корзина Active Directory: просмотр и восстановление удаленных объектов каталога 169

Учетные записи и права………………………………………………………………………………………………………….. 171

Понятие учетной записи………………………………………………………………………………………………….. 171

Локальные и доменные учетные записи………………………………………………………………………… 173

Группы пользователей…………………………………………………………………………………………………….. 174

Ролевое управление………………………………………………………………………………………………… 176

Результирующее право: разрешить или запретить?……………………………………………. 176

Разрешения общего доступа и разрешения безопасности………………………………….. 177

Наследуемые разрешения: будьте внимательны…………………………………………………. 178

Восстановление доступа к ресурсам……………………………………………………………………. 179

Обход перекрестной проверки………………………………………………………………………………. 180

Изменение атрибутов объектов при операциях копирования и перемещения….. 180

Результирующие права и утилиты………………………………………………………………………… 181

Рекомендации по применению разрешений…………………………………………………………. 182

Создание и удаление учетных записей………………………………………………………………………….. 182

Права учетной записи……………………………………………………………………………………………………… 184

Восстановление параметров безопасности по умолчанию……………………………….. 185

Автоматически создаваемые учетные записи……………………………………………………………….. 187

Встроенные учетные записи пользователей………………………………………………………… 187

Предопределенные учетные записи пользователя………………………………………………. 187

Учетная запись Администратор……………………………………………………………………… 188

Учетная запись Гость……………………………………………………………………………………….. 188

Другие встроенные учетные записи пользователей………………………………………. 188

Встроенные группы………………………………………………………………………………………………… 189

Специальные группы……………………………………………………………………………………………… 191

Рекомендации по использованию операции Запуск от имени Администратора……… 192

Включение сетевого обнаружения в Windows Server 2016/2019/2022……………………….. 193

Глава 5. Работа в глобальной сети……………………………………………………….. 195

Организация доступа к ресурсам Интернета………………………………………………………………………… 195

Сетевая адресация…………………………………………………………………………………………………………… 195

Введение в IPv6………………………………………………………………………………………………………………… 198

NAT — трансляция сетевого адреса………………………………………………………………………………. 199

Реализация NAT средствами службы маршрутизации Windows Server…………….. 199

Аппаратный NAT……………………………………………………………………………………………………. 203

Реализация NAT средствами Linux……………………………………………………………………….. 204

Фильтрация трафика……………………………………………………………………………………………………………….. 204

Демилитаризованная зона………………………………………………………………………………………………. 205

Межсетевой экран (брандмауэр)……………………………………………………………………………………. 205

Выбор межсетевого экрана……………………………………………………………………………………. 206

Нужен ли прокси-сервер?………………………………………………………………………………………. 207

Системы обнаружения вторжений………………………………………………………………………… 207

Варианты межсетевых экранов………………………………………………………………………………………. 208

Программное решение……………………………………………………………………………………………. 208

Аппаратные решения……………………………………………………………………………………………… 209

Настройка параметров межсетевого экрана при помощи групповой политики……….. 209

Межсетевой экран Linux…………………………………………………………………………………………………. 211

Настройки запуска…………………………………………………………………………………………………. 211

Цепочки и правила………………………………………………………………………………………………….. 212

Задание правил брандмауэра……………………………………………………………………………….. 214

Пример настройки брандмауэра…………………………………………………………………………… 217

Брандмауэр UFW……………………………………………………………………………………………………………… 222

Установка и базовая настройка…………………………………………………………………………….. 222

Создание правил для сетевых сервисов……………………………………………………………….. 223

Разрешаем IP-адреса………………………………………………………………………………………………. 224

Запрещаем IP-адреса и службы…………………………………………………………………………….. 224

Сброс правил…………………………………………………………………………………………………………… 224

Оптимизация доступа в Интернет………………………………………………………………………………………….. 224

Основные мероприятия оптимизации…………………………………………………………………………….. 224

Прокси-сервер…………………………………………………………………………………………………………………… 225

Прозрачный прокси………………………………………………………………………………………………… 227

Настройка использования полосы пропускания…………………………………………………. 228

Блокировка рекламы, сайтов «для взрослых» и т. п…………………………………………….. 230

Поддержка SSL……………………………………………………………………………………………………….. 233

Удаленная работа……………………………………………………………………………………………………………………. 235

Виртуальные частные сети…………………………………………………………………………………………….. 235

Удаленное подключение к Linux……………………………………………………………………………………. 236

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

«Тонкие» клиенты……………………………………………………………………………………………………. 238

Использование графических утилит для подключения к Linux………………………….. 239

Подключение филиалов…………………………………………………………………………………………………… 239

Контроллер домена «только для чтения»………………………………………………………………………. 240

Решение DirectAccess……………………………………………………………………………………………………….. 241

Терминальный доступ…………………………………………………………………………………………………………….. 242

Терминальные серверы от Microsoft………………………………………………………………………………. 242

Терминальные клиенты………………………………………………………………………………………….. 242

Режимы терминальных служб……………………………………………………………………………….. 243

Лицензирование терминальных служб…………………………………………………………………. 244

Особенности использования приложений на терминальном сервере……………….. 245

Безопасность терминальных сессий……………………………………………………………………… 245

Подключение к консоли терминального сервера………………………………………………… 246

Подключение администратора к сессии пользователя……………………………………….. 247

Публикация приложений в терминале…………………………………………………………………………… 247

Веб-доступ к терминальному серверу……………………………………………………………………………. 250

Шлюз терминалов……………………………………………………………………………………………………………. 250

Создание локальных копий данных………………………………………………………………………………………. 251

История файлов………………………………………………………………………………………………………………… 251

Технология BranchCache………………………………………………………………………………………………… 252

Доступ из-за межсетевого экрана…………………………………………………………………………………………… 253

Глава 6. Управление информационной системой…………………………………. 255

Состав информационной системы…………………………………………………………………………………………. 255

Построение топологии существующей СКС…………………………………………………………………. 255

Инвентаризация физических каналов связи…………………………………………………………………… 256

Учет компьютеров и программ……………………………………………………………………………………….. 257

Мониторинг функционирования ПО………………………………………………………………………………………. 258

Управление с помощью групповых политик…………………………………………………………………………. 258

Порядок применения множественных политик……………………………………………………………… 259

Совместимость версий групповых политик…………………………………………………………………… 259

Места хранения и условия применения групповых политик……………………………………….. 260

Последствия отключений политик…………………………………………………………………………………. 262

Редактирование групповых политик……………………………………………………………………………… 262

Начальные объекты групповой политики……………………………………………………………………… 265

«Обход» параметров пользователя………………………………………………………………………………… 266

Фильтрация объектов при применении групповой политики………………………………………. 266

Фильтрация при помощи WMI-запросов……………………………………………………………… 267

Настройка параметров безопасности групповых политик………………………………… 267

Предпочтения групповых политик………………………………………………………………………… 267

Рекомендации по применению политик…………………………………………………………………………. 268

Блокирование запуска нежелательных приложений с помощью компонента AppLocker 269

Некоторые особенности политики установки программного обеспечения……………….. 270

Административные шаблоны…………………………………………………………………………………………. 272

Утилиты группового управления…………………………………………………………………………………………… 272

Средства поддержки пользователей………………………………………………………………………………. 273

Удаленный помощник…………………………………………………………………………………………….. 273

Утилиты подключения к рабочему столу…………………………………………………………….. 274

Средства автоматизации — сценарии…………………………………………………………………………………… 276

Использование командной строки………………………………………………………………………………….. 276

Сценарии Visual Basic……………………………………………………………………………………………………… 277

Интерфейс IPMI……………………………………………………………………………………………………………….. 278

Интерфейс WMI……………………………………………………………………………………………………………….. 278

Язык запросов WMI Query Language…………………………………………………………………….. 279

Варианты применения WMI………………………………………………………………………………….. 279

Примеры WMI-сценариев………………………………………………………………………………………. 280

PowerShell………………………………………………………………………………………………………………………….. 281

Утилиты администрирования третьих фирм…………………………………………………………………………. 282

Утилиты от компании Sysinternals………………………………………………………………………………….. 282

Снифферы…………………………………………………………………………………………………………………………. 283

Ideal Administrator……………………………………………………………………………………………………………. 284

Hyena………………………………………………………………………………………………………………………………… 284

Автоматизация установки программного обеспечения……………………………………………………….. 284

Развертывание Windows 8……………………………………………………………………………………………….. 285

Развертывание Windows 10/11………………………………………………………………………………………… 285

Клонирование Windows-систем………………………………………………………………………………………. 285

Подводные камни процесса клонирования………………………………………………………….. 286

Утилита sysprep………………………………………………………………………………………………………. 287

Создание установочного образа системы при помощи утилиты sysprep……. 287

Подготовка диска для существенно отличающейся системы……………………….. 288

Дублирование жесткого диска………………………………………………………………………………. 289

Образы клонируемого диска и их модификация………………………………………………….. 290

Клонирование компьютеров — членов домена…………………………………………………… 290

Клонирование Linux-систем……………………………………………………………………………………………. 290

Средства клонирования Linux……………………………………………………………………………….. 290

Использование Clonezilla……………………………………………………………………………………….. 291

Подготовка программ для «тихой» установки………………………………………………………………. 297

Файлы ответов (трансформаций)………………………………………………………………………….. 298

Использование ключей «тихой» установки………………………………………………………….. 300

Переупаковка………………………………………………………………………………………………………….. 301

Административная установка……………………………………………………………………………….. 303

Развертывание программы в Active Directory………………………………………………………………… 303

Глава 7. Мониторинг информационной системы…………………………………. 309

Основные способы мониторинга……………………………………………………………………………………………. 309

Журналы системы и программ……………………………………………………………………………………….. 309

Протокол SNMP……………………………………………………………………………………………………………….. 310

Опрос служб……………………………………………………………………………………………………………………… 310

Мониторинг с использованием агентов…………………………………………………………………………. 311

Мониторинг на основе протокола SNMP………………………………………………………………………………. 312

Простейшие варианты мониторинга……………………………………………………………………………………… 314

Контроль журналов Windows…………………………………………………………………………………………. 314

Привязка задачи……………………………………………………………………………………………………… 314

Подписка на события……………………………………………………………………………………………… 316

Создание собственных событий в журналах Windows……………………………………….. 316

Настройка журналирования в syslog…………………………………………………………………….. 317

Простейший мониторинг Apache……………………………………………………………………………………. 317

Утилиты мониторинга……………………………………………………………………………………………………… 317

Система мониторинга Nagios………………………………………………………………………………………………….. 318

Необходимость мониторинга сети…………………………………………………………………………………. 318

Установка Nagios……………………………………………………………………………………………………………… 318

Настройка Nagios…………………………………………………………………………………………………………….. 320

Мониторинг в Nagios серверов Windows………………………………………………………………………… 324

Мониторинг Windows-систем на основе WMI……………………………………………………… 327

Мониторинг в Nagios серверов Linux……………………………………………………………………………… 328

Мониторинг систем с использованием протокола SNMP…………………………………………….. 328

Сервер протоколов………………………………………………………………………………………………………………….. 329

Постановка задачи…………………………………………………………………………………………………………… 329

Настройка основного (центрального) сервера……………………………………………………………… 330

Настройка остальных серверов сети……………………………………………………………………………… 333

Протоколирование системой инициализации в Linux………………………………………………………….. 334

Системы мониторинга трафика……………………………………………………………………………………………… 337

Простейшая система мониторинга трафика: darkstat………………………………………………….. 337

Система NeTAMS…………………………………………………………………………………………………………….. 339

Утилита monit………………………………………………………………………………………………………………………….. 343

Мониторинг жестких дисков. Коды S.M.A.R.T……………………………………………………………………… 344

Глава 8. Виртуализация и облачные технологии………………………………….. 351

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

Глоссарий…………………………………………………………………………………………………………………………………. 352

Вендоры виртуальных решений…………………………………………………………………………………………….. 352

Выбор гипервизора………………………………………………………………………………………………………………….. 353

Программное обеспечение и виртуальная среда………………………………………………………………….. 356

Особенности сетевых подключений виртуальных машин…………………………………………… 356

Лицензирование программного обеспечения виртуальных машин……………………………. 357

Создание виртуальных машин……………………………………………………………………………………………….. 358

Создание виртуальной машины путем чистой установки операционной системы…… 358

Клонирование виртуальной машины…………………………………………………………………………….. 359

Снятие образа физического сервера………………………………………………………………………………. 360

Миграция между решениями различных производителей…………………………………………… 360

Некоторые замечания к устройству виртуальных машин…………………………………………………… 362

Жесткие диски………………………………………………………………………………………………………………….. 362

Типы виртуальных дисков……………………………………………………………………………………… 362

Необходимость блочного доступа к виртуальному диску…………………………………. 363

Варианты подключения виртуального диска………………………………………………………. 363

Обслуживание файлов виртуального диска…………………………………………………………. 363

Сохранение состояния виртуальной машины……………………………………………………… 363

Распределение вычислительных ресурсов……………………………………………………………………. 364

Оперативная память………………………………………………………………………………………………………… 364

Сервисные операции……………………………………………………………………………………………………………….. 365

Резервное копирование и антивирусная защита…………………………………………………………… 365

Обмен данными………………………………………………………………………………………………………………… 365

Копирование данных с машины на машину………………………………………………………… 365

Общие папки……………………………………………………………………………………………………………. 365

Миграция виртуальных машин………………………………………………………………………………………. 367

Подключение к виртуальным машинам…………………………………………………………………………. 368

Особенности выключения виртуальных машин……………………………………………………………. 368

Виртуальные рабочие станции………………………………………………………………………………………………. 369

Сравниваем VDI-решения с терминальными клиентами……………………………………………… 369

Немного об экономике VDI……………………………………………………………………………………………… 370

Структура VDI-решений…………………………………………………………………………………………………. 371

Некоторые особенности VDI-решений………………………………………………………………………….. 372

KVM и Virtuozzo (OpenVZ)……………………………………………………………………………………………………… 373

Разница между KVM и Virtuozzo…………………………………………………………………………………….. 373

Виртуализация на основе технологии KVM…………………………………………………………………………. 374

Установка KVM……………………………………………………………………………………………………………….. 374

Создание виртуальной машины……………………………………………………………………………………… 375

Полезные команды…………………………………………………………………………………………………………… 377

Советы по оптимизации виртуальных систем………………………………………………………………………. 378

Виртуализация в сетях передачи данных……………………………………………………………………………… 379

Виртуальные частные сети…………………………………………………………………………………………….. 379

Зачем нужны виртуальные сети?……………………………………………………………………………………. 379

Маркировка кадров…………………………………………………………………………………………………………. 380

Порты и VLAN………………………………………………………………………………………………………………….. 381

Практика настройки VLAN на коммутаторах Cisco…………………………………………………….. 382

Другие производители оборудования……………………………………………………………………………. 384

Настройка VLAN в Linux………………………………………………………………………………………………… 384

Выбор сервера: физический или виртуальный……………………………………………………………………… 386

Нужен ли вашему проекту сервер?………………………………………………………………………………… 386

Стоимость физического сервера…………………………………………………………………………………….. 386

Стоимость виртуального сервера…………………………………………………………………………………… 387

Стоимость содержания физического сервера……………………………………………………………….. 388

Выбор облачного провайдера……………………………………………………………………………………………….. 390

Площадка………………………………………………………………………………………………………………………….. 390

Сертификация ЦОД…………………………………………………………………………………………………. 390

Где расположен ЦОД: в России или за границей?……………………………………………….. 391

Кому принадлежит ЦОД? Можно ли войти и посмотреть, как все устроено?….. 392

Облачная платформа………………………………………………………………………………………………………. 392

Как можно подключиться к «облаку»? Есть ли панель управления?………………… 393

Что представляет собой виртуальное ядро?………………………………………………………… 393

Какие используются дисковые ресурсы? Соответствует ли скорость ресурсов заявленной?            393

Есть ли сервис резервного копирования?……………………………………………………………… 394

Какова пропускная способность интернет-соединения и сколько будет стоить ее расширение?    394

Входит ли в стоимость услуги лицензия на программное обеспечение?………….. 394

Как выполняется тарификация?…………………………………………………………………………….. 394

Есть ли тестовый режим?……………………………………………………………………………………….. 395

Сколько стоит собственная VPN-сеть и какие есть ограничения?……………………… 395

Есть ли какие-либо скрытые платежи — например, за панель управления сервером и т. п.?            395

Поддержка………………………………………………………………………………………………………………………… 395

Виртуализация физического сервера…………………………………………………………………………………….. 395

Установка панели управления на виртуальный Linux-сервер……………………………………………. 398

Настройка терминального Windows-сервера……………………………………………………………………….. 404

Создание виртуального сервера…………………………………………………………………………………….. 404

Оптимальная конфигурация виртуального сервера для бухгалтерской программы «1C:Предприятие»  405

Установка службы удаленных рабочих столов……………………………………………………………. 406

Настройка сервера лицензирования для удаленных рабочих столов……………………….. 411

Установка лицензий службы удаленных рабочих столов…………………………………………… 417

Безопасный запуск программы «1С:Предприятие»………………………………………………………. 420

Песочница Windows…………………………………………………………………………………………………………………. 421

Глава 9. Безопасность………………………………………………………………………….. 425

Безопасность и комфорт………………………………………………………………………………………………………….. 425

Попытаемся разложить по полочкам…………………………………………………………………………………….. 426

Как будем защищать?……………………………………………………………………………………………………………… 427

Три «кита» безопасности………………………………………………………………………………………………………… 428

Организационное обеспечение информационной безопасности………………………………………… 429

План обеспечения непрерывности функционирования информационной системы….. 430

Безопасность паролей……………………………………………………………………………………………………… 430

Токены и смарт-карты……………………………………………………………………………………………. 432

Rainbow-таблицы……………………………………………………………………………………………………. 433

Блокировка учетной записи пользователя…………………………………………………………… 433

Восстановление пароля администратора……………………………………………………………. 434

Методы социальной инженерии…………………………………………………………………………………….. 435

Меры защиты от внешних угроз…………………………………………………………………………………………….. 436

Физическая безопасность………………………………………………………………………………………………… 436

Ограничение доступа к рабочим станциям………………………………………………………….. 437

Межсетевые экраны……………………………………………………………………………………………….. 438

Ограничения подключения нового оборудования………………………………………………. 438

Обеспечение сетевой безопасности информационной системы………………………………….. 439

Контроль проходящего трафика…………………………………………………………………………… 439

Контроль устройств по MAC-адресам…………………………………………………………………. 440

Протокол 802.1х……………………………………………………………………………………………………… 441

Особенности применения протокола 802.1х…………………………………………………… 442

Настройка протокола 802.1х…………………………………………………………………………… 443

Выдача сертификатов компьютерам………………………………………………………. 444

Настройка службы каталогов…………………………………………………………………. 445

Настройка службы RADIUS…………………………………………………………………….. 445

Настройка автоматического назначения VLAN для порта
коммутатора……………………………………………………………………………………………… 445

Настройка клиентского компьютера………………………………………………………. 446

Настройка коммутатора………………………………………………………………………….. 447

Технология NAP……………………………………………………………………………………………………………….. 447

Обнаружение нештатной сетевой активности………………………………………………………………. 448

Контроль состояния программной среды серверов и станций……………………………………………. 449

Индивидуальная настройка серверов……………………………………………………………………………. 449

Security Configuration Manager………………………………………………………………………………. 449

Security Compliance Manager…………………………………………………………………………………. 450

Исключение уязвимостей программного обеспечения…………………………………………………. 450

Уязвимости и эксплойты………………………………………………………………………………………… 450

Как узнать об обновлениях?………………………………………………………………………………….. 451

Проверка системы на наличие уязвимостей…………………………………………………………. 451

Тестирование обновлений……………………………………………………………………………………… 452

Обновления операционных систем Linux…………………………………………………………….. 453

Индивидуальные обновления Windows-систем……………………………………………………. 454

Обновление Windows-систем на предприятии……………………………………………………… 455

Установка обновлений через групповые политики……………………………………………… 456

Защита от вредоносных программ…………………………………………………………………………………. 456

График обновления антивирусных баз…………………………………………………………………. 459

Внимательность пользователя………………………………………………………………………………. 459

Обезвреживание вирусов……………………………………………………………………………………….. 460

Защита от вторжений………………………………………………………………………………………………………. 461

Программы-шпионы: «троянские кони»……………………………………………………………….. 461

Редактирование списка автоматически загружаемых программ………………………. 465

Безопасность приложений………………………………………………………………………………………………. 466

Основные принципы безопасности приложений…………………………………………………. 466

Единый фонд дистрибутивов и средства контроля запуска
программного обеспечения……………………………………………………………………………………. 467

Неизменность системы…………………………………………………………………………………………………….. 467

Защита от утечки данных……………………………………………………………………………………………………….. 468

Шифрование данных……………………………………………………………………………………………………….. 468

Шифрование данных на устройствах хранения………………………………………………….. 468

Шифрование архивов……………………………………………………………………………………….. 468

Бесплатные программы шифрования данных………………………………………………… 468

Шифрование дисков: коммерческие программы……………………………………………. 470

Шифрование в Linux……………………………………………………………………………………………….. 472

Шифрование файловой системы Windows……………………………………………………………. 475

Шифрование диска при помощи BitLocker…………………………………………………………… 477

Использование BitLocker на компьютерах без TPM………………………………………. 478

Включение шифрования…………………………………………………………………………………… 479

Режим восстановления……………………………………………………………………………………… 479

Шифрование почты………………………………………………………………………………………………… 480

Получение открытого ключа для защищенной переписки……………………………. 481

Получение цифрового сертификата для защищенной переписки…………………. 481

Работа с подписанными и зашифрованными сообщениями в ОС Android…… 484

Шифрование в базах данных…………………………………………………………………………………. 490

Стеганография………………………………………………………………………………………………………… 491

Анализ поведения пользователей…………………………………………………………………………………… 491

DLP-технологии……………………………………………………………………………………………………………….. 492

Инструменты анализа безопасности Windows Server…………………………………………………………… 495

MBSA, Microsoft Baseline Security Alalyzer…………………………………………………………………….. 495

Microsoft Windows Server Best Practice Analyzer……………………………………………………………. 497

SekCheck Security Auditing………………………………………………………………………………………………. 498

Скрипт Windows SEC-Audit……………………………………………………………………………………………… 499

Анонимность работы в глобальной сети……………………………………………………………………………….. 499

Глава 10. Отказоустойчивая информационная система……………………….. 503

Территориальная распределенность…………………………………………………………………………………….. 503

Центры обработки данных (дата-центры)…………………………………………………………………………….. 504

Требования к помещениям………………………………………………………………………………………………. 504

Поддержание в помещении постоянной температуры…………………………………………………. 505

Резервное электроснабжение………………………………………………………………………………………….. 505

Системы пожаротушения………………………………………………………………………………………………… 506

Сетевая инфраструктура………………………………………………………………………………………………………… 506

Выбор правильной топологии сети передачи данных…………………………………………………. 506

Построение отказоустойчивой сети на основе протоколов второго уровня модели OSI     507

Протокол STP…………………………………………………………………………………………………….. 507

Протокол MSTP…………………………………………………………………………………………………. 508

Отказоустойчивая сеть на основе протоколов третьего уровня модели OSI……. 508

Протокол VRRP…………………………………………………………………………………………………. 508

Агрегированные каналы…………………………………………………………………………………… 509

Проприетарные технологии восстановления структуры сети…………………………………….. 510

Фермы серверов……………………………………………………………………………………………………………………….. 510

Отказоустойчивые решения для приложений……………………………………………………………………….. 511

DNS-серверы…………………………………………………………………………………………………………………….. 511

DHCP-сервер…………………………………………………………………………………………………………………….. 512

Кластер Oracle RAC…………………………………………………………………………………………………………. 512

Распределенная информационная база программы «1С:Предприятие»…………………….. 513

Дублирование данных…………………………………………………………………………………………………………….. 513

Зеркалирование серверов баз данных…………………………………………………………………………… 513

Зеркалирование (репликация) данных SQL-серверов…………………………………………. 513

Снимки баз данных…………………………………………………………………………………………………. 514

Настройка клиентских подключений……………………………………………………………………. 514

Распределенная файловая система………………………………………………………………………………… 515

Создание DFS………………………………………………………………………………………………………….. 515

Репликация DFS………………………………………………………………………………………………………. 516

Поддержка DFS в Linux-системах…………………………………………………………………………. 518

Кластеры………………………………………………………………………………………………………………………………….. 518

Кластер Microsoft…………………………………………………………………………………………………………….. 519

Распределенные каталоги………………………………………………………………………………………………………. 521

Репликация данных каталогов……………………………………………………………………………………….. 521

Хозяева операций……………………………………………………………………………………………………. 522

Смена хозяев операций………………………………………………………………………………………….. 523

Сервер глобального каталога (GC)……………………………………………………………………….. 524

Отказоустойчивые решения и виртуальные системы…………………………………………………………… 525

Глава 11. Порядок выявления неисправностей и их устранения………….. 527

Если отказ уже произошел……………………………………………………………………………………………………… 527

Максимальный аптайм……………………………………………………………………………………………………. 528

Восстановление с нуля, или полное фиаско………………………………………………………………….. 528

Запасные детали………………………………………………………………………………………………………………. 529

Где получить помощь?……………………………………………………………………………………………………………. 530

Сбор информации об отказе…………………………………………………………………………………………………… 530

Анализ журналов системы………………………………………………………………………………………………. 531

Средства просмотра журналов системы……………………………………………………………………….. 532

Журналы в Linux: демон syslogd…………………………………………………………………………………….. 533

Централизованное ведение журналов……………………………………………………………………………. 537

Установка триггеров на события протоколов……………………………………………………………….. 538

Настройка аудита событий безопасности…………………………………………………………………….. 538

Особенности отказов различных компонентов…………………………………………………………………….. 539

Мониторинг отказоустойчивой структуры…………………………………………………………………… 540

Неисправности подсистемы передачи данных…………………………………………………………….. 540

Обнаружение неисправностей сетевой инфраструктуры…………………………………… 540

Диагностика IP-протокола…………………………………………………………………………………….. 541

Проверка параметров настройки IP-протокола…………………………………………….. 541

Проверка достижимости ближайших компьютеров сети………………………………. 544

Проверка функционирования серверов имен………………………………………………….. 544

Проверка доступности приложений на удаленном компьютере………………….. 546

Проверка качества канала связи…………………………………………………………………………… 547

Объективные показатели качества канала связи…………………………………………………. 547

Программа Observer………………………………………………………………………………………….. 548

Утилита pathping……………………………………………………………………………………………….. 549

Неисправности аппаратной части компьютера……………………………………………………………. 550

Контроль жестких дисков………………………………………………………………………………………. 551

Восстановление данных с жестких дисков…………………………………………………………… 553

Проверка оперативной памяти………………………………………………………………………………. 553

Контроль теплового режима работы системы…………………………………………………….. 555

Ошибки программного обеспечения………………………………………………………………………………. 556

Восстановление «упавших» систем……………………………………………………………………………………….. 556

Восстановление из резервной копии………………………………………………………………………………. 556

Восстановление загрузчика системы…………………………………………………………………………….. 557

Восстановление загрузки Windows 8…………………………………………………………………….. 557

Восстановление загрузки Windows 10/11…………………………………………………………….. 562

Восстановление загрузки Linux-систем………………………………………………………………… 565

Если опции восстановления недоступны……………………………………………………………… 565

Загрузка в специальных режимах………………………………………………………………………………….. 566

Загрузка Windows в безопасном режиме………………………………………………………………. 566

Загрузка *NIX-систем в однопользовательском режиме…………………………………….. 566

Откат к предыдущим состояниям системы……………………………………………………………………. 567

Загрузка последней удачной конфигурации Windows………………………………………… 567

Загрузка конфигурации из точек восстановления Windows……………………………….. 567

Восстановление Windows путем переустановки…………………………………………………………… 568

Восстановление удаленных данных……………………………………………………………………………… 570

Корзины…………………………………………………………………………………………………………………… 570

Восстановление из теневых копий………………………………………………………………………… 570

История файлов………………………………………………………………………………………………………. 572

Оптимизация настроек компьютера………………………………………………………………………………………. 577

Что такое «медленно»?…………………………………………………………………………………………………….. 578

Основные «узкие места» системы…………………………………………………………………………………… 578

Оценка производительности процессора……………………………………………………………… 579

Оценка использования оперативной памяти………………………………………………………… 581

Оценка дисковой подсистемы………………………………………………………………………………… 582

Показатели производительности дисков………………………………………………………… 582

Пути оптимизации дисковой подсистемы……………………………………………………….. 585

Оценка работы сетевого адаптера и пути оптимизации системы передачи данных 585

Некоторые советы по анализу показаний производительности…………………………………. 587

Оптимизация приложений……………………………………………………………………………………………….. 588

Диагностика службы каталогов и обнаружение ее неисправностей………………………….. 589

Средства тестирования AD……………………………………………………………………………………. 590

Проверка разрешения имен……………………………………………………………………………………. 591

Глава 12. Плановые задачи обслуживания…………………………………………… 593

Ежедневные задачи…………………………………………………………………………………………………………………. 593

Еженедельные задачи……………………………………………………………………………………………………………… 594

Прочие плановые операции……………………………………………………………………………………………………. 595

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

Кенин Александр

Кенин Александр Михайлович, автор более 10 книг компьютерной тематики, вышедших общим тиражом более 500000 экз., делится с читателями своим двадцатилетним опытом проектирования и управления информационными системами.

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

Встречайте: “Программирование на VBA в Excel. Самоучитель”

Программирование на VBA в Excel . Самоучитель

Книга посвящена возможностям программирования на языке Visual Basic for Applications (VBA) в современном офисном приложении Microsoft Office Excel. Приведена информация о сервисах Power по работе с данными, новинках Excel 2021, в том числе о динамических массивах и функциях для работы с ними. Даны теоретические сведения о программировании, элементах объектной модели Excel, запуске и отладке макросов. Рассмотрены вопросы автоматизации рабочего листа при помощи элементов управления Excel. Описаны приемы создания макросов, пользовательских функций и форм в редакторе Visual Basic. Приведены способы взаимодействия при помощи VBA с другими программами пакета Microsoft Office. Для закрепления материала рассмотрены примеры пользовательских приложений в виде листингов программ с анализом и поясняющими комментариями. В приложениях содержатся глоссарии с основными терминами VBA и редактора Visual Basic VBE.

Файлы рабочих книг с поддержкой макросов для каждой главы размещены на сайте издательства.

  • Основы VBA для Excel и настройки безопасности
  • Новинки Excel 2021 и службы Power
  • Объекты, методы, свойства, события
  • Макросы: программирование, запуск и отладка
  • Функции, определенные пользователем
  • Работа с ячейками, датами и временем
  • Динамические массивы в Excel и VBA
  • Графические элементы и диаграммы средствами VBA
  • Создание пользовательских форм, диалоговых окон, сообщений
  • Автоматизация рабочего листа: элементы управления формы и ActiveX

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

Введение………………………………………………………………………………………………… 11

Язык VBA……………………………………………………………………………………………………………………………………. 11

Нововведения Excel 2021 и службы Power……………………………………………………………………………… 11

Совместное редактирование рабочей книги……………………………………………………………………. 12

Службы Power……………………………………………………………………………………………………………………. 12

Динамические массивы……………………………………………………………………………………………………… 17

Новые функции в Excel 2021……………………………………………………………………………………………… 19

Оператор неявного пересечения……………………………………………………………………………………….. 20

Зачем нужен VBA в Excel 2021?……………………………………………………………………………………………….. 21

Объектно-ориентированное программирование…………………………………………………………………….. 22

Общие положения………………………………………………………………………………………………………………. 22

Объект…………………………………………………………………………………………………………………………………. 24

Объектная модель Microsoft Excel 2021…………………………………………………………………………………… 24

Объектная модель VBA……………………………………………………………………………………………………… 24

Объект Application……………………………………………………………………………………………………………… 25

Классы………………………………………………………………………………………………………………………………… 26

Свойства……………………………………………………………………………………………………………………………… 26

Методы……………………………………………………………………………………………………………………………….. 27

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

Глава 1. Основные понятия VBA…………………………………………………………… 31

Базовые конструкции языка Visual Basic…………………………………………………………………………………. 31

Типы данных в VBA…………………………………………………………………………………………………………… 32

Константы и переменные, переменные объектов……………………………………………………………. 34

Область действия переменных и констант……………………………………………………………… 34

Объявление констант и переменных……………………………………………………………………….. 35

Начало работы………………………………………………………………………………………………………………………….. 35

Настройка безопасности…………………………………………………………………………………………………………… 39

Запись макроса………………………………………………………………………………………………………………………….. 41

Имя макроса……………………………………………………………………………………………………………………….. 41

Разработка проекта…………………………………………………………………………………………………………………… 42

Создание модуля……………………………………………………………………………………………………………………….. 44

Создание модуля с помощью контекстно-зависимого меню………………………………………….. 45

Окно кода……………………………………………………………………………………………………………………………. 45

Оператор Option Explicit…………………………………………………………………………………………………… 46

Первая процедура……………………………………………………………………………………………………………………… 47

Объявление переменной в VBA…………………………………………………………………………………………. 48

Оператор Debug.Print………………………………………………………………………………………………………… 49

Автоматический ввод атрибутов команд…………………………………………………………………………. 51

Структура кода процедуры………………………………………………………………………………………………………. 52

Метод Worksheets.Activate…………………………………………………………………………………………………. 53

Активная ячейка ActiveCell……………………………………………………………………………………………….. 53

Открытие книги с макросом………………………………………………………………………………………………. 55

Ввод данных……………………………………………………………………………………………………………………….. 56

Оператор With…………………………………………………………………………………………………………………….. 57

Свойство Selection……………………………………………………………………………………………………………… 58

Свойство Orientation………………………………………………………………………………………………………….. 59

Объект Range………………………………………………………………………………………………………………………. 60

Кнопка (элемент управления ActiveX)……………………………………………………………………………… 61

Свойство Offset…………………………………………………………………………………………………………………… 62

Функция Environ…………………………………………………………………………………………………………………. 63

Функция MsgBox…………………………………………………………………………………………………………………. 64

Константы табуляции Chr(9) и перевода строки Chr(10)………………………………………………. 66

Диалоговое окно, создаваемое функцией InputBox………………………………………………………… 67

Переменная типа String……………………………………………………………………………………………………… 68

Переменная типа Long……………………………………………………………………………………………………….. 68

Переменная типа Byte………………………………………………………………………………………………………… 69

Методы Protect и Unprotect………………………………………………………………………………………………. 69

Запуск макроса при помощи нажатия сочетания клавиш……………………………………………………… 71

Как удалить модуль?…………………………………………………………………………………………………………………. 73

Глава 2. Основы программирования в VBA…………………………………………… 75

Ячейка и диапазон ячеек…………………………………………………………………………………………………………… 75

Арифметические выражения…………………………………………………………………………………………………….. 76

Правила записи арифметических выражений…………………………………………………………………. 77

Арифметические выражения в ячейке………………………………………………………………………………. 77

Арифметические выражения с ячейками………………………………………………………………………….. 78

Обрамление ячейки — метод BorderAround……………………………………………………………………………. 79

Оператор With……………………………………………………………………………………………………………………………. 80

Вложенные операторы With……………………………………………………………………………………………………… 81

Генерация случайных чисел СЛЧИС()……………………………………………………………………………………. 82

Генерация динамического массива случайных чисел RandArray………………………………………… 83

Перевод градусов по Фаренгейту в градусы по Цельсию……………………………………………………… 84

Замена значений формул числом…………………………………………………………………………………………….. 85

Работа с цветом………………………………………………………………………………………………………………………….. 88

Функция RGB………………………………………………………………………………………………………………………. 88

Свойства Color и ColorIndex…………………………………………………………………………………………….. 89

Свойство Color………………………………………………………………………………………………………….. 89

Свойство ColorIndex…………………………………………………………………………………………………. 90

Палитра цветов…………………………………………………………………………………………………………. 93

Подсчет цветов в рисунке…………………………………………………………………………………………. 95

Заливка ячейки цветом……………………………………………………………………………………………… 98

Защита ячеек рабочего листа от форматирования……………………………………………….. 99

Выделение ячеек по цветовому соответствию в диапазоне………………………………… 101

Заливка строк с заданным шагом………………………………………………………………………….. 102

Выделение миганием………………………………………………………………………………………………. 103

Календарь……………………………………………………………………………………………………………….. 105

Заливка ячеек, содержащих формулы………………………………………………………………….. 106

Подсветка минимального и максимального значений………………………………………… 108

Цветовая шкала………………………………………………………………………………………………………. 109

Глава 3. Логические операторы……………………………………………………………. 111

Оператор If…Then…Else…………………………………………………………………………………………………………… 111

Операторы сравнения……………………………………………………………………………………………………………… 111

Неполная форма оператора If…Then……………………………………………………………………………… 113

Полная форма оператора If…Then…Else………………………………………………………………………… 114

Оператор ElseIf…………………………………………………………………………………………………………………. 114

Вложенные логические операторы………………………………………………………………………………………… 115

Примеры использования логических операторов………………………………………………………………… 116

Свойство Name…………………………………………………………………………………………………………………. 116

Свойство Value…………………………………………………………………………………………………………………. 116

Функции IsEmpty и IsNumeric…………………………………………………………………………………………… 117

Свойство Range.HasFormula…………………………………………………………………………………………… 117

Переход к ячейке A2021………………………………………………………………………………………………….. 118

Пример с оператором Case……………………………………………………………………………………………… 119

Функция InputBox…………………………………………………………………………………………………………….. 121

Оператор GoTo…………………………………………………………………………………………………………………. 122

Проверка существования файла…………………………………………………………………………………….. 123

Глава 4. Операторы цикла…………………………………………………………………… 125

Цикл For…To…Step…Next…………………………………………………………………………………………………………. 125

Цикл For…To…Next…………………………………………………………………………………………………………………… 126

Заполнение столбца………………………………………………………………………………………………………… 127

Заполнение столбца с большим шагом………………………………………………………………………….. 128

Отрицательный шаг…………………………………………………………………………………………………………. 128

Выход из цикла по условию……………………………………………………………………………………………. 129

Кнопка для запуска макроса (элемент управления формы)………………………………………………… 130

Вложенный цикл For…To…Next………………………………………………………………………………………. 131

Цикл For…Each…………………………………………………………………………………………………………………………. 133

Цикл Do…Loop………………………………………………………………………………………………………………………….. 134

Цикл While…Wend…………………………………………………………………………………………………………………….. 137

Время работы программы………………………………………………………………………………………………………. 138

Глава 5. Функции, определенные пользователем…………………………………. 145

Построение функций……………………………………………………………………………………………………………….. 145

График функции одной переменной……………………………………………………………………………….. 145

Структура кода функции пользователя…………………………………………………………………………. 146

График функции одной переменной (продолжение)…………………………………………………….. 146

Расчет функции одной переменной с использованием динамических массивов……….. 149

График кусочно-непрерывной функции с двумя условиями………………………………………… 150

Расчет кусочно-непрерывной функции с двумя условиями с использованием динамических массивов   153

График кусочно-непрерывной функции с тремя условиями………………………………………… 154

Расчет кусочно-непрерывной функции с тремя условиями с использованием динамических массивов   156

Названия формул на английском языке…………………………………………………………………………. 158

Пользовательская функция с тремя аргументами…………………………………………………………. 160

Создание собственной категории…………………………………………………………………………………………… 161

Функция без аргументов………………………………………………………………………………………………….. 163

Переименование рабочего листа……………………………………………………………………………………. 164

Функция с аргументом типа Range…………………………………………………………………………………. 165

Функция с массивом…………………………………………………………………………………………………………. 166

Формулы динамического массива………………………………………………………………………………….. 168

Функция с массивом в качестве аргумента……………………………………………………………………. 169

Вызов функции из процедуры…………………………………………………………………………………………. 171

Вызов процедуры, использующей функцию, из другой процедуры……………………………. 173

Запись названий формул…………………………………………………………………………………………………. 174

Вычисление определенного интеграла…………………………………………………………………………………. 176

Метод прямоугольников………………………………………………………………………………………………….. 177

Метод трапеций……………………………………………………………………………………………………………….. 177

Метод Симпсона………………………………………………………………………………………………………………. 177

Переключатели OptionButton…………………………………………………………………………………………………. 180

Глава 6. Пользовательская форма………………………………………………………… 183

Создание форм средствами VBA……………………………………………………………………………………………. 183

Форма UserForm………………………………………………………………………………………………………………………. 183

Семейство форм……………………………………………………………………………………………………………….. 184

Свойства формы……………………………………………………………………………………………………………….. 184

Разметочная сетка……………………………………………………………………………………………………………. 186

Методы формы…………………………………………………………………………………………………………………. 187

События формы………………………………………………………………………………………………………………… 187

Командная кнопка для показа формы……………………………………………………………………………. 188

Элементы управления……………………………………………………………………………………………………………… 190

Префиксы………………………………………………………………………………………………………………………….. 193

Элемент управления Label………………………………………………………………………………………………. 193

Элемент управления CommandButton……………………………………………………………………………. 196

Элемент управления TextBox………………………………………………………………………………………….. 199

Элементы управления OptionButton и Frame………………………………………………………………… 202

Ключевое слово Me………………………………………………………………………………………………………….. 205

Элемент управления ScrollBar……………………………………………………………………………………….. 206

Элемент управления ListBox…………………………………………………………………………………………… 210

Элемент управления ComboBox……………………………………………………………………………………… 213

Элемент управления Image……………………………………………………………………………………………… 216

Элемент управления SpinButton…………………………………………………………………………………….. 220

Элемент управления TabStrip…………………………………………………………………………………………. 224

Элементы управления CheckBox и MultiPage……………………………………………………………….. 228

Элемент управления RefEdit…………………………………………………………………………………………… 232

Элемент управления ToggleButton…………………………………………………………………………………. 235

Пользовательский элемент управления…………………………………………………………………………………. 237

Элементы управления формы…………………………………………………………………………………………………. 238

Элемент управления Полоса прокрутки……………………………………………………………………….. 239

Глава 7. Программирование объектов Shape, инфографики и фракталов 243

Типы объектов, свойства и методы семейства Shapes………………………………………………………….. 243

Тип объекта msoShapeRectangle (прямоугольник) с заливкой (Fill)……………………………. 244

Тип объекта msoConnectorCurve (соединительная линия)…………………………………………… 246

Метод AddConnector……………………………………………………………………………………………………….. 247

Метод Patterned……………………………………………………………………………………………………………….. 248

Рисование линии: метод AddLine……………………………………………………………………………………. 250

Тип объекта msoShapeSmileyFace…………………………………………………………………………………… 251

Свойство Name…………………………………………………………………………………………………………………. 252

Стрелка……………………………………………………………………………………………………………………………… 253

Метод FillFormat.OneColorGradient………………………………………………………………………………. 255

Текстовый фрейм……………………………………………………………………………………………………………… 255

Тип фигуры msoShapeHeart (сердце) с заливкой (Fill)………………………………………………….. 257

Метод Group…………………………………………………………………………………………………………………….. 258

Создание выноски с текстовым фреймом………………………………………………………………………. 259

Свойство ThreeD………………………………………………………………………………………………………………. 260

Частичное и полное удаление фигур……………………………………………………………………………… 262

Оператор Set…………………………………………………………………………………………………………………….. 264

Создание собственных элементов инфографики………………………………………………………………….. 265

Фракталы………………………………………………………………………………………………………………………………….. 267

Тип данных, определенный пользователем…………………………………………………………………… 268

Фракталы из треугольников……………………………………………………………………………………………. 269

Фракталы из многоугольников……………………………………………………………………………………….. 273

Фракталы из четырехугольников…………………………………………………………………………………… 275

Глава 8. Работа с ячейками и областями………………………………………………. 279

Объект Application…………………………………………………………………………………………………………………… 279

Свойства объекта Application…………………………………………………………………………………………. 279

Методы объекта Application…………………………………………………………………………………………… 280

Объект Range……………………………………………………………………………………………………………………………. 281

Адресация ячеек……………………………………………………………………………………………………………….. 281

Свойства объекта Range………………………………………………………………………………………………….. 282

Методы объекта Range……………………………………………………………………………………………………. 284

Объект Selection……………………………………………………………………………………………………………………….. 284

Объект Cell……………………………………………………………………………………………………………………………….. 284

Выделение нескольких областей……………………………………………………………………………………………. 284

Выделение последней ячейки в диапазоне……………………………………………………………………………. 286

Свойство Range.End………………………………………………………………………………………………………………… 287

Выделение ячеек с формулами……………………………………………………………………………………………….. 288

Выделение используемого диапазона данных……………………………………………………………………… 290

Форматирование объединенных ячеек………………………………………………………………………………….. 290

Выделение по условию……………………………………………………………………………………………………………. 292

Удаление символов из ячеек…………………………………………………………………………………………………… 293

Убираем текст………………………………………………………………………………………………………………………….. 294

Имена и фамилии……………………………………………………………………………………………………………………… 295

Метод Delete…………………………………………………………………………………………………………………………….. 297

Метод Clear……………………………………………………………………………………………………………………………… 298

Метод Application.Goto…………………………………………………………………………………………………………… 299

Скрытие данных………………………………………………………………………………………………………………………. 299

Копирование и специальная вставка…………………………………………………………………………………….. 299

Поиск минимума и максимума в диапазоне………………………………………………………………………….. 300

Поиск минимума и максимума в динамическом массиве…………………………………………………….. 301

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

Массив из трех элементов………………………………………………………………………………………………………. 305

Динамический массив данных……………………………………………………………………………………………….. 308

Сравнение областей на одном листе……………………………………………………………………………………… 310

Сравнение областей на разных листах…………………………………………………………………………………. 311

Сортировка………………………………………………………………………………………………………………………………. 316

Сортировка диапазона данных………………………………………………………………………………………. 317

Сортировка областей (блоков)……………………………………………………………………………………….. 318

Простая сортировка блоков…………………………………………………………………………………… 319

Сортировка блоков с изменением ее условий………………………………………………………. 320

Сортировка по цвету……………………………………………………………………………………………………….. 322

Контроль автофильтра посредством VBA…………………………………………………………………………….. 325

Команда Итоги………………………………………………………………………………………………………………………… 325

Сортировка данных при помощи среза…………………………………………………………………………………. 328

Сводные таблицы PivotTable………………………………………………………………………………………………….. 332

Глава 10. Автоматизация диаграмм……………………………………………………… 337

Объектная модель диаграмм…………………………………………………………………………………………………… 337

Типы диаграмм…………………………………………………………………………………………………………………. 339

Свойства объекта Chart…………………………………………………………………………………………………… 342

Методы объекта Chart…………………………………………………………………………………………………….. 342

Первая диаграмма……………………………………………………………………………………………………………………. 343

Создание диаграммы с помощью VBA………………………………………………………………………….. 346

Коническая гистограмма…………………………………………………………………………………………………. 350

Печать диаграмм……………………………………………………………………………………………………………… 352

Удаление диаграммы………………………………………………………………………………………………………. 354

Форматирование параметров диаграммы…………………………………………………………………………….. 355

Форматирование цветов поверхности…………………………………………………………………………………… 357

Добавление линии тренда………………………………………………………………………………………………………. 359

Геолокация……………………………………………………………………………………………………………………………….. 363

Красивые узоры……………………………………………………………………………………………………………………….. 365

Глава 11. Программирование объектов и событий………………………………. 369

Где и как создаются процедуры обработки событий?…………………………………………………………. 370

Процедура для объекта ЭтаКнига…………………………………………………………………………………. 371

События, связанные с нажатием кнопок мыши…………………………………………………………………….. 372

Процедура в модуле………………………………………………………………………………………………………… 372

Событие для объекта Worksheet (Лист)………………………………………………………………………….. 373

Ключевое слово ByVal и параметр Target……………………………………………………………………… 374

Очистка ячейки…………………………………………………………………………………………………………………. 375

Свойства ScrollRow и ScrollColumn……………………………………………………………………………….. 376

События активации и деактивации………………………………………………………………………………………… 376

Свойство приложения ActiveWindow……………………………………………………………………………… 376

Активный лист………………………………………………………………………………………………………………….. 377

Число обращений к макросу…………………………………………………………………………………………… 378

Управление выделением области…………………………………………………………………………………… 379

События Activate и Deactivate рабочего листа……………………………………………………………… 379

Двойной щелчок левой кнопкой мыши…………………………………………………………………………… 380

Щелчок правой кнопкой мыши……………………………………………………………………………………….. 381

Введите пароль………………………………………………………………………………………………………………… 382

Событие закрытия книги…………………………………………………………………………………………………. 383

Событие сохранения книги……………………………………………………………………………………………… 384

Глава 12. Операторы даты и времени…………………………………………………… 385

Вывод даты и времени в окно Immediate оператором Debug.Print……………………………………… 385

Печать даты и времени с помощью функции CDate……………………………………………………………… 386

Функции DateSerial и TimeSerial…………………………………………………………………………………………….. 387

Текущие дата и время……………………………………………………………………………………………………………… 387

Текущие дата и время с учетом минут и секунд……………………………………………………………………. 388

Функция Weekday — день недели…………………………………………………………………………………………… 388

Функция Format……………………………………………………………………………………………………………………….. 389

Функция DateDiff……………………………………………………………………………………………………………………… 391

Функция DatePart…………………………………………………………………………………………………………………….. 391

Функция WeekdayName……………………………………………………………………………………………………………. 392

Вывод сообщения на 3 секунды……………………………………………………………………………………………… 393

Метод Application.OnTime………………………………………………………………………………………………………. 394

Автоматическое заполнение ячеек датами методом AutoFill……………………………………………… 395

Подсветка даты………………………………………………………………………………………………………………………… 397

Поиск даты……………………………………………………………………………………………………………………………….. 398

Календарь………………………………………………………………………………………………………………………………… 400

Календарь по месяцам…………………………………………………………………………………………………………….. 402

Календарь по неделям…………………………………………………………………………………………………………….. 405

Определение возраста…………………………………………………………………………………………………………….. 409

Глава 13. Действия с рабочей книгой…………………………………………………… 411

Свойства объекта Workbook…………………………………………………………………………………………………… 411

Методы объекта Workbook……………………………………………………………………………………………………… 412

Событие и метод Open…………………………………………………………………………………………………………….. 413

Открытие рабочей книги методом Workbooks.Open……………………………………………………… 414

Свойство Application.Dialogs для работы со встроенными диалоговыми окнами……. 415

Открытие рабочей книги в диалоговом окне…………………………………………………………………. 416

Открытие приложения Блокнот……………………………………………………………………………………………… 418

Свойство Workbook.Name……………………………………………………………………………………………………….. 419

Создание рабочей книги…………………………………………………………………………………………………………. 420

Имя приложения………………………………………………………………………………………………………………………. 420

Сохранение рабочей книги…………………………………………………………………………………………………….. 422

Метод Workbook.Save………………………………………………………………………………………………………. 422

Метод Workbook.SaveAs………………………………………………………………………………………………….. 422

Метод Workbook.SaveCopyAs………………………………………………………………………………………….. 425

Сохранение всех книг и выход из программы……………………………………………………………….. 426

Сохранение всех книг и выход по запросу……………………………………………………………………. 426

Защита рабочей книги методом Workbook.Protect……………………………………………………….. 427

Объект Worksheet……………………………………………………………………………………………………………………… 427

Свойства объекта Worksheet…………………………………………………………………………………………… 428

Методы объекта Worksheet и семейства Worksheets…………………………………………………….. 428

Защита рабочего листа методом Worksheet.Protect……………………………………………………… 428

Деление рабочего листа на страницы для печати……………………………………………………………….. 432

Глава 14. Файловые операции……………………………………………………………… 435

Форматы файлов Microsoft Excel……………………………………………………………………………………………. 435

Метод CreateTextFile для объекта FileSystemObject…………………………………………………………….. 436

Список файлов указанной папки……………………………………………………………………………………………. 437

Режим доступа Input/Output……………………………………………………………………………………………………. 438

Файлы из Application.AddIns…………………………………………………………………………………………………… 440

Объект FileDialog…………………………………………………………………………………………………………………….. 442

Функция GetAttr……………………………………………………………………………………………………………………….. 444

Документирование информации о файле………………………………………………………………………………. 445

Проверка существования файла…………………………………………………………………………………………….. 447

Оператор Kill для удаления файла………………………………………………………………………………………… 448

Оператор FileCopy для копирования файла…………………………………………………………………………. 449

Переименование файла…………………………………………………………………………………………………………… 450

Перемещение файла………………………………………………………………………………………………………………… 450

Глава 15. Отладка программ и сообщения об ошибках………………………… 453

Возникновение ошибок……………………………………………………………………………………………………………. 453

Выявление и исправление ошибок…………………………………………………………………………………………. 454

Три окна для просмотра ошибок……………………………………………………………………………………………. 456

Окно просмотра Immediate………………………………………………………………………………………………. 456

Окно Locals……………………………………………………………………………………………………………………….. 458

Окно наблюдения Watches………………………………………………………………………………………………. 459

Объект Err…………………………………………………………………………………………………………………………………. 462

Оператор On Error…………………………………………………………………………………………………………………… 462

Оператор On Error Resume Next………………………………………………………………………………………. 463

Оператор On Error GoTo: вариант 1………………………………………………………………………………. 464

Оператор On Error GoTo: вариант 2………………………………………………………………………………. 465

Константы xlDisabled и xlInterrupt свойства Application.EnableCancelKey………………. 466

Массив листов………………………………………………………………………………………………………………….. 467

Команда меню Debug………………………………………………………………………………………………………………. 468

Глава 16. Программирование связей……………………………………………………. 471

Гиперссылки…………………………………………………………………………………………………………………………….. 471

Кнопка гиперссылки………………………………………………………………………………………………………………… 473

Передача данных из Excel в Word………………………………………………………………………………………….. 475

Внедрение документа Word в Excel……………………………………………………………………………………….. 475

Передача данных из Excel в PowerPoint…………………………………………………………………………………. 477

Передача данных из PowerPoint в Excel…………………………………………………………………………………. 479

Приложение 1. Глоссарий терминов Visual Basic for Applications………….. 481

Приложение 2. Глоссарий терминов Visual Basic Editor………………………… 485

Приложение 3. Описание электронного архива……………………………………. 501

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

Комолова Нина Владимировна, кандидат технических наук, доцент. Автор 17 книг, среди которых “Компьютерная верстка и дизайн”, “Adobe Photoshop CS4-CC для всех“, “Самоучитель CorelDRAW X3-X8“, “Программирование на VBA в Excel 2016/2019“, а также более 50 статей в журналах и сборниках.

 

Яковлева Елена Сергеевна, кандидат технических наук, автор книг “Adobe Photoshop CS4-CC для всех“, “Самоучитель CorelDRAW X8“, “Самоучитель Skype. Бесплатная связь через Интернет”, “3D-графика и видео в Photoshop CS4 Extended”, “Программирование на VBA в Excel 2016” и 30 статей в журналах и сборниках.
Опубликовано

Новинка: “Книга Kaggle. Машинное обучение и анализ данных”

Книга Kaggle. Машинное обучение и анализ данных

Книга рассказывает о продвинутых приёмах машинного обучения и науки о данных (data science) на основе задач, решаемых на всемирно известной платформе Kaggle. Показано (в том числе на примере увлекательных интервью с Kaggle-гроссмейстерами),  как устроена платформа Kaggle и проводимые на ней соревнования. Изложенный материал позволяет развить необходимые навыки и собрать портфолио по машинному обучению, анализу данных, обработке естественного языка, работе с множествами. Подобран уникальный пул задач, охватывающих различные классификационные и оценочные метрики, методы обучения нейронных сетей, схемы валидации, выявление паттернов и трендов в материале любой сложности.

Конкурсы Kaggle – это поле для состязаний, где меряются силами миллионы специалистов по науке о данных (data science), которые сами себя именуют «кэглерами». Участие в таких конкурсах – верный способ профессионально вырасти в области анализа данных, влиться в замечательное сообщество единомышленников и приобрести бесценный опыт для развития карьеры. Авторы книги – грандмастера Kaggle. Они познакомят вас со стратегиями моделирования, которые более нигде не рассмотрены, и подскажут, как удобнее всего обрабатывать изображения, тексты, таблицы, как правильно реализовать обучение с подкреплением. Вы освоите качественные схемы валидации и станете уверенно ориентироваться в самых разных оценочных метриках.

Лука и Конрад рассказали о Kaggle максимально доступно. Оба они – первоклассные профессионалы, пользующиеся большим авторитетом и уважением в сообществе Kaggle. Проштудировав эту книгу, можете смело регистрироваться на Kaggle и рассчитывать на высокие результаты.
Энтони Голдблум, основатель и генеральный директор Kaggle

В книге рассказано:

  • Как устроена соревновательная платформа Kaggle
  • Как выжать максимум из ноутбуков, датасетов и форумов Kaggle
  • Как правильно собирать портфолио проектов и идеи для развития карьеры
  • Как проектировать k-мерные и вероятностные схемы валидации
  • Как освоить наиболее распространённые и экзотические оценочные метрики
  • Как устроена бинарная и многоклассовая классификация объектов, а также их обнаружение
  • Как эффективно обращаться с временными рядами и обработкой естественного языка (NLP)
  • Как преуспеть в задачах на имитационное моделирование и оптимизацию

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

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

Составители. 13

Об авторах. 13

О рецензентах. 14

О респондентах. 15

Введение. 18

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

О чем эта книга. 19

Часть I. Знакомство с соревнованиями. 19

Часть II. Оттачивание соревновательных навыков. 20

Часть III. Использование соревнований в своей карьере. 21

Как получить максимальную отдачу от этой книги. 21

Загрузите файлы с примерами кода. 21

Загрузите цветные изображения. 22

Условные обозначения и соглашения. 22

Часть I. Знакомство с соревнованиями Kaggle. 23

Глава 1. Знакомство с Kaggle и другими соревнованиями
по науке о данных. 25

Появление и рост соревновательных платформ. 26

Соревновательная платформа Kaggle. 28

История Kaggle. 28

Другие конкурсные платформы.. 31

Знакомство с Kaggle. 33

Стадии соревнования. 33

Типы соревнований и примеры.. 36

Отправка решения и таблица результатов. 41

Парадигма каркаса для общих задач. 41

Что может пойти не так. 42

Вычислительные ресурсы.. 44

Kaggle Notebooks 45

Создание команд и нетворкинг. 46

Уровни и рейтинг. 49

Критика и возможности. 50

Резюме. 51

Глава 2. Организация данных. 53

Создание датасета. 53

Сбор данных. 57

Работа с датасетами. 62

Kaggle Datasets и Google Colab. 63

Юридические вопросы. 65

Резюме. 66

Глава 3. Работаем и учимся с Kaggle Notebooks 67

Создание блокнота. 68

Запуск блокнота. 71

Сохранение блокнотов на GitHub. 73

Как получить максимум от Kaggle Notebooks 75

Переход на Google Cloud Platform.. 76

На шаг дальше. 77

Курсы Kaggle Learn. 82

Резюме. 86

Глава 4. Используем форумы.. 87

Как работают форумы. 87

Примеры обсуждений. 92

Сетевой этикет. 97

Резюме. 97

Часть II. Оттачивание соревновательных навыков. 99

Глава 5. Задачи и метрики на соревнованиях. 101

Метрики оценивания и целевые функции. 102

Основные типы задач. 103

Регрессия. 104

Классификация. 104

Задачи ранжирования. 105

Датасет Meta Kaggle. 105

Как быть с незнакомыми метриками. 108

Метрики для задач регрессии. 112

Средний квадрат и R-квадрат.. 112

Среднеквадратичная ошибка. 113

Среднеквадратичная логарифмическая ошибка. 114

Средняя абсолютная ошибка. 115

Метрики для задач классификации. 116

Доля правильных ответов. 116

Точность и полнота. 118

F-мера. 120

Log Loss и ROC-AUC. 120

Коэффициент корреляции Мэтьюса. 122

Метрики для многоклассовой классификации. 123

Метрики для задач детектирования объектов. 129

Отношение площадей ограничивающих рамок. 131

Коэффициент Дайса. 132

Метрики для многоклассовой классификации и построение рекомендаций. 133

MAP@{K}. 133

Оптимизация метрики. 134

Нестандартные метрики и целевые функции. 135

Постобработка предсказаний. 138

Предсказание вероятностей и их корректировка. 139

Резюме. 143

Глава 6. Построение схемы валидации. 144

Подглядывание. 144

Почему важна валидация. 147

Смещение и разброс. 150

Стратегии разделения данных. 152

Контроль на отложенных данных. 153

Вероятностные методы оценки качества. 154

Контроль по k блокам. 154

Случайные разбиения. 162

Бутстрэп. 162

Настройка системы валидации. 166

Применение adversarial validation. 169

Пример реализации. 171

Различные распределения обучающих и тестовых данных. 172

Работа с утечками в данных. 176

Резюме. 180

Глава 7. Моделирование для табличных данных. 182

Tabular Playground Series 183

Начальное состояние случайного генератора и воспроизводимость. 186

Разведочный анализ данных. 188

Понижение размерности методами t-SNE и UMAP. 190

Уменьшение размера данных. 191

Преобразования признаков. 193

Простые производные признаки. 194

Метапризнаки на основе строк и столбцов. 196

Целевое кодирование. 197

Важность признаков и оценка качества. 202

Псевдометки. 205

Удаление шума с помощью автокодировщиков. 207

Нейросети для табличных конкурсов. 210

Резюме. 216

Глава 8. Оптимизация гиперпараметров. 218

Базовые методы оптимизации. 219

Поиск по сетке. 219

Случайный поиск. 221

Поиск сокращением вдвое. 222

Ключевые параметры и их использование. 225

Линейные модели. 225

Машины опорных векторов. 225

Случайные леса и экстремально рандомизированные деревья. 227

Градиентный бустинг над деревьями. 228

LightGBM.. 228

XGBoost 230

CatBoost 231

HistGradientBoosting. 232

Байесовская оптимизация. 235

Использование Scikit-optimize. 236

Настройки байесовской оптимизации. 241

Обобщение байесовской оптимизации на параметры нейронных сетей. 248

Создание моделей с KerasTuner 256

Подход TPE и Optuna. 265

Резюме. 270

Глава 9. Ансамбли: блендинг и стекинг. 271

Краткое введение в ансамблевые алгоритмы. 272

Усреднение. 275

Голосование. 277

Усреднение предсказаний. 279

Взвешенные средние. 280

Усреднение и кросс-валидация. 281

Корректируем усреднение для оценок ROC-AUC. 282

Блендинг и метамодели. 283

Блендинг: лучшие практики. 284

Стекинг. 289

Варианты стекинга. 293

Сложные решения с блендингом и стекингом. 294

Резюме. 297

Глава 10. Моделирование в компьютерном зрении. 299

Стратегии аугментации. 299

Встроенные аугментации Keras 305

Подход на основе ImageDataGenerator 305

Слои предварительной обработки. 308

Пакет albumentations 309

Классификация. 312

Обнаружение объектов. 319

Семантическая сегментация. 333

Резюме. 349

Глава 11. Моделирование для обработки естественного языка. 350

Анализ тональности текста. 350

Вопросы и ответы в открытом домене. 359

Стратегии аугментации текста. 374

Основные приемы.. 375

Пакет nlpaug. 380

Резюме. 383

Глава 12. Соревнования по моделированию и оптимизации. 384

Игра Connect X.. 385

Игра “Камень, ножницы, бумага”. 390

Соревнование Santa 2020. 393

Такие разные игры. 397

Резюме. 402

Часть III. Использование соревнований в своей карьере. 403

Глава 13. Создание портфолио проектов и идей. 405

Создание портфолио с помощью Kaggle. 405

Использование блокнотов и обсуждений. 410

Использование датасетов. 413

Организация своего присутствия в Интернете за пределами Kaggle. 417

Блоги и публикации. 418

GitHub. 421

Мониторинг обновлений и информационных бюллетеней о соревнованиях. 423

Резюме. 425

Глава 14. Поиск новых профессиональных возможностей. 426

Налаживание связей с другими исследователями данных на соревнованиях. 427

Участие в Kaggle Days и других встречах Kaggle. 438

Привлечение к себе внимания и другие возможности трудоустройства. 439

Методика STAR. 440

Резюме (и несколько напутственных слов) 442

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

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

3-е издание: “Электроника для начинающих”

Электроника для начинающих, 3-е издание

В  ходе  практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током  и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. В третьем полноцветном издании значительная часть текста, схемы и диаграммы обновлены, фотографии пересняты в высоком качестве; число компонентов  и их цена уменьшены; проекты с использованием платы Arduino переработаны, рассмотрены и другие микроконтроллеры.

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

 Для начинающих радиолюбителей

МИРОВОЙ БЕСТСЕЛЛЕР ДЛЯ НАЧИНАЮЩИХ РАДИОЛЮБИТЕЛЕЙ!

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

Создание работающих устройств, от простых до сложных

В своей книге автор исходит из того, что вы приступаете к процессу изучения, не имея каких-либо предварительных знаний в области электроники. Поэтому первые эксперименты очень простые, и вам даже не придется использовать паяльник или плату для монтажа схем, а вы будете соединять провода с помощью “крокодилов”. Но очень скоро вы начнете выполнять эксперименты с транзисторами и интегральными микросхемами.

Пошаговые инструкции и более 500 цветных фотографий и рисунков помогут вам легко освоить излагаемый материал.

Новое в третьем издании!

  • Значительная часть текста, схемы и диаграммы обновлены, фотографии пересняты в высоком качестве.
  • Число компонентов и их цены уменьшены.
  • Проекты с использованием платы Arduino переработаны, рассмотрены и другие микроконтроллеры.

Прочитав книгу, Вы сможете:

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

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

Первым проектом Чарльза Платта был телефонный автоответчик, который он сделал в возрасте 15 лет. Впоследствии он был писателем-фантастом, преподавал компьютерную графику и работал ведущим автором в журнале Wired, но всю жизнь сохранял свою любовь к электронике — главному хобби своей жизни. В настоящее время Чарльз работает редактором в журнале MAKE и занимается разработкой новых образцов медицинского оборудования. По его словам, у вас в руках “книга, которую я хотел бы прочитать, будучи подростком”

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

Встречайте: Сетевое программирование на Python

Сетевое программирование на Python

Книга посвящена разработке серверных приложений и клиент-серверных архитектур на Python. Рассказано о поддержке SSL в Python 3, представлены примеры работы с протоколами TCP, UDP, HTTP, SMTP, IMAP, FTP, RPC, взаимодействия с сервисами DNS. Освещена работа с электронной почтой в приложениях. Описаны цели протокола TLS и методы их достижения на Python. Подробно описаны возможности модуля asyncio, входящего в состав Python 3.4, даны рекомендации по разработке сетевых приложений с использованием веб-фреймворков Flask и Django.

Для программистов

ПОДРОБНОЕ РУКОВОДСТВО ПО СЕТЕВОМУ ПРОГРАММИРОВАНИЮ НА PYTHON

Книга рассказывает о разработке на языке Python клиент-серверных проектов, взаимодействующих с сетью и веб-приложениями. Всесторонне рассматривается поддержка SSL, показаны примеры работы с протоколами TCP, UDP, HTTP, SMTP, IMAP, FTP, RPC и взаимодействия с сервисами DNS. Рассказано об использовании входящего в состав Python 3.4 модуля asyncio, о сетевых возможностях веб-фреймворков Flask и Django.

В книге описаны
ключевые возможности SSL в Python 3,
цели протокола TLS и методы их достижения на Python,
архитектура серверов и создание серверных приложений,
работа с электронной почтой в приложениях,
применение Flask и Django для создания сетевых веб-приложений.

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

Об авторе. 14

О рецензенте. 15

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

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

Пакет кода. 19

ГЛАВА 1. Введение в сетевое взаимодействие между клиентом и сервером.. 21

Содержание главы. 21

Цель  22

Основы: стеки и библиотеки. 22

Уровни приложения. 25

Что такое протокол. 26

Сетевое взаимодействие. 28

Слой за слоем. 30

Кодирование и декодирование. 32

Протокол IP. 33

IP-адреса. 34

Маршрутизация. 35

Фрагментация пакетов. 37

Подробно об IP. 38

Резюме. 38

ГЛАВА 2. Протокол UDP. 41

Содержание главы. 42

Цель  42

Множество сервисов в одной системе. 42

Сокет — точка соединения. 44

Клиенты, принимающие любые пакеты. 48

Отсрочка, блокировка и время ожидания. 50

UDP-сокеты. 54

Идентификаторы запросов. 56

От привязки до интерфейсов. 57

Фрагментация UDP. 59

Параметры сокетов. 61

Широковещание. 62

Сценарии применения UDP. 64

Резюме. 64

ГЛАВА 3. Протокол TCP. 67

Содержание главы. 67

Цель  68

Как работает TCP. 68

Когда использовать TCP. 69

Сокеты TCP. 70

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

Одно взаимодействие — один сокет. 75

Адрес. 77

От привязки до интерфейсов. 78

Взаимоблокировка. 79

Полуоткрытые соединения, закрытые соединения. 84

Потоки TCP для передачи файлов. 86

Резюме. 86

ГЛАВА 4. DNS и имена сокетов. 89

Содержание главы. 89

Цель  89

Имена сокетов и хостов. 90

Пять координат сокетов. 91

IPv6  92

Современное разрешение адресов. 93

Привязка сервера к порту с помощью getaddrinfo() 94

Метод getaddrinfo() для привязки к сервису. 95

Получение канонического имени хоста с помощью getaddrinfo() 96

Другие флаги getaddrinfo() 98

Примитивные процедуры службы имен. 99

Метод getsockaddr() 100

Протокол DNS. 101

Почему не стоит использовать DNS напрямую.. 104

Python для DNS-запросов. 105

Разрешение почтовых доменов. 106

Резюме. 109

ГЛАВА 5. Данные и ошибки в Интернете. 111

Содержание главы. 111

Цель  111

Строки и байты. 111

Строки символов. 113

Сетевой порядок байтов и двоичные числа. 116

Кадрирование. 119

Pickle и форматы с разделителями. 125

JSON и XML. 126

Сжатие. 127

Исключения в сети. 128

Специфические исключения. 130

Исключения в сети: обнаружение и сообщение об ошибках. 131

Резюме. 133

ГЛАВА 6. Протокол SSL/TLS. 135

Содержание главы. 135

Цель  136

От чего не защищает TLS. 136

Что худшее может случиться?. 137

Создание сертификатов. 139

TLS Offloading. 141

Контексты по умолчанию в Python 3.4. 142

Подходы к обертке сокетов. 146

Выбор шифров вручную и Perfect Forward Security. 147

Поддержка протокола TLS. 149

Дальнейшее изучение. 151

Резюме. 157

ГЛАВА 7. Архитектура сервера. 159

Содержание главы. 159

Цель  160

Несколько слов о развертывании. 160

Базовый протокол. 162

Однопоточный сервер. 166

Многопроцессорный и многопоточный серверы. 169

Фреймворк SocketServer из прошлого. 171

Асинхронные серверы. 172

Фреймворк asyncio с обратными вызовами. 177

Фреймворк asyncio с сопрограммами. 179

Устаревший модуль asyncore. 181

Комбинированный подход. 182

Под влиянием inetd. 183

Резюме. 185

ГЛАВА 8. Очереди сообщений и кеши. 187

Содержание главы. 187

Цель  188

Использование Memcached (кеширование в памяти) 188

Хеширование и сегментирование. 191

Очереди сообщений. 194

Очереди сообщений в Python. 196

Резюме. 201

ГЛАВА 9. HTTP-клиенты.. 203

Содержание главы. 203

Цель  204

Библиотеки клиентов Python. 204

Кадрирование, шифрование и порты. 206

Методы. 208

Хосты и пути. 209

Коды состояний. 210

Валидация и кеширование. 213

Кодирование содержимого. 216

Согласование содержимого. 216

Тип содержимого. 218

Аутентификация по HTTP. 219

Файлы cookie. 221

Поддержание соединения и httplib. 222

Резюме. 223

ГЛАВА 10. Серверы для работы с HTTP. 225

Содержание главы. 225

Цель  226

Стандарт WSGI 226

Серверные фреймворки для асинхронной обработки. 228

Прямые и обратные прокси. 229

Четыре архитектурных стиля. 230

Python на Apache. 232

HTTP-серверы на Python. 232

Преимущество обратных прокси. 233

Платформа как услуга. 234

REST и паттерны GET и POST. 236

WSGI без фреймворка. 238

Резюме. 242

ГЛАВА 11. Всемирная паутина. 245

Содержание главы. 245

Цель  246

URL и гипермедиа. 246

Создание и парсинг URL. 247

Относительные URL. 250

Язык гипертекстовой разметки HTML. 251

Чтение и запись с использованием базы данных. 253

Ужасное веб-приложение на Flask. 255

Методы и формы HTTP. 261

Когда формы используют неподходящие методы. 263

Опасные и безопасные сookie. 264

Непостоянный межсайтовый скриптинг. 266

Постоянный межсайтовый скриптинг. 268

Подделка межсайтовых запросов. 269

Улучшенная программа. 270

Приложение для оплаты на Django. 273

Выбор фреймворка для веб-сайта. 277

Веб-сокеты. 279

Веб-скрейпинг. 279

Получение страниц. 281

Страницы для веб-скрейпинга. 285

Рекурсивный веб-скрейпинг. 287

Резюме. 291

ГЛАВА 12. Составление и парсинг сообщений электронной почты.. 293

Содержание главы. 293

Цель  294

Форматирование электронного письма. 294

Составление электронного письма. 296

HTML и мультимедиа. 298

Создание контента. 303

Парсинг электронного письма. 305

Использование MIME. 307

Кодирование заголовков. 309

Парсинг дат. 311

Резюме. 312

ГЛАВА 13. Протокол SMTP. 313

Содержание главы. 313

Цель  314

Веб-сервисы электронной почты и почтовые клиенты. 314

Все началось с командной строки. 314

Развитие клиентов. 315

Переход на веб-сервисы электронной почты. 317

Функции SMTP. 318

Передача электронной почты. 319

Получатель на конверте и заголовки. 320

Несколько прыжков. 320

Библиотека для работы с протоколом SMTP. 322

Обработка ошибок и отладка. 323

EHLO для сбора информации. 326

SSL и TLS. 329

Аутентификация SMTP. 332

Советы по SMTP. 333

Резюме. 334

ГЛАВА 14. Протокол POP. 335

Содержание главы. 335

Цель  336

Серверы POP и стандарты. 336

Аутентификация и подключение. 336

Получение информации о почтовом ящике. 339

Загрузка и удаление писем. 340

Резюме. 343

ГЛАВА 15. Протокол IMAP. 345

Содержание главы. 346

Цель  347

Реализация IMAP в Python. 347

Клиент IMAP. 349

Просмотр папок. 351

UID и номера писем. 351

Интервалы между письмами. 352

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

Получение всего почтового ящика. 354

Загрузка отдельных писем. 356

Добавление и удаление флагов. 363

Удаление писем. 364

Поиск. 364

Работа с папками. 366

Асинхронность. 367

Резюме. 367

ГЛАВА 16. Протоколы SSH и Telnet 369

Содержание главы. 369

Цель  370

Автоматизация с помощью командной строки. 370

Раскрытие выражения и экранирование в командной строке. 371

Аргументы в командах UNIX.. 372

Экранирование символов. 374

Ужасная командная строка Windows 376

Терминал. 377

Терминалы и буферизация. 380

Telnet 381

SSH: безопасная оболочка. 386

SSH: краткий обзор. 386

Ключи хоста для SSH.. 387

Аутентификация в SSH.. 390

Отдельные команды и сеансы. 391

Протокол SFTP. 396

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

Резюме. 399

ГЛАВА 17. Протокол FTP. 401

Содержание главы. 402

Цель  402

Что делать, если невозможно использовать FTP. 402

Каналы коммуникации. 403

FTP в Python. 404

Двоичные файлы и файлы ASCII 405

Расширенная загрузка двоичных файлов с сервера. 407

Отправка данных на удаленный компьютер. 409

Расширенная отправка двоичных данных. 410

Обработка ошибок. 411

Поиск по каталогам. 412

Обнаружение каталогов и загрузка в рекурсивном режиме. 414

Создание и удаление каталогов. 416

Безопасное использование FTP. 416

Резюме. 416

ГЛАВА 18. RPC — удаленный вызов процедур. 419

Содержание главы. 420

Цель  421

Характеристики RPC. 421

XML-RPC. 422

JSON-RPC. 429

Самодокументируемые данные. 432

Объекты: Pyro и RPyC. 434

Пример RPyC. 435

Очереди сообщений, RPC и веб-фреймворки. 438

Восстановление после ошибок в сети. 438

Резюме. 439

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

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

Удивительная книга для детей: “Мама, не отвлекай. Я Python учу!”

Мама, не отвлекай. Я Python учу!

Эта книга + телефон – все, что нужно ребенку, чтобы полностью самостоятельно без помощи взрослых освоить основы программирования на языке Python, написать десятки игр, интерактивных программ и поделиться ими в любых привычных мессенджерах и соцсетях.
Книгу отличает сверхбыстрый старт, удобство обучения, легкость изложения и авторский юмор, .
При этом новички узнают о командах, циклах, типах данных, переменных, условных выражениях, графических примитивах и координатах. Освоят игры и анимацию, работу со строками, комментарии, методы (функции), операторы сравнения, случайные числа, условные выражения и многое другое. Электронный архив на сайте издательства содержит коды примеров и изображения эмодзи.

Для детей младшего и среднего школьного возраста

Читать и программировать можно весело и непринужденно

Телефон есть практически у каждого ребенка 10+ лет. Осталось только купить эту книгу, чтобы ребенок полностью самостоятельно смог изучить основы самого популярного языка программирования Python.

Читать и программировать можно весело и непринужденно: сидя на диване, на даче у бабушки, на прогулке или на переменках в школе – в одной руке телефон, в другой эта книга.

Первую программу на Python можно выполнить за пару минут, еще даже не открыв книгу, а только считав телефоном QR-код с ее обложки!

Прочитав всю книгу, ребенок

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

Книгу “Мама, не отвлекай. Я Python учу!” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Лазаревский Игорь Вадимович

Лазаревский Игорь Вадимович – программист, автор книг и курсов, преподаватель Американского университета в Центральной Азии, основатель онлайн-школы по программированию Khasang со стажем преподавания современных языков программирования более 10 лет, вырастивший десятки высококлассных Senior-разработчиков с полного нуля. Ведет личный блог igor.kg.

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

3-е издание: “Внутреннее устройство Linux”

Внутреннее устройство Linux, 3 изд.

Эта книга — введение во внутреннее устройство ОС Linux. Рассмотрены основные подсистемы ядра и их сущности, механизмы контроля доступа и привилегии, принципы и механизмы контейнеризации. Уделено внимание компонентам, подсистемам Linux и их функционированию как единой системы. Подробно описано пользовательское окружение, интерфейс командной строки CLI, язык командного интерпретатора и его использование для автоматизации актуальных задач. Все положения наглядно проиллюстрированы  примерами,  разработанными автором и проверенными им на практике.

В 3-м издании описаны механизмы принудительного разграничения доступа и контроля целостности, уникальные для российского защищенного дистрибутива Astra Linux и операционных систем в целом.  Учтены последние изменения в компонентах ОС и обновлены листинги примеров. Расширена глава про сетевую подсистему, добавлена глава по современным средствам трассировки, измерения нагрузки и мониторинга производительности.

 Для студентов, пользователей, программистов и системных администраторов Linux

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

Совет для начинающих

И напоследок, самый важный совет для начинающих — начните!
Цитата из книги

  • Импортозамещение и российский Linux: все, что вы хотели знать
  • Пользовательское окружение и интерфейс командной строки CLI
  • Файлы, каталоги и файловые системы
  • Процессы и нити, каналы, сокеты и разделяемая память
  • Дискреционное и мандатное разграничение доступа, мандатный контроль целостности и привилегии процессов
  • Сетевая подсистема и службы
  • Графический интерфейс GUI: оконные системы X Window и Wayland
  • Программирование на языке командного интерпретатора
  • Контейнеры и виртуализация
  • От отдельных компонент — к системе: Linux своими руками
  • Нагрузка, производительность, мониторинг и трассировка

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

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

Импортозамещение и российский Linux: все, что вы хотели знать,
но боялись спросить. 9

Сертифицированные операционные системы.. 10

Другие операционные системы.. 11

Введение. 12

О чем эта книга?. 12

Кому адресована книга. 13

Принятые соглашения и обозначения. 14

Методические рекомендации.. 15

Что должен знать читатель. 16

Совет для начинающих. 19

Глава 1. Архитектура ОС Linux. 20

1.1. Обзор внутреннего устройства. 20

1.2. Внеядерные компоненты: программы и библиотеки.. 22

1.3. Ядерные компоненты: подсистемы управления процессами, памятью, вводом-выводом, файлами   22

1.4. Трассировка системных и библиотечных вызовов. 23

1.5. Интерфейсы прикладного программирования. 25

1.6. В заключение. 26

Глава 2. Пользовательское окружение ОС Linux. 27

2.1. Командный интерфейс. 27

2.2. Виртуальные терминалы.. 29

2.2.1. Псевдотерминалы.. 31

2.3. Управляющие символы.. 33

2.4. Управляющие последовательности.. 40

2.5. Основной синтаксис командной строки.. 43

2.5.1. Опции командной строки.. 45

2.6. Справочные системы.. 46

2.6.1. Система страниц руководства. 46

2.6.2. Справочная система GNU.. 50

2.6.3. Встроенная справка командного интерпретатора. 50

2.7. Пользователи и группы.. 51

2.7.1. Передача полномочий.. 53

2.7.2. Хранилища учетных записей.. 54

2.8. Переменные окружения и конфигурационные dot-файлы.. 55

2.9. В заключение. 62

Глава 3. Подсистема управления файлами и вводом-выводом.. 63

3.1. Файлы и дерево каталогов. 63

3.1.1. Путевые имена файлов. 64

3.2. Типы файлов. 65

3.2.1. Обычные файлы.. 66

3.2.2. Каталоги.. 67

3.2.3. Имена, данные, метаданные и индексные дескрипторы.. 68

3.2.4. Ссылки.. 69

3.2.5. Специальные файлы устройств. 73

3.2.6. Именованные каналы и файловые сокеты.. 76

3.3. Файловые дескрипторы.. 77

3.4. Файловые системы.. 80

3.4.1. Файловые системы и процедура монтирования. 80

3.4.2. Дисковые файловые системы.. 82

3.4.3. Сетевые файловые системы.. 83

3.4.4. Специальные файловые системы.. 85

3.4.5. Внеядерные файловые системы.. 86

3.5. Дискреционное разграничение доступа. 90

3.5.1. Владельцы и режим доступа к файлам.. 91

3.5.2. Базовые права доступа и дополнительные атрибуты.. 92

Режим доступа новых файлов. 94

Семантика режима доступа разных типов файлов. 95

Дополнительные атрибуты.. 97

3.5.3. Списки контроля доступа POSIX. 101

Групповая маска. 103

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

3.6. Мандатное (принудительное) разграничение доступа. 105

3.6.1. Модуль принудительного разграничения доступа AppArmor. 107

3.6.2. Модуль принудительного разграничения доступа SELinux. 109

3.6.3. Модуль принудительного разграничения доступа Astra Linux. 114

3.7. Дополнительные свойства файлов. 125

3.7.1. Расширенные атрибуты файлов. 125

3.7.2. Флаги файлов. 127

3.8. В заключение. 128

Глава 4. Управление процессами и памятью.. 129

4.1. Программы и библиотеки.. 129

4.1.1. Ядро Linux. 132

4.2. Процессы и нити.. 135

4.3. Порождение процессов и нитей, запуск программ.. 139

4.3.1. Параллельные многопроцессные программы.. 143

4.3.2. Параллельные многонитевые программы.. 144

4.3.3. Двойственность процессов и нитей Linux. 148

4.4. Дерево процессов. 150

4.5. Атрибуты процесса. 152

4.5.1. Маркеры доступа. 153

4.5.2. Привилегии.. 156

4.5.3. Другие атрибуты.. 160

4.6. Классы и приоритеты процессов. 160

4.6.1. Распределение процессора между процессами.. 160

4.6.2. Распределение устройств ввода-вывода между процессами.. 167

4.7. Память процесса. 176

4.7.1. Виртуальная память. 177

4.7.2. Отображение файлов в память. 179

4.7.3. Потребление памяти.. 183

4.8. Механизм сигналов. 187

4.8.1. Сеансы и группы процессов: управление заданиями.. 192

4.9. Межпроцессное взаимодействие. 195

4.9.1. Неименованные каналы.. 196

4.9.2. Именованные каналы.. 197

4.9.3. Неименованные локальные сокеты.. 198

4.9.4. Именованные локальные сокеты.. 200

4.9.5. Разделяемая память, семафоры и очереди сообщений.. 202

Разделяемая память. 202

Семафоры и очереди сообщений.. 206

4.10. В заключение. 207

Глава 5. Программирование на языке командного интерпретатора. 209

5.1. Интерпретаторы и их сценарии.. 209

5.2. Встроенные и внешние команды.. 211

5.3. Перенаправление потоков ввода-вывода. 212

5.4. Подстановки командного интерпретатора. 218

5.4.1. Подстановки имен файлов. 218

5.4.2. Подстановки параметров. 220

Переменные — именованные параметры.. 220

Позиционные параметры.. 223

Специальные параметры.. 224

5.4.3. Подстановки вывода команд. 225

5.4.4. Подстановки арифметических выражений.. 227

5.5. Экранирование. 230

5.6. Списки команд. 233

5.6.1. Условные списки.. 234

5.6.2. Составные списки: ветвление. 236

5.6.3. Составные списки: циклы.. 241

5.6.4. Функции.. 246

5.7. Сценарии на языке командного интерпретатора. 249

5.8. Инструментальные средства обработки текста. 252

5.8.1. Фильтр строк grep. 253

5.8.2. Фильтр символов и полей cut 255

5.8.3. Процессор текстовых таблиц awk. 256

5.8.4. Потоковый редактор текста sed. 257

5.9. В заключение. 261

Глава 6. Сетевая подсистема. 262

6.1. Сетевые интерфейсы, протоколы и сетевые сокеты.. 262

6.2. Конфигурирование сетевых интерфейсов и протоколов. 266

6.2.1. Ручное конфигурирование. 266

6.2.2. Автоматическое конфигурирование. 268

6.3. Служба имен и DNS/mDNS-резолверы.. 276

6.4. Сетевые службы.. 281

6.4.1. Служба SSH.. 281

6.4.2. Почтовые службы SMTP, POP/IMAP. 289

6.4.3. Служба WWW… 292

6.4.4. Служба FTP. 294

6.4.5. Служба NFS. 296

NFS-клиент. 296

NFS-сервер. 297

6.4.6. Служба SMB/CIFS. 298

Имена NetBIOS. 299

CIFS-клиенты.. 300

6.4.7. Служба каталогов LDAP. 302

Служба имен и пользовательские учетные записи.. 306

6.5. Средства сетевой диагностики.. 307

6.5.1. Анализаторы пакетов tcpdump и tshark. 307

6.5.2. Сетевой сканер nmap. 310

6.5.3. Мониторинг сетевых соединений процессов. 311

6.6. В заключение. 313

Глава 7. Графическая система X Window System… 315

7.1. X-сервер. 315

7.2. X-клиенты и X-протокол. 317

7.3. Оконные менеджеры.. 322

7.3.1. Декорирование на клиентской стороне. 325

7.4. Настольные пользовательские окружения. 327

7.5. Библиотеки интерфейсных элементов. 329

7.6. Расширения Х-протокола. 332

7.6.1. Расширение Composite и композитный менеджер. 334

7.6.2. GLX, DRI и 3D-графика. 336

7.7. Запуск X Window System… 338

7.7.1. Локальный запуск X-клиентов. 338

7.7.2. Дистанционный запуск X-клиентов. 338

7.7.3. Управление X-дисплеями: XDMCP-менеджер и протокол. 341

7.8. Программный интерфейс X Window System… 342

7.8.1. Трассировка X-библиотек и X-протокола. 342

7.8.2. 3D-графика и инфраструктура прямого рендеринга DRI 348

7.9. В заключение. 354

Глава 8. Графическая система Wayland. 356

8.1. Wayland-композитор. 358

8.2. Wayland-клиенты и Wayland-протокол. 359

8.3. Запуск графической среды на основе Wayland. 365

8.4. В заключение. 366

Глава 9. Контейнеры и виртуальные машины.. 367

9.1. Чрутизация. 368

9.2. Пространства имен.. 372

9.3. Контейнеризация: runc и docker. 377

9.4. Группы управления (cgroups). 381

9.5. В заключение. 385

Глава 10. От отдельных компонент — к системе. 386

10.1. Как Linux загружается. 386

10.2. Как обнаруживаются драйверы устройств. 390

10.3. Как запускаются системные службы.. 393

10.4. Linux своими руками.. 402

10.5. В заключение. 411

Глава 11. Нагрузка, производительность, мониторинг и трассировка. 412

11.1. Метрики и инструменты измерения нагрузки и производительности.. 412

11.1.1. Центральный процессор и память. 412

11.1.2. Устройства ввода-вывода. 420

11.2. Мониторинг и трассировка. 424

11.2.1. Трассировка и отладка программ.. 426

11.3. В заключение. 439

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

Список литературы.. 442

Для удовольствия. 442

Начинающим.. 442

Программистам.. 442

Бесстрашным.. 443

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

Кетов Дмитрий Владимирович, ведущий преподаватель в области операционных систем и сетевых технологий Санкт-Петербургского политехнического университета (СПбПУ) с многолетним стажем, начальник отдела разработки программного обеспечения Санкт-Петербургского филиала АО “Концерн радиостроения «Вега»”. Профессионально занимается теорией построения и практикой разработки операционных систем и системного программного обеспечения.

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

Встречайте: “Конфиденциальность данных”

Конфиденциальность данных

Во всех деталях рассматривается обеспечение конфиденциальности данных в масштабах большой и/или растущей компании. Уделено внимание защите конкурентных преимуществ, корпоративной репутации, а также пользовательских личных данных.  Затронуты вопросы классификации данных по степени важности их защиты, вопросы масштабирования и репликации хранилищ данных без ущерба конфиденциальности, соответствие юридическим нормам, различные инструменты, обеспечивающие отслеживание и защиту данных. Также рассказано, как с нуля выстроить защиту конфиденциальных данных в крупной компании, в том числе активно использующей облачные хранилища данных.

Для сетевых инженеров, специалистов по безопасности, системных администраторов и руководителей ИТ-компаний

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

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

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

Ключевые аспекты книги

  • Классификация данных по их важности с точки зрения конфиденциальности
  • Настройка возможностей для юридически грамотного экспорта данных
  • Выработка процесса рецензирования, позволяющего оценить риски, касающиеся обеспечения конфиденциальности
  • Проектирование платформы для получения пользовательского согласия

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

 

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

Вступительное слово. 13

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

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

О книге. 20

Кому следует прочитать эту книгу. 20

Структура книги. 20

О коде. 22

Об авторе. 23

Об иллюстрации на обложке. 24

Часть I. Конфиденциальность, данные и ваш бизнес. 25

Глава 1. Инженерия конфиденциальности: зачем нужна
и как ее масштабировать. 27

1.1. Что такое конфиденциальность. 28

1.2. Как данные поступают в компанию и перемещаются внутри нее. 32

1.3. Почему конфиденциальность имеет значение. 34

1.3.1. Штрафы реальны. 34

1.3.2. Погоня за эффективностью в начале пути может вызвать проблемы конфиденциальности в будущем  36

Gamesbuster: анализ конкретного примера. 36

1.3.3. Расследования нарушений конфиденциальности — не просто преграда
на пути к успеху. 39

Еврокомиссия оштрафовала компанию WhatsApp на 110 млн евро
за искажение данных. 40

Антимонопольный регулятор Италии оштрафовал WhatsApp
на 3 млн евро. 41

Пять органов ЕС по надзору за соблюдением законодательства
по защите данных подают иски к корпорации Facebook
за изменения политики в 2014-м и другие действия с данными. 42

1.3.4. Защита конфиденциальности как возможность для бизнеса:
реальный пример. 44

1.4. Конфиденциальность: ментальная модель. 46

1.5. Как конфиденциальность влияет на бизнес на макроуровне. 49

1.5.1. Конфиденциальность и безопасность: период ковида. 49

1.5.2. Конфиденциальность и правила: циклический процесс. 51

1.6. Инструменты и техники защиты конфиденциальности: возможности
и варианты. 53

1.6.1. Дилемма: разрабатывать или покупать. 54

1.6.2. Инструменты защиты конфиденциальности от сторонних
разработчиков: они действительно работают и масштабируются?. 56

Платформенные решения для обеспечения конфиденциальности:
BigID и OneTrust 56

Специализированные решения для защиты конфиденциальности: Privicera, Collibra, DataGrail, Informatica, SailPoint 59

1.6.3. Риски при покупке сторонних инструментов защиты конфиденциальности. 60

1.7. В чем эта книга не поможет. 61

1.8. Как изменение роли инженеров повлияло на защиту конфиденциальности. 61

Резюме. 64

Глава 2. Представление о данных и конфиденциальности. 65

2.1. Что следует из понятия конфиденциальности. 65

2.1.1. Почему обеспечить конфиденциальность трудно. 66

2.1.2. Инженерия конфиденциальности на местах: чего необходимо добиться. 67

2.1.3. Конфиденциальность, системы данных и соблюдение политики. 70

2.2. Это могла бы быть ваша компания. 72

2.3. Данные, стратегия развития бизнеса и конфиденциальность. 76

2.4. Примеры нарушения конфиденциальности данных. 78

2.4.1. Equifax. 78

2.4.2. Нарушение в работе Службы управления персоналом. 80

2.4.3. Компании LabCorp и Quest Diagnostics 82

2.5. Конфиденциальность и нормативно-правовая база. 83

2.5.1. Как нормативные акты влияют на ваш продукт и его пользователей. 83

2.5.2. Как ваша программа должна помочь подготовиться к изменению законодательства о защите конфиденциальности данных. 85

2.6. Конфиденциальность и пользователь. 86

2.6.1. Превращение в полноправного американца и конфиденциальность. 86

2.6.2. Опасения современных пользователей по поводу конфиденциальности. 87

2.7. После создания инструментов наступает самое сложное: разработка
программы. 88

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

Резюме. 95

Часть II. Упреждающая программа защиты конфиденциальности: управление данными  97

Глава 3. Классификация данных. 99

3.1. Классификация данных в контексте клиента. 100

3.2. Зачем нужна классификация данных. 101

3.2.1. Классификация как часть управления данными. 102

3.2.2. Классификация данных: как она помогает выстраивать приоритеты. 103

Как определяются приоритеты защиты данных. 103

Сегментация данных. 106

Упражнение по защите данных: линза определения приоритетов. 108

3.2.3. Сопоставление примеров по классификации данных в отрасли технологий. 110

3.2.4. Неструктурированные данные и управление. 111

3.2.5. Классификация данных как этап на пути к зрелости. 112

Что такое зрелость организации. 113

Классификация данных и зрелость организации. 114

3.3. Как применить классификацию данных для повышения
конфиденциальности. 116

3.3.1. Классификация данных и варианты доступа к ним. 116

3.3.2. Классификация данных, управление доступом и конфиденциальность: пример 1  118

3.3.3. Классификация данных, управление доступом и конфиденциальность: пример 2  120

3.4. Классификация данных согласно законам о конфиденциальности. 121

3.4.1. Классификация данных как выделение главного в законах
о конфиденциальности. 121

3.4.2. Классификация данных для разрешения противоречий
в интерпретациях законов о конфиденциальности. 122

3.5. Процесс классификации данных. 124

3.5.1. Работа над классификацией данных с участниками из разных отделов. 124

3.5.2. Оформление и переработка классификации данных. 127

3.5.3. Процесс классификации данных: шаблон Microsoft 128

3.6. Классификация данных: пример. 129

Резюме. 133

Глава 4. Учет данных. 134

4.1. Учет данных: что это такое и зачем это нужно. 135

4.2. Машиночитаемые метки. 138

4.2.1. Что такое метки для учета данных. 138

4.2.2. Метки для учета данных: конкретный пример. 139

4.3. Разработка базовой версии. 143

4.4. Техническая архитектура. 145

4.4.1. Структурированные и неструктурированные данные. 145

4.4.2. Архитектурные возможности учета данных. 148

4.4.3. Рабочий процесс учета данных. 150

4.5. Представление о данных. 153

4.5.1. Процесс определения метаданных. 154

4.5.2. Процесс обнаружения метаданных. 156

4.6. Когда следует приступать к учету данных. 157

4.6.1. Почему процесс учета данных так сложен?. 157

4.6.2. Учет данных: лучше раньше, чем позже. 158

4.7. Учет данных — небинарный процесс. 161

4.7.1. Первый уровень учета данных. 161

4.7.2. Второй уровень учета данных. 163

4.7.3. Третий уровень учета данных. 164

Поддержка функций загрузки личных данных и запросы субъекта
на доступ к персональным данным. 165

Поддержка функции удаления данных. 165

Получение информации о бизнесе. 166

4.8. Как выглядит успешный процесс учета данных. 167

4.8.1. Объективные показатели успешности учета данных. 167

4.8.2. Субъективные показатели успешности учета данных. 168

Резюме. 169

Глава 5. Совместное использование данных. 171

5.1. Совместное использование данных: зачем компаниям ими делиться. 172

5.1.1. Совместное использование данных: службы такси. 173

5.1.2. Совместное использование данных: интернет-реклама. 174

5.1.3. Конфиденциальность в рекламе. 178

5.2. Как безопасно обмениваться данными: безопасность — союзник конфиденциальности  180

5.2.1. Отслеживание президента Трампа. 180

5.2.2. Защита передаваемых данных. 182

5.2.3. Защита данных в состоянии покоя. 183

Контроль доступа как инструмент защиты конфиденциальности. 184

Шифрование как инструмент защиты конфиденциальности. 185

5.3. Методы обфускации для безопасного обмена данными. 187

5.3.1. Обмен данными и национальная безопасность США.. 188

5.3.2. Анонимизация данных: связь между точностью и сроком хранения. 189

5.3.3. Анонимизация данных: взаимосвязь между точностью и доступом. 191

5.3.4. Анонимизация данных: сопоставление универсальных
идентификаторов с внутренними. 194

5.4. Передача внутренних идентификаторов третьим лицам. 196

5.4.1. Сценарий использования № 1: минимальная сессия
(без связи видов деятельности пользователя) 197

Предлагаемые методы псевдонимизации. 198

5.4.2. Сценарий использования № 2: одна сессия на каждый набор данных (связывание действий одного пользователя в рамках набора данных) 198

Предлагаемые методы псевдонимизации. 198

5.4.3. Сценарий использования № 3: наборы данных, охватывающие
всю сессию (связывание между наборами данных) 199

Предлагаемые методы псевдонимизации. 199

5.4.4. Восстановление псевдонимизированных значений. 200

Таблица сопоставления. 200

Двусторонняя криптографическая функция. 200

5.5. Измерение воздействия на конфиденциальность. 201

5.5.1. K-анонимность. 201

K-анонимность с неточными данными. 202

K-анонимность с точными данными. 203

K-анонимность и лучшая практика в отрасли. 204

5.5.2. L-разнообразие. 205

5.6. Ущерб конфиденциальности: это не учения. 206

5.6.1. Facebook и Cambridge Analytica. 207

5.6.2. Совместное использование данных и слабые места. 208

Резюме. 209

Часть III. Инструменты и процессы.. 211

Глава 6. Техническая проверка защиты конфиденциальности. 213

6.1. Что такое проверка защиты конфиденциальности. 214

6.1.1. Оценка воздействия на конфиденциальность. 216

6.1.2. Оценка воздействия на защиту данных. 217

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

Опишите процесс обработки данных. 220

Опишите отношения с пользователем. 221

Консультация. 222

Проведите оценку риска. 222

Определите меры по смягчению риска. 223

6.2. Внедрение процесса юридической проверки защиты конфиденциальности. 223

6.3. Обоснование необходимости технической проверки защиты конфиденциальности. 226

6.3.1. Сроки и объем. 226

6.3.2. Что входит в техническую проверку, но не входит в юридическую.. 228

6.4. Интеграция технических проверок защиты конфиденциальности в процесс внедрения инноваций  231

6.4.1. Когда проводится техническая проверка защиты конфиденциальности. 232

6.4.2. Как реализовать техническую защиту конфиденциальности. 234

6.5. Масштабирование процесса технической проверки защиты конфиденциальности. 240

6.5.1. Совместное использование данных. 240

6.5.2. Модели машинного обучения. 241

Машинное обучение и данные. 241

Машинное обучение, данные и конфиденциальность. 243

6.6. Примеры технических проверок защиты конфиденциальности. 244

6.6.1. Приложения-мессенджеры и приложения для взаимодействия:
связаны ли они?. 244

6.6.2. Маски и отслеживание контактов. 247

Резюме. 249

Глава 7. Удаление данных. 250

7.1. Почему компания должна удалять данные. 251

7.2. Как выглядит современная архитектура сбора данных. 253

7.2.1. Распределенная архитектура и микросервисы: как компании
собирают данные. 253

7.2.2. Как хранятся получаемые в реальном времени данные
и как организуется к ним доступ. 255

7.2.3. Хранение архивных данных. 255

7.2.4. Другие места хранения данных. 257

7.2.5. Как хранилище данных превращается из коллекции в архив. 258

7.3. Как работает архитектура сбора данных. 260

7.4. Удаление данных на уровне учетной записи: отправная точка. 262

7.4.1. Удаление учетной записи: разработка инструментария и процесса. 262

7.4.2. Масштабирование удаления учетной записи. 263

7.5. Удаление данных на уровне учетной записи: автоматизация
и масштабирование для распределенных услуг. 265

7.5.1. Регистрация сервисов и полей данных для удаления. 267

7.5.2. Планирование удаления данных. 269

7.6. Удаление конфиденциальных данных. 270

7.7. Кто должен управлять удалением данных. 274

Резюме. 276

Глава 8. Экспорт пользовательских данных:
запрос субъекта на доступ к персональным данным.. 277

8.1. Что такое DSAR. 278

8.1.1. Какие права предоставляют пользователям нормативные положения
о DSAR. 281

8.1.2. Обзор процесса выполнения DSAR. 283

8.2. Настройка процесса работы с DSAR. 285

8.2.1. Ключевые этапы создания системы выполнения DSAR. 286

8.2.2. Создание панели мониторинга состояния DSAR. 288

8.3. Автоматизация DSAR, структуры и потоки данных. 290

8.3.1. Компоненты DSAR. 290

8.3.2. Модели в форме параллелепипеда: подмножество данных
запроса DSAR. 292

8.3.3. Шаблоны DSAR. 295

8.3.4. Источники данных для шаблонов DSAR. 297

8.4. Интерфейсы и информационные панели для сотрудников. 299

Резюме. 307

Часть IV. Безопасность, масштабирование и кадровое обеспечение. 311

Глава 9. Разработка платформы управления согласием.. 311

9.1. В чем важность управления согласием. 312

9.1.1. Управление согласием и нормативные документы в области защиты конфиденциальности  313

9.1.2. Управление согласием и изменения в технологической отрасли. 315

9.1.3. Управление согласием и ваш бизнес. 317

9.2. Платформа управления согласием. 318

9.3. Модель схемы данных для управления согласием. 320

9.3.1. Отношения элементов, помогающие структурировать CMP. 321

9.3.2. Схемы отношений элементов: база данных CMP. 322

Таблица Feature. 323

Таблица Disclosure_Version. 325

Таблица «Согласие пользователя». 326

Таблица Locale_Copy. 328

Таблица LocaleTerritory. 329

9.4. Код согласия: объекты. 330

9.4.1. API для проверки статуса согласия. 331

9.4.2. API для получения документа о разглашении данных. 333

9.4.3. API для обновления статуса согласия на документ о разглашении
данных. 336

9.4.4. API для обработки нескольких документов о разглашении данных. 339

9.4.5. API для регистрации в сервисе получения согласия. 342

9.4.6. Полезные определения для сервиса получения согласия. 343

9.5. Другие полезные возможности CMP. 345

9.6. Интеграция управления согласием в рабочий процесс продукта. 347

Резюме. 351

Глава 10. Закрытие уязвимостей системы безопасности. 352

10.1. Защита конфиденциальности путем уменьшения поверхности атаки. 354

10.1.1. Управление поверхностью атаки. 354

10.1.2. Как тестирование может вызвать риски нарушения безопасности
и конфиденциальности. 356

Использование производственных данных в тестировании. 356

Гибкое тестирование, но с расширенной поверхностью атаки. 358

Потенциальные способы смягчения последствий изучены
и отвергнуты. 358

Выводы для инженеров и технических специалистов. 359

10.1.3. Модель риска предприятия для обеспечения безопасности и конфиденциальности  360

Автоматизированное обнаружение для управления поверхностью
атаки. 360

Внедрение управления рисками безопасности. 362

Сегментация сервисов. 364

Глубокая защита. 365

Обеспечение поддержки. 366

10.2. Защита конфиденциальности путем управления доступом к периметру. 367

10.2.1. Взлом компании Target 368

Разведка с целью обнаружения сетевых уязвимостей. 370

Получение несанкционированного доступа к стороннему

поставщику. 370

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

Поиск данных о клиентах. 372

Получение и поддержание доступа к данным клиентов. 372

Расширение доступа к данным клиента. 373

Кража личных данных клиентов и данных кредитных карт. 373

Отправка украденных данных за пределы сети компании. 374

10.2.2. Слабые места безопасности системы MongoDB. 376

10.2.3. Лучшие практики в сфере авторизации. 379

Принудительное разделение политики авторизации и кода. 379

Как сделать авторизацию безопасной, ориентированной на сервисы
и легко интегрируемой. 380

Проверка надежности каналов передачи данных и подтверждение подлинности личности  384

10.2.4. Почему важен непрерывный мониторинг учетных записей
и учетных данных. 387

10.2.5. Удаленная работа и риск для конфиденциальности. 389

10.3. Защита конфиденциальности путем устранения пробелов в управлении доступом. 391

10.3.1. Как работает уязвимость IDOR. 392

10.3.2. Тестирование на уязвимость IDOR и смягчение последствий. 394

Резюме. 396

Глава 11. Масштабирование, найм и рассмотрение правил. 397

11.1. Модель зрелости для инженерии конфиденциальности. 399

11.1.1. Идентификация. 401

Управление активами. 402

Управление конфиденциальностью.. 403

Управление рисками. 404

11.1.2. Защита. 406

Управление идентификацией и доступом. 406

Управление уязвимостями. 408

Безопасность и конфиденциальность разработки программного обеспечения. 409

Защита данных в облаке. 411

Защита данных на основе инфраструктуры. 412

11.1.3. Обнаружение. 415

Разведка угроз безопасности. 415

Непрерывный мониторинг. 416

Инсайдерская угроза. 417

11.1.4. Смягчение последствий. 419

Управление реагированием на инциденты. 419

11.2. Область инженерии конфиденциальности: необходимые навыки. 420

Разработчики программного обеспечения для защиты конфиденциальности. 421

Специалисты по соблюдению нормативно-правовых требований. 421

Аналитики по вопросам конфиденциальности. 422

Менеджеры по продуктам для защиты конфиденциальности. 422

Аналитики данных. 422

Специалисты по инфраструктуре конфиденциальности. 423

UX-дизайнеры в области защиты конфиденциальности. 423

Архитекторы конфиденциальности. 423

11.3. Защита конфиденциальности и нормативно-правовой климат. 424

Резюме. 428

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

NISHANT BHAJARIA

Нишант Бхаджария (Nishant Bhajaria)– руководитель отдела стратегии и технологии конфиденциальности в компании Uber. Ранее возглавлял отделы инженерии конфиденциальности в компании Netflix, а также обеспечения безопасности данных в Google.

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

Новинка: “Сети 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. Эффективное низкоуровневое программирование», высоко оцененных профессионалами и широкой читательской аудиторией.

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

Новинка: Вологодские сказки

Вологодские сказки

В книге собраны сказки самого красивого  и самобытного края русского Севера — Вологды. Издавна вологодская земля славилась ажурным кружевом, тончайшей резьбой по бересте и искусством слова. Персонажи вологодских сказок —  находчивый Иван-дурак, храбрый царский сын, хитрая лиса  и, конечно, баба Яга, чья избушка притаилась в дремучих северных лесах.

Для младшего школьного возраста

Вологодские сказки

Славянские поселения на территории современной Вологодской области известны с VI–XII веков. Через Белоозеро и реку Сухону новгородские дружины проникали далеко на северо-восток. К середине IX века северорусский город Белоозеро был уже одним из крупнейших экономических и культурных центров Древней Руси. А в 1147 году, по сообщению «Вологодского летописца», на реку Вологду, «на великий лес» пришёл монах Герасим. На берегу он увидел церковь Воскресения, на Ленивой площадке — небольшой торжок. Так дошло до нас первое известие о Вологде.

Не только Вологда имеет богатую историю. Ряд других городов и населённых пунктов области: Белозерск (до 1777 года — Белоозеро), Устюжна, Тотьма, Великий Устюг — являются музеями под открытым небом. А последний считается ещё и родиной российского Деда Мороза.

Художник

Лукина Ольга

Художник Ольга Лукина.

Родилась в 1991 году в Донецкой области, потом переехали с родителями в Ханты-мансийский округ (г. Радужный), там познакомилась с миром искусства в местной художественной школе. После окончания школы переехала на юг страны, в Краснодар, где продолжила обучение в сфере графического дизайна (КубГУ). С 2018 года основной сферой деятельности стала иллюстрация.

Черпаю вдохновление из истории, декоративных искусств, природы и путешествий.

Редактор-составитель

Виктор Васильевич Гура
Виктор Васильевич Гура (1925–1991) — советский литературовед, писатель, заслуженный деятель
науки РСФСР, доктор филологических наук. Участвовал в Великой Отечественной войне. Заметный
след в его жизни оставила встреча с Михаилом Шолоховым, которая определила дальнейшие интересы
Виктора. Закончил Саратовский универститет, преподавал на кафедре литературы Вологодского
государственного педагогического института. Параллельно с преподаванием Гура продолжал
заниматься творчеством Шолохова. Написал несколько книг об истории русского советского романа.