
- •2. Версии iPv4 и iPv6
- •3. Пакеты и их инкапсуляция
- •4. Адресация пакетов
- •Глава 14. Сети tcp/ip 505
- •6. Cidr: протокол бесклассовой междоменной маршрутизации
- •7. Частные адреса и система nat
- •8. Маршрутизация
- •9. Таблицы маршрутизации
- •10. Arp: протокол преобразования адресов
- •11. Dhcp: протокол динамического конфигурирования узлов
- •12. Ррр: протокол двухточечного соединения
- •13. Команда ifconfig: конфигурирование сетевых интерфейсов
- •14. Демоны маршрутизации
- •Глава 15. Маршрутизация 571
- •15. Основные протоколы маршрутизации
- •Глава 15. Маршрутизация 567
- •16. Технология Ethernet: сетевая панацея
- •17. Беспроводной стандарт: локальная сеть для кочевников
- •18. Dsl и кабельные модемы: “последняя миля” 8
- •Глава 16. Сетевые аппаратные средства 593
- •20. Основные задачи системы dns
- •Глава 18. Сетевой протокол Network File System 737
- •22. Серверная часть протокола nfs
- •Глава 18. Сетевой протокол Network File System 745
- •23. Клиентская часть протокола nfs
- •Глава 18. Сетевой протокол Network File System 753
- •24. Ldap: упрощенный протокол доступа к каталогам
- •25. Структура данных ldap
- •Глава 19. Совместное использование системных файлов 775
- •26. Nis: Сетевая информационная служба
- •27. Системы электронной почты
- •Глава 20. Электронная почта 789
- •28. Протоколы smtp, pop3.
- •30. Почтовые серверы
- •Часть II. Работа в сети
- •31. Cпам и вредоносные программы
- •Глава 20. Электронная почта 813 ip range
- •32. Фильтрация почты
- •33. Почтовый агент sendmail
- •34. Почтовый агент Postfix
- •Глава 20. Электронная почта 877
- •35. Поиск неисправностей в сетях
- •Глава 21. Управление сетями 911
- •36. Kоманда traceroute: трассировка ip-пакетов
- •Глава 21. Управление сетями 915
- •37. Команда netstat: получение информации о состоянии сети
- •Глава 21. Управление сетями 919
- •39. Snmp: простой протокол управления сетями
- •40. Протокол NetFlow: мониторинг соединений
- •Глава 21. Управление сетями 939
- •41. Ключевые аспекты безопасности
- •Глава 22. Безопасность 951
- •42. Пароли и учетные записи пользователей
- •43. Эффективное использование команды chroot
- •44. Команда nmap: сканирование сетевых портов
- •45. Bro: программная система для распознавания вторжения в сеть
- •Глава 22. Безопасность 967
- •46. Мандатное управление доступом
- •47. Ssh: безопасная оболочка
- •48. Брандмауэры
- •Глава 22. Безопасность 983
- •49. Функциональный стек lamp
- •50. Обнаружение ресурсов в сети веб
- •Глава 23. Веб-хостинг 1003
- •51. Принцип работы http
- •52. Конфигурирование сервера Apache
- •Глава 23. Веб-хостинг 1011
- •53. Виртуальные интерфейсы
- •54. Протокол Secure Sockets Layes
- •Глава 23. Веб-хостинг 1017
Глава 21. Управление сетями 939

