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 не мешает проверить внесенные программой изменения, а для этого вы должны отлично знать структуру и содержание конфигурационных файлов.
2.5. Завершение установки
После завершения копирования файлов на диск нужно разобраться еще с несколькими настройками. Во-первых, система должна знать, как вы ее будете загружать. Если Windows без разговоров прописывает загрузку в MBR (Master Boot Record, основная загрузочная запись), то Linux позволяет выбрать любой другой диск или вообще его не прописывать. В этом случае читать Linux можно будет только с дискеты или некоторыми другими мудреными способами.
В Linux есть множество загрузчиков, в моем дистрибутиве есть выбор между LILO (Linux Loader), GRUB (Grand Unified Bootloader) или ASP Loader (фирменный загрузчик ASP, который отличается от LILO только красотой). Я рекомендую выбрать LILO, хотя возможностей у него меньше, чем у GRUB, но их достаточно, и в настройке он проще. Устанавливайте его в MBR, если нет особой надобности загружать систему с дискеты.
Загрузчик при старте системы позволит выбрать, какую именно операционную систему вы хотите использовать: Windows, если он установлен на компьютере, или Linux (или любое его ядро, если их несколько).
Внизу окна (рис. 2.6) можно установить флажок Создать загрузочную дискету. Я рекомендую обязательно сделать это, если вы выбрали тип установки не в MBR. Загрузочная дискета может спасти, если загрузчик испорчен на диске или вообще отсутствует.
Рис. 2.6. Установка загрузчика Linux
Двигаемся дальше. При наличии сетевой карты в компьютере вы увидите окно для ее выбора. Если нужный драйвер в списке не найдется, то можно оставить значение none. Это не значит, что сетевая карта не заработает, просто будет использоваться универсальный драйвер. В дальнейшем я рекомендую установить корректные драйверы, чтобы заставить сетевую карту работать на все 100%.
На следующем шаге задаются сетевые настройки. Если в вашей сети используется единственный DHCP-сервер, то можно оставить все по умолчанию. Если в вашей сети несколько серверов или есть необходимость расставить адреса вручную, то уберите галочку в пункте Настроить с помощью DHCP.
Если вы не знаете, как работает протокол TCP/IP, то в качестве адреса для примера можете указать 192.168.77.1. Перейдите в поле Шлюз, и все остальные параметры будут заполнены автоматически. В поле Маска должно быть значение 255.255.255.0. В разд. 3.6 мы поговорим о настройке сети, и вы узнаете, как можно изменить параметры подключения. В поле Имя хоста укажите имя, которое вы хотите задать своему компьютеру.
Последнее, что необходимо сделать, — это настроить вашу видеокарту для правильной работы в графическом режиме Windows. На рис. 2.7 показано окно мастера, позволяющего задать параметры видео. Ваша задача правильно выбрать видеокарту и характеристики экрана. Если вы ошибетесь, то сразу же познакомитесь с командной строкой Linux, но все же сможете решить проблему (в разд. 2.7 мы рассмотрим этот вариант).
Рис. 2.7. Окно настройки видео
Не забудьте нажать кнопку Тестировать, чтобы проверить установленные настройки. Если все прошло удачно, можно поставить галочку в поле Использовать графический ввод, что позволит вам очутиться в приятном графическом мире Linux.
2.6. Пароль
Последнее, что нам нужно указать, — это пароль администратора системы (root). В Linux, как и в Windows XP Professional (не путать с Home Edition), нельзя входить без пароля, подобно Windows 9x. Вы обязательно должны указать имя пользователя и пароль, под которым будете работать, и в зависимости от ваших прав вам будет предоставляться доступ к определенным разделам и функциям ОС (рис. 2.8).
Рис. 2.8. Окно задания пароля
Программа установки проверяет только длину пароля, и для администратора эта величина должна быть не менее 6 символов. Так как пользователь root имеет полные права на систему, то пароль должен быть как можно более сложным, чтобы его нельзя было быстро подобрать.