год-2010
480 страниц
В книге Linux глазами хакера. 3-е изд. Фленов рассмотрены вопросы настройки ОС Линукс на максимальную производительность и безопасность. Описаны в книге базовое управление и администрирование доступом, настройка Firewall, файлообменный сервер, WEB-, FTP- и Proxy-серверы, утилиты для доставки электронной почты, службы DNS, и политика мониторинга системы и архивирование данных. Приведены потенциальные уязвимости, даны рекомендации по предотвращению возможных атак и показано как действовать при атаке или взломе системы, чтоб в максимальной степени с высокой скоростью восстановить ее работоспособность и предотвратить потерю данных. В III-м издании материал обработан и дополнен новой информацией в соответсвии с современными реалиями. На компакт-диске располагаются дополнительная документация и утилиты в исходных кодах.
Оглавление книги
Linux глазами хакера. 3-е изд. Фленов
Оглавление Предисловие 1
QualitySource 4
Второе издание 5
Третье издание 5
Благодарности 5
Глава 1. Прежде чем начать…
7
1.1. Что такое Linux? 8
1.2. Открытый исходный код — безопасно? 10
1.3. Ядро 12
1.4. Дистрибутивы 13
1.4.1. Red Hat Linux 15
1.4.2. Slackware 15
1.4.3. SuSE Linux 15
1.4.4. Debian 16
1.4.5. Ubuntu 16
Глава 2. Установка и начальная настройка Linux
19
2.1. Подготовка к установке 20
2.2. Начало установки 22
2.3. Разбивка диска 23
2.3.1. Именование дисков 25
2.3.2. Файловые системы 25
2.3.3. Ручное создание разделов 27
2.4. Выбор пакетов для установки 30
2.5. Завершение установки 34
2.6. Пароль 35
2.7. Первый старт 37
2.8. Мы в системе 42
2.9. Подсказки 44
2.10. Основы конфигурирования 45
2.10.1. Запрещено то, что не разрешено 45
2.10.2. Настройки по умолчанию 45
2.10.3. Пароли по умолчанию 46
2.10.4. Универсальные пароли 47
2.10.5. Безопасность против производительности 47
2.10.6. Внимательность 48
2.11. Обновление 49
Глава 3. Добро пожаловать в Linux
51
3.1. Файловая система 52
3.1.1. Основные команды 55
3.1.2. Безопасность файлов 65
3.1.3. Ссылки 69
3.2. Загрузка системы 73
3.2.1. Автозагрузка 73
3.2.2. GRUB 75
3.2.3. Интересные настройки загрузки 77
3.3. Регистрация в системе 77
3.3.1. Теневые пароли 78
3.3.2. Забытый пароль 80
3.3.3. Модули аутентификации 81
3.4. Процессы 82
3.4.1. Смена режима 83
3.4.2. Остановка процессов 84
3.4.3. Просмотр процессов 85
3.5. Планирование задач 88
3.5.1. Формирование задания 88
3.5.2. Планировщик задач 90
3.5.3. Безопасность запланированных работ 92
3.6. Настройка сети 93
3.6.1. Адресация 93
3.6.2. Информация о сетевых подключениях 96
3.6.3. Изменение параметров сетевого подключения 97
3.6.4. Базовые настройки сети 98
3.7. Подключение к сети Интернет 98
3.8. Обновление ядра 99
3.8.1. Подготовка к компиляции 100
3.8.2. Обновление ядра из пакета rpm 100
3.8.3. Компиляция ядра 101
3.8.4. Настройка загрузчика 104
3.8.5. Работа с модулями 104
Глава 4. Управление доступом
107
4.1. Права доступа 108
4.1.1. Назначение прав 110
4.1.2. Владелец файла 111
4.1.3. Правила безопасности 112
4.1.4. Права по умолчанию 112
4.1.5. Права доступа к ссылкам 113
4.2. Управление группами 114
4.2.1. Добавление группы 115
4.2.2. Редактирование группы 116
4.2.3. Удаление групп 116
4.3. Управление пользователями 116
4.3.1. Файлы и папки нового пользователя 120
4.3.2. Изменение настроек по умолчанию 121
4.3.3. Редактирование пользователя 122
4.3.4. Удаление пользователя 123
4.3.5. Настройка процедуры добавления пользователей 123
4.3.6. Взлом паролей 125
4.4. Типичные ошибки распределения прав 126
4.5. Привилегированные программы 128
4.6. Дополнительные возможности защиты 130
4.7. Защита служб 131
4.7.1. Принцип работы 133
4.7.2. Установка jail 134
4.7.3. Работа с программой Jail 135
4.8. Получение прав root 138
4.9. Расширение прав 140
4.10. Сетевой экран 141
4.10.1. Фильтрация пакетов 144
4.10.2. Параметры фильтрации 145
4.10.3. Firewall — не панацея 151
4.10.4. Firewall как панацея 153
4.10.5. Конфигурирование Firewall 154
4.11. ipchains 156
4.12. iptables 156
4.12.1. Основные возможности iptables 157
4.12.2. Переадресация 161
4.13. Замечания по работе Firewall 162
4.13.1. Внимательное конфигурирование 162
4.13.2. Обход сетевого экрана 164
4.13.3. Безопасный Интернет 167
4.13.4. Дополнительная защита 168
4.14. Запрет и разрешение хостов 169
4.15. Советы по конфигурированию Firewall 171
4.16. Повышение привилегий 172
4.17. Привилегии пользователя 179
Глава 5. Администрирование
181
5.1. Полезные команды 181
5.1.1. Сетевые соединения 181
5.1.2. ping 182
5.1.3. netstat 184
5.1.4. telnet 185
5.1.5. r-команды 188
5.2. Шифрование 188
5.2.1. stunnel 193
5.2.2. Дополнительные возможности OpenSSL 195
5.2.3. Шифрование файлов 196
5.2.4. Туннель глазами хакера 197
5.3. Протокол SSH 200
5.3.1. Конфигурационные файлы 201
5.3.2. Основные параметры конфигурации сервера SSH 201
5.3.3. Параметры доступа к серверу sshd 207
5.3.4. Конфигурирование клиента SSH 207
5.3.5. Пример работы клиента SSH 208
5.3.6. Вход по ключу 209
5.3.7. X11 в терминале 211
5.3.8. Защищенная передача данных 212
5.4. Демон inetd/xinetd 213
5.4.1. Конфигурирование xinetd 214
5.4.2. Безопасность 216
5.4.3. Недостатки xinetd 218
Глава 6. В стиле Samba
219
6.1. Конфигурирование Samba 220
6.1.1. Основные настройки 223
6.1.2. Безопасность 224
6.1.3. Сеть 226
6.1.4. Замена сервера Windows 227
6.1.5. Поддержка WINS и DNS 227
6.1.6. Отображение файлов 228
6.2. Описание объектов 228
6.2.1. Пора домой 228
6.2.2. Доменный вход 229
6.2.3. Распечатка 230
6.2.4. Общий доступ 231
6.2.5. Личные директории 231
6.2.6. CD-ROM 232
6.3. Управление пользователями 233
6.4. Использование Samba 235
6.5. Развитие Samba 236
Глава 7. WEB-cервер
239
7.1. Основные настройки 240
7.2. Модули 243
7.3. Права доступа 244
7.4. Создание виртуальных WEB-серверов 250
7.5. Замечания по безопасности 251
7.5.1. Файлы .htaccess 252
7.5.2. Файлы паролей 253
7.5.3. Проблемы авторизации 255
7.5.4. Обработка на сервере 255
7.6. Проще, удобнее быстрее 256
7.7. Безопасность сценариев 258
7.7.1. Основы безопасности 259
7.7.2. mod_security 261
7.7.3. Секреты и советы 263
7.8. Индексация WEB-страниц 264
7.9. Безопасность подключения 267
Глава 8. Электронная почта
271
8.1. Настройка sendmail 273
8.2. Работа почты 276
8.2.1. Безопасность сообщений 279
8.3. Полезные команды 280
8.4. Безопасность sendmail 281
8.4.1. Баннер-болтун 281
8.4.2. Только отправка почты 281
8.4.3. Права доступа 282
8.4.4. Лишние команды 282
8.4.5. Выполнение внешних команд 283
8.4.6. Доверенные пользователи 283
8.4.7. Отказ от обслуживания 284
8.5. Почтовая бомбардировка 284
8.6. Спам 285
8.6.1. Блокировка приема спама 286
8.6.2. Блокировка пересылки спама 287
8.7. Postfix 289
8.7.1. Псевдонимы 290
8.7.2. Ретрансляция 291
Глава 9. Шлюз в Интернет
293
9.1. Настройка шлюза 293
9.2. Работа прокси-сервера 294
9.3. squid 299
9.3.1. Директивы настройки HTTP 299
9.3.2. Директивы настройки FTP 301
9.3.3. Настройка кэша 301
9.3.4. Журналы 304
9.3.5. Разделение кэша 305
9.3.6. Дополнительные директивы 306
9.4. Права доступа к squid 307
9.4.1. Список контроля доступа 307
9.4.2. Определение прав 309
9.4.3. Аутентификация 310
9.5. Замечания по работе squid 311
9.5.1. Безопасность сервиса 311
9.5.2. Ускорение сайта 312
9.5.3. Маленький секрет User Agent 312
9.5.4. Защита сети 313
9.5.5. Борьба с баннерами и всплывающими окнами 313
9.5.6. Подмена баннера 315
9.5.7. Борьба с запрещенными сайтами 319
9.5.8. Ограничение канала 319
9.6. Кэширование браузером 323
9.7. squidGuard 325
9.7.1. Установка 325
9.7.2. Настройка 326
Глава 10. Передача файлов
331
10.1. Работа протокола FTP 332
10.1.1. Команды протокола FTP 333
10.1.2. Сообщения сервера 336
10.1.3. Передача файлов 338
10.1.4. Режим канала данных 340
10.2. ProFTPd 340
10.3. Резюме 343
Глава 11. DNS-сервер
345
11.1. Введение в DNS 346
11.2. Локальный файл hosts 347
11.3. Внешние DNS-серверы 349
11.4. Настройка DNS-сервиса 349
11.5. Файлы описания зон 352
11.6. Обратная зона 354
11.7. Безопасность DNS 355
Глава 12. Мониторинг системы
359
12.1. Автоматизированная проверка безопасности 360
12.2. Закрываем SUID- и SGID-двери 363
12.3. Проверка конфигурации 364
12.3.1. lsat 365
12.3.2. bastille 368
12.4. Выявление атак 368
12.4.1. Klaxon 369
12.4.2. PortSentry 370
12.4.3. LIDS 373
12.5. Журналирование 373
12.5.1. Основные команды 374
12.5.2. Системные текстовые журналы 377
12.5.3. Журнал FTP-сервера 379
12.5.4. Журнал прокси-сервера squid 381
12.5.5. Журнал WEB-сервера 382
12.5.6. Кто пишет? 382
12.5.7. logrotate 388
12.5.8. Пользовательские журналы 391
12.5.9. Обратите внимание 392
12.6. Работа с журналами 394
12.6.1. tail 395
12.6.2. swatch 396
12.6.3. Logsurfer 396
12.6.4. Logcheck/LogSentry 397
12.7. Безопасность журналов 397
Глава 13. Резервное копирование и восстановление
401
13.1. Основы резервного копирования 401
13.2. Доступность на все 100% 403
13.3. Хранение резервных копий 405
13.4. Политика резервирования 407
13.4.1. Редко, но метко 408
13.4.2. Зачастили 409
13.4.3. Часто, но не все 409
13.4.4. Периодично 410
13.4.5. Полная копия 410
13.4.6. Носители 411
13.5. Резервирование в Linux 411
13.5.1. Копирование 412
13.5.2. tar 412
13.5.3. gzip 414
13.5.4. dump 415
13.6. Защита резервных копий 417
Глава 14. Советы хакера
419
14.1. Пароли 419
14.2. rootkit 422
14.3. backdoor 426
14.4. Небезопасный NFS 429
14.5. Определение взлома 431
4.5.1. Осведомлен, значит защищен 431
4.5.2. Ловля на живца 433
14.6. Тюнинг ОС Linux 435
14.6.1. Параметры ядра 436
14.6.2. Тюнинг HDD 439
14.6.3. Автомонтирование 441
14.7. Короткие советы 443
14.7.1. Дефрагментация пакетов 443
14.7.2. Маршрутизация от источника 444
14.7.3. SNMP 444
14.7.4. Полный путь 445
14.7.5. Доверенные хосты 446
14.7.6. Защита паролей 446
14.7.7. Перенаправление сервисов 447
14.8. Обнаружен взлом 448
Заключение 451
Приложение 1. Команды протокола FTP 419
Приложение 2. Полезные программы 456
Приложение 3. Интернет-ресурсы 458
Приложение 4. Работа в командной строке 459
Псевдонимы 459
Перенаправление 460
Запуск в фоне 461
Последовательность команд 461
Приложение 5. Описание компакт-диска 463
Список литературы 464
Предметный указатель 465