Рис. 21.6. Профиль “SYN flood” для утилиты NfSen
Исследование причин сбоя обычно проводится в течение ближайших часов и дней после инцидента, который его вызвал, но если данные протокола NetFlow были со хранены, то можно легко создать профиль для предшествующего периода. Этот ретро спективный анализ позволяет идентифицировать IP-адреса, вовлеченные в атаку, и от следить другие узлы, на которые она могла повлиять. Можно также настроить утилиту NfSen так, чтобы она следила за потоком в нерабочие часы и посылала сигналы тревоги в случае возникновения определенных ситуаций.
41. Ключевые аспекты безопасности
В этой главе рассматривается множество аспектов компьютерной безопасности. В идеале их все нужно учитывать. Системные администраторы, вероятно, должны про читать эту главу несколько раз.
Большинство операционных систем не поставляется с уже готовой защитой. Кроме того, настройка, которая осуществляется как во время инсталляции, так и после нее, из меняет профиль безопасности новых систем. Администраторы должны укреплять новые системы, интегрировать в локальную среду и планировать их долговременную безопас ную эксплуатацию.
Когда к вам придет проверка, вы должны доказать, что следовали стандартной мето дологии, особенно если эта методология соответствует общепринятым рекомендациям и передовым достижениям в вашей области промышленности.
Для защиты новых систем мы используем технологическую карту. Системный адми нистратор применяет стандартные меры по укреплению безопасности системы, а ад министратор по вопросам безопасности проверяет, чтобы эти меры были приняты пра вильно, и ведет системный журнал.
948 Часть II. Работа в сети
Программные "заплаты"
Оснащение операционной системы вновь разработанными программными “заплата ми” является первейшей обязанностью системного администратора. Большинство си стем конфигурируется так, чтобы иметь связь с репозиторием поставщика. В этом слу чае установка программной “заплаты” сводится всего лишь к выполнению нескольких команд. В крупных сетях могут существовать локальные репозитории, являющиеся зер калами репозитория поставщика.
При установке программных “заплат” следует учитывать следующее.
• Нужно составить расписание инсталляции программных “заплат” и строго его придерживаться. При составлении такого расписания необходимо учитывать его влияние на пользователей. Обычно достаточно выполнять ежемесячные обновле ния; регулярность важнее срочности. Нельзя сосредоточиваться только на защите от вредоносных программ и игнорировать другие обновления.
• Необходимо разработать план изменений, который учитывал бы влияние каждого набора “заплат”, предусматривал соответствующие этапы тестирования после ин сталляции системы и описывал возможности отказа от внесенных обновлений при возникновении проблем. Этот план следует обсудить со всеми заинтересованными сторонами.
•
Необходимо понимать, какие заплаты подходят к данному окружению. Системные администраторы должны подписываться на специальные списки рассылки и бло ки по вопросам безопасности, создаваемые поставщиками, а также принимать участие в работе форумов по вопросам безопасности, таких как Bugtraq.
Ненужные службы
Большинство систем поставляется с несколькими службами, которые запускаются по умолчанию. Отключите (и по возможности удалите) все ненужные службы, особенно если они реализованы в виде сетевых демонов. Для того чтобы обнаружить выполняе мые службы, можно использовать команду netstat. Рассмотрим частичные результаты работы этой команды в системе Solaris.
solaris$ netstat -an | grep LISTEN
*.111 *.* 0 0 49152 0 LISTEN
*.32771 *.* 0 0 49152 0 LISTEN
*.32772 *.* 0 0 49152 0 LISTEN
*.22 *.* 0 0 49152 0 LISTEN
*.4045 *.* 0 0 49152 0 LISTEN
Для обнаружения служб, использующих неизвестный порт, существует несколько приемов. В большинстве операционных систем эту задачу можно решить с помощью команд lsof или fuser. В системе Linux эти команды могут распознать идентификатор PID процесса, использующего данный порт.
ubuntu$ sudo fuser 22/tcp 22/tcp: 2454 8387
ubuntu$ sudo lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2454 root 3u IPv4 5730 TCP *:ssh(LISTEN) sshd 2454 root 4u IPv6 5732 TCP *:ssh(LISTEN)
Глава 22. Безопасность 949
Выяснив идентификатор PID, с помощью команды ps можно идентифицировать конкретный процесс. Если данная служба не нужна, остановите ее и убедитесь, что она не будет заново стартовать во время загрузки системы.
К сожалению, доступность команд lsof и fuser зависит от системы, и их реали зации сильно отличаются друг от друга. Многим версиям этих инструментов недостает поддержки сетевых сокетов.
Если утилиты lsof и fuser недоступны (или бесполезны), можно либо проверить “хорошо известные” порты для служб в файле /etc/service, либо запустить утилиту netstat без параметра -n, чтобы она выполнила эту проверку за вас.
Некоторым сетевым протоколам присущ риск, которому подвергается безопасность системы. В этом случае она остается почти все время уязвимой. Например, программы FTP, Telnet и BSD “r” (rcp, rlogin и rsh) используют ненадежную аутентификацию и ненадежные методы передачи данных. Они должны быть отключены во всех системах и заменены более безопасными программами, например программой SSH.
Удаленная регистрация событий
Протокол syslog описан в главе 11.
Механизм syslog направляет регистрационную информацию в файлы, списки поль зователей и другие узлы сети. Попробуйте настроить узел, отвечающий за безопасность, так, чтобы он действовал как центральная регистрационная машина, анализирующая полученные события и выполняющая соответствующие действия. Единый централизо ванный регистратор событий может получать сообщения от разных устройств и преду преждать администраторов о важных событиях. Удаленная регистрация также предот вращает перезапись или очистку регистрационных файлов во взломанных системах.
Большинство систем поставляется сконфигурированными так, что механизм syslog включен по умолчанию, но для настройки удаленной регистрации необходимо выпол нить дополнительное конфигурирование.
Резервные копии
Регулярное резервное копирование является важной частью системы безопасности любой сети. Оно входит в так называемую триаду ЦРУ и относится к категории “доступ ность” (см. раздел 22.15). Убедитесь, что все части системы регулярно копируются и что эта информация хранится за пределами сайта. Если произойдет серьезный инцидент, связанный с безопасностью сети, вы сможете воспользоваться “надежным” источником информации и восстановить работу.
Резервное копирование само по себе также может создавать угрозу безопасности. Украденная коллекция магнитных лент может уничтожить всю систему безопасности. Для хранения магнитных лент используйте огнеупорные сейфы, которые могут противо стоять взлому, и применяйте шифрование. Рассматривая возможность заключения кон тракта на хранение информации, попросите разрешения совершить экскурсию и лично убедиться в надежности хранилища.
Резервное копирование подробно описывается в главе 10.
Вирусы и черви
Системы UNIX и Linux имеют иммунитет от вирусов. Существует всего несколько вирусов (большинство из них носит чисто академический характер), которые могут за-

950 Часть II. Работа в сети
разить системы UNIX и Linux, но ни один из них не способен нанести серьезный урон, в отличие от среды Windows, где это стало частым явлением. Тем не менее этот факт не снижает озабоченности поставщиков антивирусных программ — разумеется, если вы покупаете их продукт по специальной цене.
Точная причина отсутствия вредоносных программ неясна. Некоторые утверждают, что система UNIX просто занимает слишком незначительную долю рынка настольных систем и поэтому не интересует авторов вирусов. Другие настаивают на том, что среда с контролем доступа, существующая в системе UNIX, ограничивает размер урона от само- распространяющихся червей или вирусов.
Последний аргумент заслуживает внимания. Поскольку система UNIX ограничивает доступ исполняемых модулей на файловом уровне, непривилегированные пользовате ли не могут инфицировать остальную среду. Если код вируса был запущен не из корня, его вред будет значительно ограничен. Следовательно, не нужно использовать корневую учетную запись для повседневной деятельности.
Более подробная информация о сканировании содержимого электронных сообщений приведена в главе 20.
Как ни странно, одна из причин внедрения антивирусного программного обеспече ния на серверах UNIX — стремление защитить работающие под управлением Windows компьютеры, существующие в вашей сети, от Windows-ориентированных вирусов. Почтовый сервер может сканировать входящую электронную почту на вирусы, а файло вый сервер в поисках инфекции может сканировать общие файлы. Однако это решение должно быть дополнительным по отношению к антивирусной защите настольных си стем, а не основным.
Программа ClamAV, написанная Томашем Коймом (Tomasz Kojm), — это популяр ная свободно распространяемая антивирусная программа для систем UNIX и Linux. Она широко используется в качестве полноценного антивирусного обеспечения, которое хранит сигнатуры тысяч вирусов. Новейшую версию этой программы можно загрузить с сайтаclamav.net.
Троянские программы
Это программы, которые не выглядят программами. Примером является программа turkey, распространявшаяся в сети Usenet много лет тому назад. Эта программа утверж
дала, что способна нарисовать индейку на экране компьютера, но на самом деле удаляла файлы из рабочего каталога.
Фрагменты троянских программ встречаются в основных пакетах программного обе спечения до сих пор. Авторы программ sendmail, tcpdump, OpenSSH и nterBase даже опубликовали советы, касающиеся вредоносных программ, внедренных в их программ ное обеспечение. Эти троянские программы обычно внедряют вредоносный код, ко торый позволяет хакерам проникать в систему. К счастью, большинство поставщиков регулярно исправляют свои ошибки и публикуют соответствующие рекомендации раз в одну-две недели. Следите за списками рассылок по вопросам безопасности, посвящен ными всем сетевым программным пакетам, которые выполняются на ваших узлах.
Несмотря на большое количество проблем, возникших в области безопасности си стем UNIX за последние несколько лет, следует отметить малое количество инцидентов, связанных с троянскими программами. В основном, это объясняется скоростью ком муникаций через Интернет. Очевидные проблемы с безопасностью быстро выявляются и широко обсуждаются. Вредоносные пакеты не задерживаются надолго на хорошо из вестных интернет-серверах.