Если бы вы и впрямь думали так, вы бы так не говорили (И. Шварц).

Как защитить свой сервер Ubuntu с помощью UFW, Fail2ban и AppArmor

11.05.2025
Как защитить свой сервер Ubuntu с помощью UFW, Fail2ban и AppArmor

При настройке сервера Ubuntu для работы в производственной среде крайне важно обеспечить безопасность системы, чтобы гарантировать её стабильность, надёжность и доступность. Несмотря на то, что Ubuntu имеет множество встроенных функций безопасности, важно предпринять дополнительные меры для защиты системы от несанкционированного доступа и атак.

В этой статье мы рассмотрим три основных инструмента для повышения безопасности вашего сервера UbuntuUFW (простой брандмауэр)Fail2ban и AppArmor. Эти инструменты помогут защитить ваш сервер, контролируя доступ к сети, предотвращая попытки входа в систему методом перебора и защищая приложения.

 

1. Защита доступа к сети с помощью UFW (простого брандмауэра)

Ubuntu поставляется с удобным инструментом настройки брандмауэра под названием UFW (Uncomplicated Firewall), который предоставляет простой интерфейс для управления правилами брандмауэра на основе iptables.

 

Установите и включите UFW

В большинстве установок Ubuntu UFW предустановлен, но если он не установлен и не активирован, вы можете установить и активировать его с помощью следующих команд.

sudo apt update && sudo apt install ufw -y
sudo ufw enable

 

Запретить Нежелательные Сервисы

Чтобы заблокировать весь входящий трафик по умолчанию и разрешить только определённые порты, настройте UFW на запрет всего входящего трафика, кроме сервисов, которые вы явно разрешаете:

sudo ufw default deny incoming
sudo ufw default allow outgoing

 

Разрешать Основные Услуги

Чтобы разрешить доступ к основным службам, таким как SSH (для удалённого управления), HTTP и HTTPS (для доступа к веб-серверу), вы можете использовать следующие команды:

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

 

Ограничение скорости (предотвращение атак методом грубой силы)

Чтобы дополнительно защитить свой сервер от атак методом перебора, вы можете использовать функцию ограничения скорости UFW, которая ограничивает количество попыток подключения по SSH, которые может предпринять клиент за определённый период времени.

sudo ufw limit ssh

 

Читать  Не позволяйте этим инструментам кибербезопасности с открытым исходным кодом ускользнуть от вашего внимания

Эта команда разрешает подключения по SSH, но ограничивает количество попыток до 6 в минуту, блокируя все IP-адреса, которые превышают этот лимит.

 

2. Блокирование атак методом перебора с помощью Fail2ban

Fail2ban — это важный инструмент для защиты вашего сервера от атак методом перебора, который отслеживает файлы журналов на предмет повторяющихся неудачных попыток входа в систему и блокирует нарушающие правила IP-адреса.

Fail2ban может быть установлен из репозиториев Ubuntu по умолчанию:

sudo apt install fail2ban

 

Файл конфигурации Fail2ban по умолчанию находится в /etc/fail2ban/jail.conf. Однако рекомендуется не изменять этот файл напрямую. Вместо этого создайте копию конфигурации, чтобы настроить параметры:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

 

Теперь откройте файл jail.local для редактирования:

sudo nano /etc/fail2ban/jail.local

 

Убедитесь, что раздел [sshd] включен (раскомментируйте строки), чтобы защитить ваш SSH-сервис, и измените следующие параметры:

  • enabled: Установите для этого значения значение true, чтобы активировать защиту SSH.
  • port: Укажите порт, на котором работает SSH (по умолчанию 22).
  • maxretry: Определите максимальное количество неудачных попыток входа в систему, прежде чем запретить IP-адрес.
  • bantime: Определите продолжительность запрета (в секундах).
  • findtime: Установите временные рамки, в течение которых подсчитываются неудачные попытки.

 

Например:

[sshd]
enabled = true
port = ssh
maxretry = 5
bantime = 3600 # Блокировка IP на 1 час
findtime = 600 # Подсчёт попыток в течение 10 минут

 

После сохранения изменений перезапустите Fail2ban, чтобы применить новые настройки.

sudo systemctl restart fail2ban

 

Чтобы проверить состояние Fail2ban и просмотреть активные тюрьмы:

sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

 

Fail2ban теперь активно защищает ваш сервер от попыток входа в SSH методом перебора.

 

3. Использование AppArmor для обеспечения безопасности приложений

AppArmor — это система обязательного контроля доступа (MAC), которая обеспечивает дополнительный уровень безопасности, применяя политики для отдельных приложений.

Читать  Сервис защиты от DDoS-атак

В большинстве установок Ubuntu AppArmor предустановлен и включен. Если он не включен, вы можете запустить его и включить автозапуск при загрузке:

sudo systemctl enable apparmor
sudo systemctl start apparmor

 

Создание пользовательских профилей AppArmor

Профили AppArmor определяют, к каким системным ресурсам может получить доступ приложение. По умолчанию профили AppArmor применяются ко многим приложениям в Ubuntu, и вы можете найти их в каталоге /etc/apparmor.d/.

Вы можете просмотреть, какие профили загружены в данный момент, выполнив:

sudo apparmor_status

 

Если у вас есть пользовательское приложение, для которого требуется специальный профиль, вы можете создать новый или изменить существующий.

sudo aa-genprof /path/to/application

 

Как только профиль будет создан, вы сможете применить его принудительно:

sudo aa-enforce /path/to/profile

 

Принудительный режим или режим подачи жалобы

AppArmor работает в двух режимах: принудительного применения и подачи жалобы.

  • В режиме enforce профиль строго соблюдается, и любое нарушение приведёт к блокировке приложения.
  • В режиме complain нарушения регистрируются, но не применяются, что делает его полезным для тестирования профилей.

 

Чтобы изменить режим работы профиля:

sudo aa-enforce /путь/к/профилю # Режим принудительного применения
sudo aa-complain /путь/к/профилю # Режим жалобы

 

Аудит с помощью AppArmor

AppArmor генерирует журналы, которые дают представление о его действиях по обеспечению безопасности; эти журналы можно найти в `/var/log/syslog`, а для их просмотра можно использовать такие инструменты, как `journalctl`.

sudo journalctl -xe | grep apparmor

 

4. Дополнительные рекомендации по обеспечению безопасности

Помимо использования UFWFail2ban и AppArmor, есть и другие важные шаги, которые вы можете предпринять для дополнительной защиты своего сервера:

 

Читать  Что такое глубокая проверка пакетов? Как это работает и почему это важно

Регулярно Обновляйте Свой Ubuntu

Убедитесь, что ваша система и все установленные пакеты обновлены для защиты от уязвимостей:

sudo apt update и sudo apt upgrade -y
sudo apt dist-upgrade -y

 

Включите автоматические обновления системы безопасности, чтобы обеспечить защиту вашего сервера:

sudo apt install unattended-upgrades

 

Отключите неиспользуемые Службы

Все службы и приложения, которые вам не нужны, следует отключить, чтобы уменьшить поверхность атаки. Однако перед отключением служб важно определить, какие из них запущены на вашем сервере с помощью команды systemctl:

sudo systemctl list-units --type=service

 

Определив ненужные службы, вы можете отключить их, чтобы они не запускались автоматически при загрузке и тем самым уменьшить поверхность атаки.

sudo systemctl disable service-name

 

Используйте Аутентификацию по SSH-ключу

Для повышения безопасности SSH используйте пары ключей SSH для аутентификации и отключите вход по паролю.

ssh-keygen -t rsa -b 4096
ssh-copy-id user@your-server-ip

 

Затем отредактируйте файл конфигурации SSH, чтобы отключить вход в систему на основе пароля:

sudo nano /etc/ssh/sshd_config

 

Установите PasswordAuthentication no, затем перезапустите SSH:

sudo systemctl restart ssh

 

Теперь будет разрешена только аутентификация по ключу SSH, что повысит безопасность вашего сервера.

 

Заключение

Обеспечение безопасности вашего производственного сервера Ubuntu — важнейший шаг в защите вашей среды от различных атак. Настроив UFW для управления брандмауэром, используя Fail2ban для защиты от атак методом перебора и AppArmor для контроля поведения приложений, вы можете значительно снизить риск несанкционированного доступа и атак.

Всегда следите за журналами событий, своевременно устанавливайте исправления безопасности и регулярно проверяйте настройки безопасности, чтобы опережать потенциальные угрозы. Усиление защиты вашей системы сегодня обеспечит её стабильность, безопасность и надёжность в долгосрочной перспективе.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Scroll to Top