Включить UFW временно, не при загрузке?

Вопрос или проблема

Сценарий: я нахожусь на удаленном сервере, и если я неправильно настрою UFW, то окажусь без доступа и возможности легкого восстановления. Поэтому я хочу запустить ufw и проверить, работает ли он. Если нет, то я хочу перезагрузить сервер и отключить ufw. Обратите внимание, что сервер монтирует свою файловую систему через NFS, и если это будет заблокировано, система выйдет из строя.

Я попробовал:

systemctl start ufw

Хотя systemctl status ufw сообщает, что он активен, ufw status говорит:

Status: inactive

Когда я запускаю ufw enable, то UFW будет также включен при следующей загрузке, чего я точно не хочу.

Один из способов сделать это — использовать, например, screen.

  1. Запустите screen
  2. Переключитесь на пользователя root sudo -i
  3. Выполните sleep 300; ufw disable
  4. Нажмите Ctrl+a c, чтобы создать новое окно.
  5. Запустите любые команды ufw, которые вам нужны.
  6. Если потеряете доступ, просто подождите пять минут, чтобы ufw отключился.
  7. Если все работает, вернитесь в предыдущее окно с помощью Ctrl+a Space и нажмите Ctrl+c, чтобы прервать команду до ее выполнения.

Ответ или решение

Теория
Сценарий, с которым вы сталкиваетесь, требует особого внимания, учитывая удаленную природу сервера и потенциальные риски блокировки из-за неправильной конфигурации UFW (Uncomplicated Firewall). Благодаря возможности временно активировать UFW, вы можете протестировать свои настройки и убедиться в их корректности без риска заблокировать доступ к серверу на постоянной основе.
Система управления файлами через NFS (Network File System) также добавляет слой сложности, поскольку неправильная фильтрация сетевого трафика может блокировать доступ к файловой системе, что сделает сервер нестабильным.

Пример
На вашем сервере, когда вы запускаете команду systemctl start ufw, вы обнаруживаете, что статус UFW остаётся неактивным. systemctl активирует службу, но не изменяет состояние UFW. Это связано с тем, что UFW требует явного включения командой ufw enable, чтобы начать фильтрацию. Проблема, с которой вы столкнулись, заключается в том, что использование команды ufw enable включает UFW навсегда и восстанавливает его при каждом перезапуске системы. Вы хотите избежать этого постоянного изменения и, следовательно, ищете способ временно активировать брандмауэр.

Решение с использованием screen
Один из способов временно активировать UFW, что позволит вам проверить его работу с возможностью возврата к изначальным настройкам, — использовать утилиту screen. screen — это инструмент для мультиплексирования терминалов, который позволяет вам выполнять несколько команд в одной сессии, предотвращая разрыв связи при потере соединения.

Применение

  1. Установка и первоначальная настройка:

    • Убедитесь, что screen установлен на вашем сервере. Если нет, используйте команду sudo apt-get install screen для его установки.
  2. Запуск screen и создание сессии:

    • Запустите screen, введя команду screen в терминале, чтобы создать новую сессию. Это позволит вам снова подключиться к ней в случае потери связи.
  3. Запуск временной задачи по отключению UFW:

    • Переключитесь на пользователя root, если у вас есть такие привилегии: sudo -i.
    • Введите команду sleep 300; ufw disable для запуска фонового процесса, отключающего UFW через 5 минут (300 секунд). Это создаёт временный тайм-аут, который автоматически отключит брандмауэр, если вы потеряете доступ.
  4. Создание нового окна в screen:

    • Нажмите Ctrl+a, затем c, чтобы создать новое окно в screen. Теперь вы можете вводить новые команды независимо от процесса, работающего в предыдущем окне.
  5. Проверка и тестирование UFW:

    • Введите команды настройки UFW. Например, ufw allow 22 для обеспечения доступа через SSH или любые другие необходимые настройки для вашей сети.
    • Убедитесь, что команды вводятся корректно и вы можете сохранять доступ к системе.
  6. Мониторинг и управление:

    • Если вы потеряете доступ, подождите, пока таймер истечёт. Через 5 минут ufw будет отключён автоматически.
    • Если всё работает правильно, вернитесь в предыдущее окно, нажав Ctrl+a, затем Space, и прекратите выполнение таймера, нажав Ctrl+c.
  7. Закрытие сессии screen:

    • Если вы закончили и не хотите сохранять сессию, закройте все окна в screen командой exit.

Заключение
Понимание точного управления UFW и его взаимодействия с системой настраиваемых файлов, таких как NFS, имеет решающее значение для безопасного управления удаленным сервером. Использование screen позволяет безопасно тестировать сетевые настройки, минимизируя риск блокировки доступа. Этот подход обеспечивает безопасное введение изменений с возможностью автоматического восстановления при любой ошибке в настройках.
Это важно в среде, где доступ к серверу через удаленные подключения является критическим аспектом управления системами.

Оцените материал
Добавить комментарий

Капча загружается...