Вопрос или проблема
Я настраиваю веб-сервер для небольшого спортивного клуба, чтобы разместить сайт на WordPress, самодельное приложение CodeIgniter 4 для управления базой данных пользователей и почтовый сервер.
У меня не так много опыта, и сейчас, когда я настраиваю все и у меня есть время перед миграцией, я хочу убедиться, что не забуду о каких-либо важных или полезных мерах безопасности.
Я выбрал веб-сервер Ubuntu с Plesk для удобства управления на испанской компании, предоставляющей VPS с физическим фаерволом.
Пока что я рассматриваю следующее:
- Переместить SSH на нестандартный порт.
- Запретить FTP и подключаться только через SFTP.
- Разрешить IMAP только по SSL/TLS.
- Физический фаервол разрешает только следующие порты: случайный порт для SSH, 80, 443, 8443 и 84447 (стандартный Plesk), 25/465/587 порт SMFTP и 993 для IMAP с SSL/TLS.
- Пользователь Plesk не “admin”.
- Долгий пароль для всех учетных записей: root, пользователь Plesk и все учетные записи сайта.
- Держать все в актуальном состоянии: Ubuntu, Plesk, последнюю версию PHP и WordPress и CodeIgniter всегда актуальными.
- ModSecurity с правилами Comodo.
- WordPress защищен специализированным веб-файрволом (Wordfence).
- Приложение CodeIgniter 4 защищено обфускацией логинов (насколько это возможно) и Google reCAPTCHA.
- Я рассматриваю платные решения по безопасности для более эффективной блокировки IP-адресов, чем просто fail2ban (imunify360 или Juggernaut – это варианты, которые я рассматриваю).
Я знаю, что некоторые из них не являются настоящими мерами безопасности, но они могут уменьшить количество атакующих (перемещение SSH на нестандартный порт или обфускация форм входа в приложение). Но некоторые другие меры важны. Я что-то упускаю или не даю правильный подход?
Ответ или решение
Меры безопасности для веб-сервера на Linux с Plesk: Полное руководство
Настройка веб-сервера для небольшого спортивного клуба, который будет хостить веб-сайт на WordPress и приложение на CodeIgniter 4, требует тщательного планирования и внедрения безопасных практик. На вашем этапе конфигурации есть уже множество хороших идей, но есть и дополнительные меры, которые могут значительно повысить безопасность вашего сервера. Рассмотрим все аспекты.
1. Общие рекомендации
-
Создание резервного копирования: Настройте регулярные резервные копии сайта и базы данных. Plesk предлагает функцию резервного копирования, которую можно адаптировать под ваши нужды. Убедитесь, что резервные копии хранятся в отдельном безопасном месте.
-
Мониторинг логов: Регулярный мониторинг логов доступа и ошибок поможет выявить подозрительную активность и потенциальные угрозы. Используйте инструменты для анализа логов или встроенные функции Plesk.
2. Настройка SSH
-
Изменение порта SSH: Перенос SSH на нестандартный порт — это хороший шаг, поскольку он может сократить количество автоматических атак. Однако, это не должно быть единственной мерой защиты.
-
Аутентификация по ключам: Используйте парные ключи SSH для доступа, а не пароли. Это значительно повысит уровень безопасности.
-
Ограничение доступа: Настройте файрволл на сервере с помощью
iptables
илиufw
, чтобы разрешить доступ к порту SSH только с определенных IP-адресов, если это возможно.
3. Настройка FTP и почтовых протоколов
-
Отказ от FTP: Правильное решение — отключить FTP и использовать только SFTP. Это защитит данные при передаче.
-
Требование SSL/TLS для IMAP: Настройте почтовый сервер на использование только защищенных соединений для IMAP (порт 993). Обязательно это проверить на уровне конфигурации Plesk.
4. Файрволл и контроль доступа
-
Физический файрволл: Правильно настроенный физический.firewall, ограничивающий доступ только к необходимым портам, обеспечивает дополнительную защиту.
-
Fail2ban и альтернативные решения: Использование fail2ban для блокировки IP-адресов, с которых замечены неправомерные попытки доступа, является необходимым шагом. Подумайте о более продвинутых вариантах, таких как Imunify360 или Juggernaut, для более эффективного управления.
5. Обновления и управление версиями
- Обновления программного обеспечения: Следите за актуальностью всех компонентов, включая ОС Ubuntu, Plesk и используемые приложения (WordPress, CodeIgniter). Автоматические обновления также могут быть полезными.
6. Защита веб-приложений
-
Использование ModSecurity: Настройте ModSecurity с рекомендованными правилами Comodo для защиты ваших веб-приложений от общих уязвимостей.
-
Защита WordPress: Используйте Wordfence или другой веб-файервол для защиты вашего сайта на WordPress. Регулярно выполняйте проверку на наличие уязвимостей.
-
Защита приложения на CodeIgniter: Обфускация логинов и использование Google reCAPTCHA — важные меры. Также рассмотрите возможность внедрения дополнительных слоев аутентификации.
7. Дополнительные меры безопасности
-
Защита от DDoS-атак: Рассмотрите использование сервисов, таких как Cloudflare или другие решения для защиты от DDoS-атак, особенно если ожидается высокий трафик.
-
Мониторинг производительности и безопасности: Внедрите системы мониторинга, которые помогут отслеживать производительность сервера и потенциальные атаки в реальном времени.
Заключение
Ваш подход к безопасности веб-сервера выглядит многообещающе, и вы уже включили множество критически важных шагов. Однако, добавление упомянутых мер позволит вам создать более защитную среду для вашего веб-сайта и приложений. Обязательно проводите регулярные аудиты безопасности, чтобы оставаться в курсе новых уязвимостей и оставаться на шаг впереди потенциальных угроз.
Соблюдение этих рекомендаций, а также обновление знаний о новых угрозах и политике безопасности поможет обеспечить надежную защиту вашего сервера и приложений.