Михаил Флёнов - Linux глазами хакера стр 11.

Шрифт
Фон

Если вы настраиваете сервер, то на отдельные жесткие диски можно вынести папки /home и /var. Логические диски/разделы в этом случае не дадут желаемого результата.

Какими должны быть разделы? Swap нужно задавать в зависимости от установленной памяти, и об этом мы уже говорили чуть раньше. Если разделы /var и /home вынесены на отдельные диски, то для корневого каталога будет достаточно 4 Гбайт, но можно сделать и больше.

На разделе /var тоже лучше не экономить и выделить ему 10 Гбайт. Здесь будут храниться файлы журналов, WWW- и FTP-файлы, которые быстро увеличиваются, и если они заполнят все доступное пространство, то система может выйти из строя или просто станет недоступной. Именно на это иногда рассчитывают хакеры, когда организуют атаку "Отказ от обслуживания" (DoS). К этому вопросу мы еще не раз будем возвращаться. Некоторые специалисты по безопасности рекомендуют располагать этот раздел на самом большом диске (чаще всего там же содержится и раздел /home), но это ударит по производительности. Когда журналы находятся на отдельном диске, то это позволяет выполнять запись в них параллельно с обслуживанием остальных разделов. Это значит, что пользователь работает со своими файлами с разделом /home на одном жестком диске, а другой винчестер в это время сохраняет всю информацию об активности пользователя. Если обе папки будут на одном диске, то запись не сможет быть параллельной.

Ориентируйтесь на свои технические средства. При необходимости разделы /var и /home действительно можно разместить на одном, но самом большем жестком диске. Только вот под раздел /home нужно отдавать все оставшееся пространство, потому что здесь пользователи будут хранить свои данные (достигают большого объема!), и если пожадничать, то скоро начнутся возмущения со стороны пользователей о нереальности сохранения на сервере результатов очередной игры. Если возможность есть, то выделите каждому из разделов максимально большой диск и забудете про проблемы.

Для тестовой системы можно выбрать простейший вариант с двумя разделами (корневой и подкачки) и продолжить установку.

Следующий шаг после создания всех разделов - их форматирование. Некоторые особо умные дистрибутивы выполняют эту операцию без дополнительных вопросов.

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 будет недоступней, то у взломщика возникнут проблемы с выполнением зловредного кода.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке