Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SEC_UFW_PORT_RESTRICT Linux / DevOps

Закрываем порт 3306 MySQL в UFW: доступ только по белому IP

Обновлено: 27.08.2026 · Официальная документация ↗

Почему открытый порт 3306 — критическая уязвимость?

Порт 3306 по умолчанию слушает база данных MySQL/MariaDB. Если открыть его для всего мира (0.0.0.0), боты начинают подбирать пароли каждую секунду. Решение — разрешить подключения только с доверенного белого IP офиса.

Опасности публичного доступа к СУБД

УгрозаПоследствияРешение через UFW
Брутфорс паролейВысокая нагрузка на CPU, риск взломаБлокировка всех IP по умолчанию
Эксплойты уязвимостейКража или шифрование базыБелый список разрешенных IP

Настройка правил UFW для MySQL

  1. Проверяем статус фаервола:
    sudo ufw status verbose
  2. Убеждаемся, что доступ по SSH открыт (чтобы не потерять связь!):
    sudo ufw allow 22/tcp
  3. Разрешаем подключение к MySQL только с доверенного IP:
    # Замените 203.0.113.15 на ваш белый статический IP:
    sudo ufw allow from 203.0.113.15 to any port 3306 proto tcp
  4. Удаляем общее правило, если порт был открыт для всех:
    sudo ufw delete allow 3306/tcp
  5. Включаем и перезагружаем фаервол:
    sudo ufw enable
    sudo ufw reload

Важно: В файле /etc/mysql/mysql.conf.d/mysqld.cnf параметр bind-address должен быть выставлен в 0.0.0.0, иначе база не примет входящие подключения даже через фаервол.

💡 Практика специалистов: Никогда не активируйте UFW (ufw enable) до тех пор, пока явно не пропишете allow для вашего текущего SSH-порта, иначе сессия мгновенно заблокируется.

Частые вопросы (FAQ)

Как посмотреть список пронумерованных правил UFW?

Выполните sudo ufw status numbered. Это позволяет удалять правила по номерам.

Как удалить правило по его номеру?

Например: sudo ufw delete 3.

Можно ли открыть порт для целой офисной подсети?

Да, укажите CIDR маску: sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp.

Что делать, если у разработчиков динамический IP?

Используйте SSH-туннели (порт 3306 остается закрытым) или корпоративный VPN.

Полезные материалы
Рекомендуем