Общий обзор.
Ну хорошо, вы видите, что ваш сервер приобрел общую форму. Но подождите, что является основной частью вашего сервера? Да, это ядро. Оно является основой операционной системы. Без него Linux не Linux. Так что мы должны очень внимательно отнестись к ядру и настроить его так, чтобы оно соответствовало нашим потребностям. Первое о чем вы думаете, создавая новое ядро, это его более отличная настроенность под вашу систему. Это сделать очень просто, но в любом случае прочитайте вначале файл README в каталоге “/usr/src/linux”. При конфигурировании ядра вы должны компилировать коды, которые вам нужны. Это даст следующие преимущества: ядро будет быстрее (меньше размер кода, входящего в него), у вас освободиться место в RAM (меньше кода, меньше размер ядра, а части ядра никогда не помещаются в виртуальную память), ядро будет более стабильным (не надо искать не существующих устройств), неиспользуемые части могут использоваться нападающим для получения доступа к вашей или другим системам. Модули работают медленнее, чем тот же код в компилированный в ядро. При конфигурировании и компиляции мы будем создавать монолитное ядро. Такое ядро получатся при ответе на вопросы Yes или No (никогда не создавайте модули) и пропуске следующих шагов: make modules и make modules_install. Также мы будем патчить наше новое ядро кодом защиты от переполнения буфера. Подобный патч для ядра существует и работает он подобно Solar Designer's, отвергая выполнение кода находящегося в стеке, делая осуществление атак типа “переполнение буфера” более сложным, и полностью защищая систему от всех текущих эксплойтов взятых из "script kiddies" всемирной сети.
Помните, что на все вопросы надо отвечать Yes или No, если вы хотите создать монолитное ядро. Ели вы собираетесь использовать маскарадинг или дозвон через ppp соединение, то создать монолитное ядро невозможно, эти функции требуют использования ряда модулей. Поэтому вам придется создавать модульное ядро.
Созданное ядро будет сильно привязано к определенному аппаратному обеспечению, при конфигурировании я использовал следующее оборудование:
1 Pentium II 400 MHz (i686) processor
1 Motherboard SCSI
1 Hard Disk SCSI
1 SCSI Controler Adaptec AIC 7xxx
1 CD-ROM ATAPI IDE
1 Floppy Disk
2 Ethernet Cards Intel EtherExpressPro 10/100
1 Mouse PS/2