Россия, Томск, ТУСУР, 2010 |
Наблюдение за сетевыми соединениями и исправление неполадок
Безопасность системы в компьютерной сети
Безопасность в сети - это тема для отдельной книги или даже целого многотомника, поэтому здесь мы рассмотрим только основные аспекты, связанные с обеспечением безопасности систем Solaris в сети.
- все сетевые службы (демоны) в системе представляют собой корректно работающие программы, реализующие стандартные протоколы работы;
- система предоставляет доступ к ограниченному набору сетевых служб, этот доступ жестко контролируется посредством аутентификации и авторизации обращающихся, сообщение о разрешении доступа сохраняется в файле протокола;
- при работе в сети используются безопасные протоколы передачи данных, там, где это применимо, данные передаются зашифрованными надежными (на данный момент) алгоритмами шифрования;
- администратор(ы) и пользователи системы всегда применяют свои собственные пароли и никогда не сообщают их другим лицам;
Картина получилась идеальной. Если вы работаете в компании, где все происходит в точности так, как здесь описано, вы - счастливый человек!
Что надо сделать, чтобы приблизиться к идеалу?
Для того чтобы все программы работали так, как вы ожидаете, следует:
- регулярно следить за сообщениями о найденных в ПО уязвимостях. Для этого существует ряд списков рассылки, на которые вы можете подписаться совершенно бесплатно. Наиболее толковый вариант, по-моему, рассылка от CERT (Computer Emergency Response Team) - зайдите на www.cert.org и проверьте сами!
- всегда устанавливать рекомендованные рассылкой от CERT или производителем системы заплатки и обновления системы или отдельных программ; об установке программ в Solaris рассказывает лекция 12;
- строго следовать рекомендациям производителей программ, например, если сказано, что демона squid нельзя запускать от имени привилегированного пользователя root, то и не надо этого делать!
Ограничение набора служб, к которым можно обратиться, так же как и ограничение доступа к каждой службе в отдельности, мы рассмотрим ниже, в разделе "Ограничение доступа к сетевым службам". О протоколировании работы демонов заботятся программисты, которые их пишут, поэтому администратору надо знать лишь, где хранятся файлы протокола и к чему они относятся. Об этом говорится в лекции 16.
Применяйте только безопасные протоколы в сети, для этого:
- вместо telnet всегда используйте secure shell (ssh) ;
- используйте https вместо http там, где через web-интерфейс передаются конфиденциальные данные;
- запрещайте на сервере протоколы, позволяющие узнавать информацию о вашей сети (например, finger);
- пользуйтесь только теми программами, назначение которых вам известно.
Запретите всем пользователям системы (себе - тоже!):
- передавать важные пароли открытым текстом через сеть;
- сообщать кому-либо свой пароль в системе;
- реагировать на провокационные сообщения по e-mail (мошенники уже пытались убедить вас в том, что вам нужно где-то перерегистрироваться и сообщить им свой пароль?);
- оставлять свой пароль записанным на видном месте;
- придумывать примитивные пароли.
Список глупостей можно продолжить, но мы ограничимся призывом вести себя осторожно: от нас зависит безопасность сетей в большом числе организаций!
Сетевые службы
Сетевые службы делятся на два типа: запускаемые в начале работы системы и запускаемые по запросу. Те, что запускаются в начале, обычно функционируют постоянно, до завершения работы системы или до аварийного завершения. К таким службам относятся все демоны с относительно высокой постоянной нагрузкой, которые должны давать быстрый ответ клиенту: почтовые серверы, web-серверы, демоны sshd и многие другие. К запускаемым по запросу относятся службы, которые нужны реже, и между скоростью доступа к ним и эффективностью использования ресурсов часто выбирается эффективность (незачем отнимать ресурсы у системы, запуская постоянно действующие, но редко требуемые процессы). К службам второго типа относятся telnetd, ftpd и другие.
Службы по запросу запускает демон inetd. При запуске или при получении сигнала SIGHUP он читает файл конфигурации /etc/inetd.conf, где определено, какие службы можно запускать по запросу, и какие программы при этом следует запускать.