Я только что настроил свой сервер CentOS 5.8 64 [final] в качестве веб-сервера.
Технические характеристики: 2x E5620 Intel CPU, DDR3 RAM, Hardware Adaptec RAID 10, 4x SAS диска.
Я установил себе:
Nginx
PHP-FPM
MySQL [ourdelta.org version]
Sphinx
Vsftpd
Fail2ban
Citadel [ddos flood protection]
Munin
NTP
Htop
Iptraf
Это все, что я активно использую для запуска своих сайтов.
Теперь мой вопрос:
Я нашел эту статью: http://www.vr.org/kb/1002/Optimize-and-disable-default-CentOS-services.html
Что говорит о целом списке сервисов, которые можно отключить.
Вот список, который они предлагают:
chkconfig anacron off
chkconfig apmd off
chkconfig atd off
chkconfig autofs off
chkconfig cpuspeed off
chkconfig cups off
chkconfig cups-config-daemon off
chkconfig gpm off
chkconfig isdn off
chkconfig netfs off
chkconfig nfslock off
chkconfig openibd off
chkconfig pcmcia off
chkconfig portmap off
chkconfig rawdevices off
chkconfig readahead_early off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig ip6tables off
chkconfig avahi-daemon off
chkconfig firstboot off
chkconfig yum-updatesd off
chkconfig sendmail off
chkconfig mcstrans off
chkconfig pcscd off
chkconfig bluetooth off
chkconfig hidd off
Теперь я использую sendmail
, и smartd
, так что я оставлю их себе.
Но большинство других процессов я не узнаю. Есть ли что-нибудь, что я должен быть осторожен с отключением?
Будьте осторожны с использованием чужих «списков», так как вы можете отключить то, что вам действительно нужно.
Вот некоторые очевидные проблемы, которые я вижу в этом списке:
anacron
гарантирует, что задания cron, пропущенные из-за простоя, будут запущены при восстановлении работы системы.smartd
контролирует состояние ваших дисков и может быть настроен на отправку вам электронной почты, если диск выходит из строя (хотя, поскольку у вас есть аппаратный RAID, вам следует использовать вместо этого инструмент, предоставленный поставщиком).ip6tables
такое межсетевой экран IPv6 ... Действительно? Кто-то посоветовал отключение брандмауэра?!? Это действительно подрывает их авторитет к чертям.yum-updatesd
обеспечивает автоматические обновления. Если вы этого не хотите, отключите его, хотя в некоторых случаях это полезно.Я также должен согласиться с советом @airey выполнить минимальную установку. В CentOS 5 это требует использования файла кикстарта; CentOS 6 имеет специальный минимальный установочный компакт-диск.
Хотя отключение / удаление определенного программного обеспечения является вполне допустимым подходом к укреплению защиты системы, во многих случаях это излишне, особенно когда, как и вы, не уверен, какие службы нужно отключить.
Лучшим подходом было бы использование минимальной установки в сочетании с ограничительным брандмауэром. Поскольку это будет веб-сервер, набор правил должен быть очень простым для определения.
Чтобы выполнить минимальную установку, пройдите через установщик CentOS и, когда вы дойдете до экрана со списком ролей, снимите все флажки. Затем выберите «Настроить сейчас».
Вы увидите экран с различными категориями слева и группами пакетов справа. Просмотрите каждую категорию и снимите отметки со всех групп пакетов. в Основание категорию, щелкните Дополнительные пакеты кнопка. Я обычно снимаю все, кроме:
После завершения установки и перезагрузки вы можете установить веб-сервер и любые другие пакеты, необходимые для вашей ситуации (httpd, PHP, MySQL и т. Д.). Yum автоматически разрешит зависимости за вас и должен устанавливать только те пакеты, которые необходимы для работы выбранных вами служб.
Когда это будет завершено, отредактируйте свои правила iptables, чтобы разрешить только необходимые службы: SSH, HTTP, HTTPS, исходящий SMTP и т. Д. Доступно множество руководств, объясняющих, как это сделать. Этот вопрос и принятый на него ответ - хорошая отправная точка.
НЕ БЛОКИРУЙТЕ SSH! Если у вас нет консольного доступа к серверу, будьте осторожны, чтобы не блокировать SSH в любой момент, иначе вы не сможете получить доступ к системе. При изменении правил брандмауэра я всегда открываю новый сеанс SSH, не закрывая существующий (рабочий), просто чтобы убедиться, что я все еще могу подключиться. После выхода из установленного сеанса, если SSH заблокирован, вы поднимаетесь по ручью без весла.
Вы начали с минимальной установки? Если нет, я бы рекомендовал начать с этого, как например anacron
даже не установлены для начала.