Назад | Перейти на главную страницу

Оптимизация новой установки сервера Ubuntu

После установки нового сервера Ubuntu (я лично использую 8.04 LTS), что вы делаете, чтобы оптимизировать его с точки зрения потребления памяти, использования диска и скорости? Какие службы и предустановленные пакеты вы удаляете, чтобы сделать вашу систему максимально компактной и экономичной, прежде чем приступить к созданию сервера?

Это будет во многом зависеть от того, для чего вы хотите использовать сервер, поэтому все, что мы предлагаем, может быть для вас неуместным ...

Мой общий совет: не начните с менее базовой установки, а затем удалите пакеты.

Я обычно использую Debian Stable для установки сервера и гарантирую, что ничего кроме самое необходимое продолжается при начальной настройке (включая отмену выбора опции «стандартная система» по умолчанию по запросу tasksel во время процедуры установки), и я добавляю пакеты и настройки, которые необходимы с этого момента. Я предполагаю, что то же самое можно сделать с установкой сервера Ubuntu, поскольку Ubuntu во многих отношениях очень близок к Debian.

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

Во-первых: sudo apt-get install rcconf

sudo rcconf

... отключите все ненужные службы. И перезагрузите систему

Прошу прощения за мой плохой английский ...

Похоже, вы беспокоитесь о безопасности.

Если это так, неплохо было бы md5sum и, возможно, копия критических низкоуровневых системных инструментов которые будут использоваться в случае компрометации системы (например, ls, ps, netstat и т. д. И md5sum) в исходном состоянии до того, как вы когда-либо подключите систему к Интернету.

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

Есть пакет под названием бастилия который можно использовать для усиление защиты серверов.

Он задает вам несколько вопросов о том, как будет использоваться сервер, и ужесточает некоторые параметры безопасности по умолчанию.

Стоит взглянуть.

Ничего не делать. Нет смысла настраивать, пока вы не узнаете, что у вас есть проблема. В большинстве случаев linux будет в порядке из коробки. Если вы используете 32-разрядную версию, вы можете проверить свое ядро, чтобы убедиться, что оно может использовать всю установленную вами память.

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

Однако некоторые вещи вы захотите обсудить заранее.

Например. если вы вдруг решите, что вам нужно больше ввода-вывода, и лучший способ получить его - это рейд 10, тогда ваш SOL, если вы не подумали об этом в первую очередь.

Я не собираюсь здесь много говорить об оптимизации, но, поскольку вы спросили об установке нового сервера, я перечислю некоторые проблемы, связанные с безопасностью ... но остерегайтесь лишнего

  1. Если он сталкивается с "враждебной" сетью - жестко настройте межсетевой экран.
  2. Если это веб-сервер - установите и настройте также прокси (squid - хороший)
  3. Подумайте об этом, когда дело доходит до обновления:
    • Если это патч безопасности - установите
    • Если он добавляет какой-то функционал - сначала протестируйте его в «лабораторной» среде.
  4. Настройте «tripwire» для отслеживания состояния некоторых файлов конфигурации и настройте его для отправки электронной почты всякий раз, когда что-то происходит (электронная почта должна отправляться на удаленный сервер)
  5. Если вы чувствуете, что вам это нужно - настройте также IDS (например, "snort")
  6. Установите "sysv-rc-conf" и отмените выбор всех служб, которые вам не понадобятся.
  7. Проверьте с помощью "netstat -tupan", есть ли в сети другие службы, если они должны быть
  8. Если вам нужен ssh-доступ, настройте «доступ на основе сертификатов» (открытый / закрытый ключи) или отключение портов.
  9. Храните журналы ... проверяйте их ... часто делайте резервные копии ... проверяйте резервные копии
  10. Используйте подходящие пароли (не используйте один и тот же пароль!) - вы можете сгенерировать их с помощью "apg"
  11. Попробуйте сломать собственный сервер, а затем еще больше укрепить его
  12. Google для SELinux и AppArmor

Основная настройка любой машины, на которой я запускаю,

  1. Добавьте следующее в каждую строфу ядра в /etc/grub.conf, затем перезагрузите

    лифт = крайний срок selinux = 0

  2. редактировать /etc/fstab и добавьте следующее во все локальные разделы, затем запустите mount -o remount $PARTITION

    noatime

  3. Удалить slocate, mlocate (если не требуется)

Обновить: объяснение опций

  1. elevator=deadline, подробнее здесь. selinux=0, Я обнаружил, что SELinux вызывает больше проблем, чем решает (например, не связанный с подключением через петлю), и поэтому решил отключить его и полагаться на традиционные шаблоны безопасности.

  2. noatime, без этой опции, всякий раз, когда происходит касание файла или каталога, включая чтение find или ls, то atime Атрибут inode обновлен. Этот ненужный ввод-вывод может значительно замедлить доступ к файловой системе при выполнении массовых операций ввода-вывода и может быть безопасно отключен. Единственное известное приложение, которое не работает в Linux с отключенной этой опцией, - это Mutt. Подробнее здесь.

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