Защита Linux-серверов Ubuntu/Debian/Alma/CentOS с помощью брандмауэров Iptables и UFW
Введение: В этом руководстве мы шаг за шагом рассмотрим, как защитить ваш сервер Ubuntu с помощью Iptables и Uncomplicated Firewall (UFW). Iptables — это мощный инструмент межсетевого экрана, предоставляющий широкие возможности для настройки правил сетевого трафика, в то время как UFW предлагает удобный интерфейс для управления правилами брандмауэра в Ubuntu.
Часть 1: Настройка Iptables
Шаг 1: Откройте терминал
Получите доступ к терминалу вашего сервера Ubuntu через SSH или предпочитаемым способом.
Шаг 2: Проверьте текущие правила Iptables
Чтобы просмотреть существующие правила в вашем брандмауэре, выполните:
sudo iptables -L
Эта команда выводит список всех текущих правил, установленных в брандмауэре Iptables.
Шаг 3: Настройте основные правила Iptables
Начните с установки политик по умолчанию и настройки основных правил.
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Эти команды настраивают базовую безопасность, блокируя весь входящий трафик, кроме SSH, HTTP и HTTPS, при этом разрешая весь трафик на интерфейсе обратной петли и связанный с установленными соединениями.
Шаг 4: Заблокируйте определенные порты
Для повышения безопасности, особенно от угроз, связанных с почтой, и атак методом перебора, заблокируйте распространенные почтовые порты:
sudo iptables -A INPUT -p tcp --dport 25 -j DROP
sudo iptables -A INPUT -p tcp --dport 587 -j DROP
sudo iptables -A INPUT -p tcp --dport 465 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 587 -j DROP
sudo iptables -A OUTPUT -p tcp --dport 465 -j DROP
Шаг 5: Установите Iptables Persistent
Чтобы правила сохранялись после перезагрузки, установите iptables-persistent:
sudo apt-get install iptables-persistent
Шаг 6: Сохраните конфигурацию Iptables
Сохраните активную конфигурацию в файл:
sudo iptables-save > /etc/iptables.rules
Часть 2: Настройка UFW
Шаг 1: Включите UFW
Убедитесь, что UFW включен для удобного управления правилами брандмауэра:
sudo ufw enable
Шаг 2: Настройте правила UFW
Настройте правила в UFW в соответствии с вашими требованиями безопасности:
sudo ufw deny 25/tcp
sudo ufw deny 465/tcp
sudo ufw deny 587/tcp
sudo ufw allow ssh
sudo ufw allow {add ports}/tcp
sudo ufw deny {add ports}/udp
Эти правила блокируют определенные порты, при этом разрешая необходимый трафик, например SSH. В поле "add ports" необходимо добавить порты, через которые вы хотите разрешить трафик. Например, чтобы разрешить трафик через несколько портов, можно выполнить "sudo ufw allow 10,15,20,40/tcp", что разрешит трафик на порты 10, 15, 20 и 40.
Шаг 3: Заблокируйте исходящий трафик на определенные подсети
Чтобы предотвратить трафик к потенциально вредоносным частным подсетям и из них, настройте правила для исходящего трафика:
sudo ufw deny out from any to 10.0.0.0/8
sudo ufw deny out from any to 172.16.0.0/12
sudo ufw deny out from any to 100.64.0.0/10
Часть 3: Активация и мониторинг
Включите Iptables и UFW при загрузке
Убедитесь, что обе конфигурации брандмауэра настроены на активацию при загрузке:
sudo systemctl enable iptables.service
Для UFW он включен по умолчанию после установки и настройки.
Финальный шаг: Мониторинг и корректировка
Регулярно проверяйте состояние вашего брандмауэра и при необходимости корректируйте правила:
sudo systemctl status iptables.service
sudo ufw status verbose
Следуя этим шагам, вы укрепили безопасность вашего VPS на Ubuntu от несанкционированного доступа и сетевых угроз, используя как Iptables, так и UFW. Регулярно пересматривайте и обновляйте свои правила, чтобы адаптироваться к новым вызовам безопасности.
Поиск
Популярные записи