Базовая безопасность Linux сервера — настройка SSH, Firewall и защита системы
Базовая безопасность Linux-сервера
Безопасность серверов на базе Linux — один из ключевых факторов стабильной работы любой инфраструктуры. Независимо от того, используется ли небольшой VPS или production-среда, базовые меры защиты позволяют значительно снизить риск атак и утечек данных.
В этом руководстве рассмотрим основные практики защиты Linux-сервера: от обновлений системы до настройки SSH, firewall и баз данных.
Регулярные обновления системы
Актуальные обновления — это первая линия защиты сервера. Разработчики постоянно закрывают уязвимости, поэтому важно своевременно устанавливать обновления.
Для автоматизации можно использовать:
- Debian / Ubuntu — unattended-upgrades
- CentOS — yum-cron
- Fedora — dnf-automatic
Ручное обновление выполняется командами:
Ubuntu / Debian:
CentOS / Fedora:
Важно учитывать, что обновляются только пакеты из репозиториев — сторонние приложения нужно обновлять отдельно.
Пользователи и контроль доступа
Использование root-аккаунта для повседневной работы повышает риски безопасности. Рекомендуется создать отдельного пользователя с правами администратора через sudo.
Создание пользователя:
Добавление в группу:
Ubuntu / Debian:
CentOS / Fedora:
Дополнительно:
- используйте сложные пароли
- отключайте неиспользуемые аккаунты
- избегайте стандартных логинов
Безопасное подключение по SSH
SSH — основной способ удалённого доступа к серверу, поэтому его защита критически важна.
Рекомендуемые меры:
- использование SSH-ключей вместо пароля
- смена стандартного порта
- отключение парольной авторизации
Генерация ключа:
Передача ключа на сервер:
Настройка SSH-сервера
Для усиления защиты необходимо изменить конфигурацию SSH:
Отключение root-доступа:
Отключение входа по паролю:
Применение изменений:
Защита от брутфорса (Fail2Ban)
Fail2Ban — инструмент, который автоматически блокирует IP-адреса при подозрительных попытках входа.
Преимущества:
- защита от перебора паролей
- автоматическое реагирование на атаки
- поддержка разных сервисов (SSH, веб, FTP)
Это простой и эффективный способ повысить безопасность сервера.
Настройка Firewall
Firewall контролирует входящий и исходящий трафик и предотвращает несанкционированный доступ.
Основные принципы:
- открывать только необходимые порты
- ограничивать доступ по IP
- блокировать всё лишнее
Проверка текущих правил:
Популярные инструменты:
- iptables
- UFW (Ubuntu)
- FirewallD (CentOS / Fedora)
Базовая политика безопасности:
- разрешить loopback
- разрешить SSH
- разрешить HTTP/HTTPS при необходимости
- запретить остальной трафик
Безопасность баз данных
После установки базы данных важно выполнить базовую настройку защиты.
Для MySQL / MariaDB:
Рекомендуется:
- установить пароль root
- удалить анонимные аккаунты
- отключить удалённый доступ для root
- удалить тестовую базу
Для приложений:
- создавайте отдельного пользователя
- давайте минимально необходимые права
Разрешённые права:
- SELECT
- INSERT
- UPDATE
- DELETE
Не рекомендуется:
- ALTER
- DROP
Требования к паролям и учетным данным
Надёжные пароли — важная часть безопасности.
Рекомендуется:
- минимум 10 символов
- верхний и нижний регистр
- цифры и спецсимволы
- отсутствие простых слов
Также стоит использовать нестандартные логины для усложнения атак.
Вывод
Базовая защита Linux-сервера строится на нескольких ключевых принципах:
- регулярные обновления системы
- ограничение прав доступа
- защита SSH
- настройка firewall
- безопасная работа с базами данных
- использование сложных паролей
Даже внедрение этих базовых мер значительно снижает риск взлома и делает инфраструктуру устойчивой к большинству типовых атак.
FAQ
Что включает в себя базовая безопасность Linux-сервера?
Базовая безопасность Linux включает регулярные обновления системы, настройку SSH-доступа, ограничение прав пользователей, использование firewall, защиту от брутфорса и безопасную конфигурацию баз данных.
Почему нельзя использовать root для повседневной работы?
Работа под root повышает риск критических ошибок и взлома. Лучше использовать отдельного пользователя с правами sudo, чтобы ограничить доступ и повысить безопасность системы.
Как защитить сервер от перебора паролей?
Для защиты от брутфорса рекомендуется использовать Fail2Ban, отключить вход по паролю в SSH и настроить авторизацию по ключам. Это значительно снижает вероятность успешной атаки.
Зачем менять стандартный порт SSH?
Смена порта SSH снижает количество автоматических атак и сканирований. Хотя это не является полной защитой, такая мера помогает уменьшить нагрузку от ботов.
Какой firewall лучше использовать в Linux?
Выбор зависит от дистрибутива: UFW удобен для Ubuntu, FirewallD используется в CentOS и Fedora, а iptables — универсальный инструмент с гибкой настройкой.
Как правильно настроить безопасность базы данных?
После установки необходимо выполнить mysql_secure_installation, удалить анонимных пользователей, задать пароль root и ограничить права доступа для приложений.
Какие порты нужно открывать на сервере?
Рекомендуется открывать только необходимые порты, например: SSH (обычно 22 или изменённый), HTTP (80) и HTTPS (443). Все остальные соединения следует блокировать.
Какой должен быть безопасный пароль?
Надёжный пароль должен содержать не менее 10 символов, включать буквы разного регистра, цифры и специальные символы, а также не содержать очевидных слов или комбинаций.
Нужно ли регулярно обновлять сервер?
Да, обновления закрывают уязвимости и повышают безопасность. Рекомендуется включить автоматическое обновление или регулярно выполнять его вручную.