Безопасность системы
Другой очень важный аспект администрирования системы в сети -- защита системы и пользователей от злоумышленников, которые могут вредить вам не только фальшивыми сообщениями, но и стиранием данных или нарушения секретности ваших пользователей. Мы будем yпоминать некоторые специфические проблемы при обсуждении случаев, когда они могут происходить, и предложим несколько общих способов защиты.
Здесь мы будет обсуждать несколько примеров и основных методов обеспечения безопасности системы. Конечно, охваченные темы не могут решить всех проблем безопасности, с которыми вы столкнетесь; они просто служат иллюстрацией проблем, которые могут возникнуть. Поэтому, необходимо прочитать хорошую книгу по безопасности, особенно администратору сетевой системы. Simon Garfinkel "Практическая UNIX Безопасность" ( см. [ GETST "безопасность"]) -- очень рекомендую.
Безопасность системы начинается с хорошего администрирования системы. Это включает в себя проверку собственности и разрешений всех жизненено важных файлов и каталогов, контроль использования привилигерованных прав, и т.д.. COPS программа, например, будет проверять вашу файловую систему и общие файлы конфигурации на необычных разрешения и другие аномалии. Также следует ввести определенные правила по созданию пользовательских паролей, которые позволяли бы уменьшить вероятность их подбора. Например, потребовать чтобы пароль имел по крайней мере пять букв, и содержал как верхние так и низкие регистры и цифры.
При создании сервиса доступного по сети, постарайтесь дать ему "наименьшие привилегии," удастовертесь что Вы не разрешаете ему делать вещи, которые не требуются для его работы. Например, Вы должны делать программы с привилегии root только, когда они действительно нуждаются в этом. Например, если Вы хотите разрешить бездисковым хостам загружаться от вашей машины, Вы должны обеспечить TFTP (тривиальный сервис передачи файла) так, чтобы они загружали основные файлы конфигурации из дириктории /boot. Однако, когда используется неограниченный TFTP, это позволяет любому прочитать общедоступные файлы с вашей машины. Если это не то, что Вы хотите, почему бы не ограничить TFTP сервис дирикторией /boot?
По той же самой причине, Вы могли бы захотеть ограничить доступ к определенным услугам пользователям с определенных хостов. В главе 10., мы представляем tcpd, который делает это для разнообразных сетевых приложений.
Другой важный пункт -- избегайте "опасного" программного обеспечения. Конечно, любое программное обеспечение, которое Вы используете может быть опасно, потому что программное обеспечение может иметь ошибки, так что умные люди могли бы использовать их чтобы получить доступ к вашей системе. Подобные вещи случаются и нет никакой полной защиты против этого. Эта проблема касается как бесплатного, так и коммерческого программного обеспечения. Однако, программы, которые требуют специальных привилегий несоизмеримо опаснее чем другие, потому что любая лазейка может иметь непоправимые последствия. Если Вы устанавливаете сетевую программу будте вдвойне осторожны и ничего не пропускаете в документации, чтобы случайно не нарушить безопасность системы. Вы не можете исключить того, что ваши предосторожности могут потерпеть неудачу, независимо от того насколько осторожный Вы были. Поэтому Вы должны удостовериться, что Вы обнаружите злоумышленников сразу же после их появления. Хорошее начало -- проверка log файлов системы, но злоумышленник вероятно умный человек, и будет удалять любые очевидные следы перед уходом. Однако, имеются инструменты подобно tripwire, которые позволяют Вам проверять жизненно важные системные файлы и регистрировать были ли их содержание или разрешения изменены. Tripwire вычисляет различные сильные контрольные суммы по этим файлам и хранит их в базе данных. Потом контрольные суммы повторно вычисляются и сравниваются с сохраненными для обнаружения любых модификации.