Книга: Linux глазами хакера

2.4. Выбор пакетов для установки

2.4. Выбор пакетов для установки

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

У меня на отладочной системе действительно стоит Linux в полной комплектации со всем, что только можно. На ней я тестирую новые программы и проверяю работоспособность отдельных модулей. Но в "боевых" системах не устанавливаю ничего лишнего.

Любой дистрибутив Linux включает в себя невероятное множество программ, особенно серверных. Тут и Web-сервер, и FTP, и многое другое. Установив все, мы делаем свой компьютер "проходным двором", особенно если все это активизируется при старте системы. Загрузка компьютера замедлится и станет сравнима с запуском Windows XP на Pentium 100.

В ОС будет открыто множество портов и заработают разнообразные сервисы, в которых мы пока еще даже не разбирались. А ведь нет идеальных программ. Везде существуют ошибки, которые регулярно обнаруживаются и исправляются. Если хотя бы в одном демоне (серверная программа, которая обрабатывает запросы клиента) найдется погрешность, то любой хакер сможет проникнуть в вашу систему и делать в ней все, что вздумается.

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

Итак, Linux предлагает нам выбрать один из следующих вариантов установки:

Типовая — включает приложения, которые разработчик посчитал часто используемыми;

Разработка — будут установлены основные пакеты и все необходимые компоненты для разработки приложений, компиляции ядра ОС Linux и т.д.;

Офис — типовые пакеты плюс офисные приложения;

Сервер — только ОС и демоны;

Пользовательский — вы сами можете сформировать нужный список.

Никогда не выбирайте серверную установку. В этом случае на компьютере отсутствуют клиентские приложения, но зато будут работать в фоновом режиме всевозможные программы-демоны. Это как раз самый опасный вариант. Если офисные программы не открывают портов, не работают с сетью (т.е. не могут нанести ущерб серверу извне), а также не загружаются в память при старте и не влияют на производительность, то серверные приложения тормозят систему, и каждый лишний демон — это удар по безопасности.

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

На следующем этапе мы увидим список всех компонентов, которые могут быть установлены. По умолчанию в списке нет выделенных серверных программ (и не надо). Но если заранее известно о необходимости какого-либо сервера, то можно его отметить, чтобы он автоматически установился. Допустим, вы знаете, что вам обязательно понадобится Web-сервер. Для этого чаще всего используют Apache. Найдите в дереве компонентов пункт Web Server, раскройте его и поставьте галочку напротив apache (основные файлы сервера) и apacheconf (программа настройки). Если вы будете писать программы на языке PHP, то здесь же можно выбрать все необходимые компоненты для такой разработки.

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

Не устанавливайте ничего лишнего. Если вы не пользуетесь какой-либо программой, то, конечно же, не будете следить за ее обновлениями и не станете заниматься исправлениями ошибок. Для повышения своих привилегий злоумышленник сможет воспользоваться и такой программой. Таким образом, вы откроете нараспашку дверь хакеру.

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

Пока идет установка, поговорим еще немного об этом процессе, чтобы к моменту настройки системы вы были во всеоружии. Допустим, что в вашей сети должны работать три сервера: Web-, FTP- и сервер новостей. Все эти функции может выполнять один компьютер, но безопасность в этом случае будет далека от идеала. Я всегда разношу каждую задачу на отдельные компьютеры и вам советую не экономить на железе и делать то же самое.

Каждый запущенный демон — это потенциальная дыра. Как мы уже знаем, в них неизменно существуют погрешности, и не всегда администраторы узнают о них первыми. Допустим, что ошибка найдена в сервере Apache. В последнее время это происходит достаточно редко, потому что программа уже очень хорошо отлажена, но представим эту ситуацию. Ошибка может быть не в самом сервере Apache, а в обслуживаемом им Web-сайте или в интерпретаторе PHP/Perl. В любом случае хакер может воспользоваться этой брешью и с легкостью получит доступ к FTP-серверу и скачает все секретные данные. Если на данном компьютере будет работать только сервер, то доступ через FTP к конфиденциальным данным будет проблематичен. Максимум, что может сделать хакер, — дефейс (замена главной страницы) или уничтожение сайта. Но это восстановить проще, чем воссоздавать все данные с FTP- или сервера новостей.

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

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

В ОС Linux очень редко используются инсталляторы программ, поэтому все настройки производятся во время компиляции исходного кода. Если gcc будет недоступней, то у взломщика возникнут проблемы с выполнением зловредного кода.

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

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

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

Оглавление книги


Генерация: 0.823. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз