Новые книги

С помощью этой книги вы сможете заработать в Интернете солидный капитал. Быстро! Всемирно известный автор книг о Секрете притяжения любых благ – успеха, счастья, богатства – Джо Витале расскажет о своих секретах ведения бизнеса в Интернете. В этой книге нет сложной технической информации – в ней описывается, как с помощью простых и эффективных методов можно значительно повысить уровень продаж в любом интернет-магазине, какие бы товары или услуги в нем ни предлагались. Вы узнаете, как можно заработать на интернет-аукционах, партнерских программах, на сайтах социальных сетей, а также на любой информации, которой вы располагаете. Вы научитесь создавать гипнотические тексты для своего веб-сайта и завоевывать доверие пользователей. Книга написана доступным языком и предназначена для читателей любого уровня подготовки.
Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.

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

Maintaining Your System



Управление Вашей системой

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

Абсолютный минимум поддержки сводится к проверке файлов протоколов системы и программ в поисках сообщений об ошибках и необычных событиях. Часто это удобно делать с помощью скриптов, периодически запускаемых из cron. Дистрибутивы некоторых пакетов, например, inn или C-News имеют такие скрипты в готовом виде.

Вывод любой из задач cron должен быть отправлен по почте администратору. По умолчанию многие прикладные программы шлют отчеты об ошибках, статистику использования или резюме журнала пользователю root. Это имеет смысл только, если Вы часто работаете как root. Лучше переназначить почту root на Ваш логин, устанавливая псевдоним почты как описано в главе 19 или главе 18.

Как бы тщательно не был настроен сайт, что-то непременно произойдет. Следовательно, поддержание системы также означает поддержку адреса для жалоб пользователей. Обычно люди ожидают, что администратор системы может быть достигнут по e-mail по крайней мере как root, но имеются также другие адреса, которые обычно используются, чтобы достать (во всех смыслах) человека, ответственного за специфический аспект системы. Например, жалобы относительно конфигурации почты будут обычно адресованы postmaster, а проблемы с системой новостей могут быть сообщены newsmaster или usenet. Почта на hostmaster должна быть переназначена человеку, отвечающему за базисные сетевые услуги компьютера и обслуживание имен DNS, если Вы выполняете сервер имен.

Защита системы

Другой очень важный аспект администрирования, это защита от хакеров. Небрежно управляемые системы предлагают злонамеренным людям много адресатов. Атаки могут быть самыми разными: от подбора паролей до Ethernet snooping. Я упомяну некоторые специфические проблемы при обсуждении контекста, в котором они могут происходить, и некоторую общую обороноспособность против них.

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

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

При создании сервиса, доступного для сети, удостоверьтесь, что Вы дали ему наименьшее количество привилегий. То есть, сервис не должен делать ничего лишнего. Под "лишним" здесь понимается все, что не относится к его работе. Более того, он не должен иметь права делать это. Например, Вы должны объявлять программы как setuid к root или другому привилегированному логину только тогда, когда это необходимо. Также если Вы хотите использовать сервис только для очень ограниченной прикладной программы, пожалуйста, конфигурируйте его так ограничено, как эта прикладная программа позволяет. Например, если Вы хотите позволить компьютерам без диска загружаться с Вашей машины, Вы должны обеспечить Trivial File Transfer Protocol (TFTP) так, чтобы они могли загружать базисные файлы конфигурации из каталога /boot. Однако, когда TFTP используется без ограничителей, протокол позволяет пользователям где-нибудь в мире загружать любой открытый всем на чтение файл из Вашей системы. Если это не то, что Вы хотите, ограничьте TFTP доступом к каталогу /boot.

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

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

Еще одним источником головной боли являются программы, которые допускают вход в систему или выполнение команды с ограниченной авторизацией. Команды rlogin, rsh и rexec очень полезные, но их проверка сводится к авторизации стороны вызова. Авторизация основана на доверии к имени вызывающего компьютера, полученного из сервера имен (мы будем говорить о нем позже), который может быть фальшивым. Сегодня должно стать обычной задачей полностью отключить r-команды и заменить их на набор инструментальных средств ssh. Эти инструментальные средства используют намного более надежный опознавательный метод и обеспечивают также другие услуги, типа шифрования и сжатия.

Вы никогда не можете исключать то, что Ваши предосторожности пропали даром, независимо от того, насколько предусмотрительны Вы были. Вы должны удостовериться, что обнаруживаете хакеров своевременно. Проверка журналов системы хорошая отправная точка, но хакер бывает достаточно умен, чтобы ожидать это действие и удалит любые очевидные следы. Однако, имеются инструментальные средства подобные tripwire (авторы Gene Kim и Gene Spafford), которые позволяют Вам проверять жизненно важные системные файлы, чтобы видеть, было ли их содержание или разрешения изменены. Программа tripwire вычисляет различные контрольные суммы этих файлов и сохраняет их в базе данных. В дальнейшем контрольные суммы повторно вычисляются и сравниваются с сохраненными, чтобы обнаружить любые модификации.