— дефрагментировать все приходящие пакеты. Так уж повелось, что сетевой экран проверяет только первый пакет, а все остальные считает разрешенными. Хакер может обойти сетевой экран, прибегая к разбивке посылки на части (см. разд. 4.13). Если установить этот параметр, то все входящие пакеты будут дефрагментированы, и обход сетевого экрана этим методом станет невозможным;
□
net.ipv4.ipfrag_low_thresh
— определяет минимальный объем памяти, который выделяет ОС для сборки фрагментированных
пакетов. Чем больше это значение, тем меньше будет манипуляций по выделению памяти. По умолчанию используется число 196608. Слишком большое значение отнимет лишнюю память и может привести к эффекту, при котором для обработки данных не хватит ресурсов сервера. Я бы оставил это значение по умолчанию;
□
net.ipv4.ipfrag_high_thresh
— определяет максимальное количество памяти (по умолчанию 262144), выделяемое для сборки фрагментированных пакетов. Если значение превышено, то ОС начинает отбрасывать пакеты. Таким образом, хакер может закидать сервер большим количеством мусорных сообщений, и тот больше не будет выполнять дефрагментацию;
□
net.ipv4.ipfrag_time
— определяет время хранения фрагментированных пакетов в кэше. По умолчанию используется значение 30 секунд. Это очень много, за это время хакер сможет забросать весь кэш. В случае атаки на систему следует понизить это значение до 20, а то и до 10 секунд;
□
net.ipv4.tcp_syncookies
— продолжая тему DoS, я рекомендую включить этот параметр, чтобы защититься от атаки SYN flood, при которой на сервер направляется большое количество пакетов с запросом на соединение. Хакер устанавливает в пакетах ложный обратный адрес, и сервер ожидает соединения от несуществующих или ничего не подозревающих компьютеров. Таким образом, легко превышается максимально допустимое количество подключений.
Параметров ядра очень много, и рассматривать все мы не будем. Советую обратиться к документации.
14.11.2. Тюнинг HDD
Долгое время в ОС Linux для доступа к жесткому диску была отключена даже поддержка DMA (Direct Memory Access, прямой доступ к памяти), хотя эта возможность существует почти во всех материнских платах еще со времен первых компьютеров с процессором Pentium. ОС не использовала DMA в целях совместимости с более старыми компьютерами, поэтому функцию приходилось включать самостоятельно.
В современных дистрибутивах поддержка DMA уже включена, но работу винчестера можно еще оптимизировать. Для тестирования и настройки жесткого диска используется утилита hdparm. Для определения скорости работы диска выполните команду с ключом
– t
:
hdparm -t /dev/hda
В ответ вы получите сообщение типа:
Timing buffered disk reads: 64 MB in 3.02 seconds = 21.19MB/sec
Попробуйте в качестве параметра указать раздел:
hdparm /dev/hda2
В результате будут выведены параметры жесткого диска:
— количество слов, читаемых за один такт. Эта опция должна быть включена, и желательно установить значение 128. Это может повысить производительность на 30–50%. Для изменения значения используется ключ
mX
, где
X
— это устанавливаемое значение;
□
using_dma
— режим DMA. Для включения используется ключ
d1
;
□
IO_support
— режим доступа к диску. По умолчанию стоит 16-битный, но сейчас уже можно использовать 32-битный режим. Для включения используется ключ
c3
.
Это основные три параметра, которые могут реально повысить производительность. Итак, давайте установим значения в соответствии с указанными выше рекомендациями. Для этого выполните команду:
hdparm -m128d1c3/dev/hda
Как видите, мы просто перечислили все ключи и указали диск /dev/hda. Обратите внимание, что при определении устройства не стоит никаких цифр, которые указывали бы на раздел, т.к. доступ можно изменить только жесткому диску в целом.
После изменения параметров их необходимо сохранить с помощью команды:
hdparm -k1 /dev/hda
После этого снова выполните команду тестирования скорости работы диска
hdparm -t /dev/hda
.
Помимо того, что вы увидели с помощью команды
hdparm /dev/hda2
, появился еще один параметр — режим доступа. В настоящее время поддерживается три режима ATA 33/66/100. Сверьтесь с документацией на жесткий диск, чтобы узнать, что он поддерживает.
Для смены режима используется ключ
X
:
□ X34 — ATA33;
□ X68 — ATA66;
□ X69 — ATA100.
Для установки ATA66 выполните команду:
hdparm -Х68/dev/hda
Самое странное, что установленные вами параметры не сохраняются после перезагрузки системы, поэтому желательно прописать эти команды в файл /etc/rc.d/rc.local. Для этого в самый конец файла добавляем три строки:
hdparm -m128d1c3/dev/hda
hdparm -Х68/dev/hda
hdparm -k1 /dev/hda
14.11.3. Автомонтирование
Если вы начали знакомство с компьютером под ОС Windows, то для вас может оказаться дикостью процесс ручного монтирования файловых систем и особенно CD-ROM-дисков. Действительно, для сервера это еще приемлемо, потому что там диски используются редко, а вот на рабочей станции внешние носители применяются регулярно. Мне иногда приходится вставлять по 20 разных дисков в день, и каждый раз монтировать/демонтировать их очень неудобно.