![Есть ли какие-нибудь советы по безопасности для моего первого сервера? (полный новичок)](https://rvso.com/image/515023/%D0%95%D1%81%D1%82%D1%8C%20%D0%BB%D0%B8%20%D0%BA%D0%B0%D0%BA%D0%B8%D0%B5-%D0%BD%D0%B8%D0%B1%D1%83%D0%B4%D1%8C%20%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B%20%D0%BF%D0%BE%20%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D0%B4%D0%BB%D1%8F%20%D0%BC%D0%BE%D0%B5%D0%B3%D0%BE%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B3%D0%BE%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%3F%20(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9%20%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BE%D0%BA)%20.png)
Я плачу заVPS-сервери надеюсь запустить свой первый сайт на нем в ближайшие несколько дней.
Я беспокоюсь, что в стандартной настройке могут быть очевидные дыры в безопасности, поэтому мне бы хотелось получить несколько советов. Единственное, что я знаю, это отключить отчеты об ошибках в PHP и создать пользователей/привилегии для MySQL. Есть еще что-нибудь в этом роде?
Я использую:
- cPanel и WHM
- CentOS5
- PHP
- MySQL
- Приложения Google в качестве почтового сервера (может быть, мне следует как-то отключить встроенный почтовый сервер?!)
решение1
Есть несколько принципов/советов по безопасности, которые вам следует иметь в виду:
Отключите ненужные вам службы
Если вам не нужна определенная услуга, отключите ее. Одним поводом для беспокойства меньше, особенно в плане безопасности.
Следуйте принципу наименьших привилегий
Если службе не нужны суперпривилегии, просто дайте ей необходимые привилегии. Например, если вашему веб-приложению не нужно удалять таблицы, нет необходимости включать привилегию удаления в MySQL.
Обновляйте свои службы в соответствии с обновлениями безопасности
Это очень важно! Время от времени обнаруживаются уязвимости безопасности. Очень важно обновлять приложения, когда дело касается проблем безопасности.
Не используйте учетные данные по умолчанию
Просто не используйте его. Они злые :) Например, у пользователя root MySQL нет пароля. Создайте его.
Сохраняйте все, что важно
Резервное копирование всего, что вам нужно для восстановления сервера, и я имею в виду все. Также регулярно проверяйте резервные копии. Это справедливо не только по соображениям безопасности, но и по соображениям непрерывности бизнеса. Никогда не знаешь, когда может понадобиться резервное копирование.
Надеюсь это поможет!
решение2
Также попробуйте принудительно привязать mysql к localhost, если это приемлемо для вас (директива Listen) или, что еще лучше, если возможно, удалите сетевую поддержку mysql.
решение3
Смотрите такжемоя первая «производственная» конфигурация сервера 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/disabling-dangerous-php-functions-6020/
также убедитесь, что PHP настроен на регистрацию ошибок, а не на их отображение.
решение4
Я рекомендую прочитатьРуководства АНБ по операционным системам для Red Hat Enterprise Linux 5. То, что применимо к RHEL, применимо и к CentOS.