Как же защитить свой хост
Впитав такой впечатляющий набор фактов об уязвимости вашей системы, вы, несомненно, задаете себе вопрос: как же обеспечить защиту в сети и, вообще, возможно ли это? Не будем дискутировать на философскую тему "почему абсолютная защита невозможна?"
В любом случае, сделать все, чтобы максимально ее улучшить - задача любого администратора безопасности. Надеемся также, что вы уже прочитали рассуждения в главе 7 по вопросу "А есть ли, что мне защищать?" .
Проанализировав причины, по которым происходят успешные нападения на хосты UNIX, нам будет легче сформулировать те принципы, на которых будет строиться защита. При этом будем придерживаться следующих концепций:
- актуальность - защищаться надо от реальных атак, а не от фантастических или, наоборот, времен вируса Морриса;
- разумность затрат - поскольку 100% защиты мы все равно не обеспечим, надо найти тот рубеж, за которым затраты на дальнейшее повышение безопасности оказываются выше стоимости той информации, которую может украсть кракер.
- Прочитайте, наконец, руководство по администрированию вашей системы, и наверняка вы найдете там некоторые полезные советы, которые захотите применить.
- Поставьте последние версии sendmail, ftpd и httpd. Этим вы сразу отсеете до 30% (самых невежественных или ленивых) кракеров.
- Запустите программу автоматизированного контроля вашего хоста, типа SATAN или ISS. Почему типа? Дело в том, что на сегодняшний день эти программы явно устарели (см. п. 8.9), а новых мы пока не можем вам предложить. Из этого не следует, что, когда вы будете читать эти строки, таковых не появится. Вероятно, они сделают то же, что и предлагается ниже, только вам это будет стоить гораздо меньше.
- Проверьте настройки вашего NFS-сервиса, а также содержимое файлов /etc/hosts.equiv и .rhosts (или подобных) для каждого пользователя. У NFS не должно быть экспорта любых каталогов для everyone, а необходимость включения каждого доверенного хоста должна быть еще раз проверена. Уже до 50% кракеров не смогут забраться к вам.
- Сходите в CERT или CIAC (см. адреса в приложении) и внимательно прочитайте их бюллетени за последнее время. Установите все рекомендуемые патчи (patch). Этим вы отсеете еще 20% взломщиков, так что уже 70% вы сможете остановить.
- Правильно настройте (или установите) ваш файрвол. Из этого не следует, что вы должны запретить все и всем, запретите лишь все неиспользуемые вами порты и протоколы. Поставьте сетевой монитор безопасности IP-Alert 1 (см. п. 7.2.2.2). Уже более 80% злоумышленников будет скрежетать зубами от злости.
- Станьте на несколько часов хакером и напустите на файл /etc/passwd (или затененный (shadow) аналог / etc/ shadon) последний взломщик паролей. Здесь у вас большое преимущество перед хакерами - этот файл слишком просто получить, и грех не воспользоваться такой удачей. С теми пользователями, пароли которых были вскрыты автоматически, надо усилить разъяснительную работу. Не забудьте затенить ваш файл паролей. Еще 10% кракеров будет убито наповал, и вы победили уже 90% из них.
- Проверьте настройки всех остальных служб, особенно использующих доверие (типа NIS или X-Window). Откажитесь от них по возможности - и празднуйте победу над около 95% взломщиков.
- Сходите еще раз в CERT или CIAC и прочитайте ВСЕ их бюллетени. Установите все рекомендуемые ими и производителями вашего UNIX патчи. Да, это потребует много времени, но вы будете вознаграждены тем, что 97% кракеров для вас перестанут быть опасными.
- Попросите разрешения у администраторов всех доверенных хостов, найденных вами на шаге 4, просканировать их хосты на предмет безопасности. Для этого можно воспользоваться тем же SATAN'ом, но вам нужно смотреть в первую очередь не на найденные им уязвимости (они вряд ли уже актуальны), а на список использованных сервисов и программ-демонов, их поддерживающих. Это можно сделать, вручную проанализировав файл с результатами работы SATAN. Если вы найдете уязвимую программу там, попросите соседнего администратора обновить ее. Если он не зря занимает свое место, то он с благодарностью это сделает. Итак, 99% кракеров никогда не попадут на ваш, уже почти полностью безопасный хост.
- Придумайте какую-нибудь собственную изюминку, очень простую, но которая сможет привести слишком умных кракеров в тупик, типа переименования какой-нибудь важной команды или сообщения на входе "FSB host. Vvedite vashe imya i zvanie:" .
- Поставьте монитор всех входящих соединений (типа tcp_wrapper). Этим вы сможете если не остановить, то хоть увидеть следы кракера и понять его логику для дальнейшего закрытия этой лазейки.
- Избавьтесь от sendmail, поставьте другой SMTP-демон.
- Выкиньте некоторые малоиспользуемые службы (типа finger, talk, rpc) и ужесточите настройки вашего файрвола.
- Поставьте proxy-сервер для дополнительной аутентификации извне, а также для скрытия адресов и топологии внутренней подсети.
- Перенесите весь сервис, требующий входящих соединений (http, SMTP), на отдельную машину и оставьте ее в открытой сети. Удалите с этой машины все программы и информацию, не относящуюся к ее назначению. Все остальные машины спрячьте за файрволом с полным отключением входящего трафика.
- Поставьте защищенную версию UNIX или другой операционной системы.
Итак, ниже приводится список очень простых правил и действий (некоторые идеи взяты из [25]), за которым следует процент отсеченных на этом этапе кракеров. Поставив перед собой цель защитить свой хост на N процентов, вы можете сами решить, на каком из них вам остановиться:
Остальные меры, направленные на отлов последнего процента самых достойных кракеров, являются превентивными в том смысле, что не направлены конкретно на ту или иную службу. Возможно, они будут сопряжены с более или менее значительной переделкой вашего хоста.