Безопасность системы

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

Здесь мы будем обсуждать несколько примеров и основных методов обеспечения безопасности системы. Конечно, охваченные темы не могут решить всех проблем безопасности, с которыми вы столкнетесь. Они просто служат иллюстрацией проблем, которые могут возникнуть. Поэтому, необходимо прочитать хорошую книгу по безопасности, особенно администратору сетевой системы. Simon Garfinkel "Практическая UNIX Безопасность" (см. [GETST "безопасность"]) -- очень рекомендую.

Безопасность системы начинается с хорошего администрирования системы. Это включает в себя проверку собственности и разрешений всех жизненноважных файлов и каталогов, контроль использования привилегированных прав и т.д. COPS программа, например, будет проверять вашу файловую систему и общие файлы конфигурации на необычные разрешения и другие аномалии. Также следует ввести определенные правила по созданию пользовательских паролей, которые позволили бы уменьшить вероятность их подбора. Например, потребовать, чтобы пароль имел по крайней мере пять букв и содержал как верхние, так и нижние регистры, а также цифры.

При создании сервиса, доступного по сети, постарайтесь дать ему "наименьшие привилегии", удостоверьтесь, что вы не разрешаете ему делать вещи, которые не требуются для его работы. Например, вы должны создавать программы с привилегией root только, когда они действительно нуждаются в этом. Если вы хотите разрешить бездисковым хостам загружаться от вашей машины, вы должны обеспечить TFTP (тривиальный сервис передачи файла) так, чтобы они загружали основные файлы конфигурации из директории /boot. Однако, когда используется неограниченный TFTP, это позволяет любому прочитать общедоступные файлы с вашей машины. Если это не то, что вы хотите, почему бы не ограничить TFTP сервис директорией /boot?

По той же самой причине, вы могли бы захотеть ограничить доступ к определенным услугам пользователям с определенных хостов. В главе 10, мы представляем tcpd, который делает это для разнообразных сетевых приложений.

Другой важный пункт — избегайте "опасного" программного обеспечения. Конечно, любое программное обеспечение, которое вы используете, может быть опасно, потому что программное обеспечение может иметь ошибки. Так что умные люди могли бы использовать их, чтобы получить доступ к вашей системе. Подобные вещи случаются, и нет никакой полной защиты против этого. Эта проблема касается как бесплатного, так и коммерческого программного обеспечения. Однако, программы, которые требуют специальных привилегий, несоизмеримо опаснее чем другие, потому что любая лазейка может иметь непоправимые последствия. Если вы устанавливаете сетевую программу, будьте вдвойне осторожны и ничего не пропускайте в документации, чтобы случайно не нарушить безопасность системы. Вы не можете исключить того, что ваши предосторожности могут потерпеть неудачу, независимо от того, насколько осторожны вы были. Поэтому вы должны удостовериться, что вы обнаружите злоумышленников сразу же после их появления. Хорошее начало — проверка log файлов системы, но злоумышленник, вероятно, умный человек и будет удалять любые очевидные следы перед уходом. Однако, имеются инструменты, такие как tripwire, которые позволяют вам проверять жизненно важные системные файлы и регистрировать изменения их содержания или разрешений. Tripwire вычисляет различные сильные контрольные суммы по этим файлам и хранит их в базе данных. Позже контрольные суммы повторно вычисляются и сравниваются с сохраненными для обнаружения любых модификаций.

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

Регулярно проводите аудит своей системы. Инструменты, такие как nmap или nessus, могут помочь определить открытые порты или уязвимые службы на вашей машине. Закрывайте ненужные порты и отключайте ненужные службы, чтобы уменьшить потенциальные точки входа для атакующих.

Не забывайте о физической безопасности. Помните, что злоумышленник, имеющий физический доступ к вашему оборудованию, может обойти многие из ваших цифровых мер безопасности. Обеспечьте надежное хранение серверов и другого критического оборудования, и убедитесь, что доступ к ним ограничен.

В заключение, безопасность — это не единовременное действие, а постоянный процесс. Постоянное обучение, мониторинг и адаптация к новым угрозам и сценариям атак помогут сохранить вашу систему и данные в безопасности.