Я плачу за VPS и надеюсь запустить свой первый веб-сайт на нем в ближайшие несколько дней.
Я беспокоюсь, что в стандартной настройке могут быть очевидные дыры в безопасности, поэтому я очень хочу получить несколько советов. Единственное, что я знаю, это отключить отчеты об ошибках в PHP и создать пользователей / привилегии для MySQL. Есть еще что-нибудь в этом роде?
Я использую:
Следует помнить о нескольких принципах / советах безопасности:
Закройте ненужные службы
Если вам не нужна конкретная служба, закройте ее. Об одном меньше беспокоиться, особенно в отношении безопасности.
Следуйте принципу наименьших привилегий
Если сервису не нужны супер-привилегии, просто дайте ему необходимые привилегии. Например, если вашему веб-приложению не нужно отбрасывать таблицы, нет необходимости включать привилегию удаления в MySQL.
Обновите свои службы в отношении обновлений безопасности
Это очень важно! Время от времени обнаруживаются дыры в безопасности. Когда речь идет о проблемах безопасности, очень важно обновлять свои приложения.
Не использовать учетные данные по умолчанию
Просто не используйте это. Они злые :) Например, у пользователя root MySQL нет пароля. Создай.
Сделайте резервную копию всего, что важно
Сделайте резервную копию всего, что вам нужно для восстановления вашего сервера, и я имею в виду все. Кроме того, регулярно проверяйте свои резервные копии. Это справедливо не только из соображений безопасности, но и из соображений непрерывности бизнеса. Никогда не знаешь, когда может понадобиться резервная копия.
Надеюсь это поможет!
Также попробуйте принудительно привязать mysql к прослушиванию localhost, если это приемлемо для вас (директива Listen), или даже лучше, если возможно, удалите сетевую поддержку mysql.
Смотрите также моя первая "производственная" конфигурация сервера debian
Всегда, всегда, всегда используйте встроенный менеджер пакетов для установки программного обеспечения - в случае Centos это означает Yum - http://wiki.centos.org/PackageManagement/Yum. Это гарантирует наличие единого централизованного способа отслеживания и установки обновлений безопасности. Установка программного обеспечения из исходного кода на производственные серверы - это кошмар безопасности, потому что вам нужно вручную отслеживать и вручную устанавливать обновления безопасности для всего этого.
Убедитесь, что у вас установлен брандмауэр, который разрешает входящие только службы, которые вам нужны - вы можете начать с http://www.larted.org.uk/~dom/computing/code/iptfirewall
PHP следует усилить, отключив столько из следующих функций, сколько вам не нужно: http://www.eukhost.com/forums/f42/disables-dangerous-php-functions-6020/
также убедитесь, что PHP настроен на регистрацию ошибок, а не на их отображение.
Я рекомендую прочитать Руководства NSA по операционным системам для Red Hat Enterprise Linux 5. То, что применимо к RHEL, применимо и к CentOS.