Привязывайте порты QEMU только к localhost

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

В настоящее время у меня дома работает сервер Debian. Я получаю к нему доступ в основном через SSH. На нем запущено несколько сервисов, и чтобы протестировать некоторые вещи, я решил запустить виртуальную машину QEMU (тоже на Debian), к которой могу подключаться по SSH только когда уже подключен к хост-машине, чтобы не беспокоиться о безопасности. Однако я обнаружил, что QEMU также привязал порт, который я использую для SSH, к моей локальной сети, что плохо, потому что у этой машины очень плохо защищенный пароль. Как мне привязать порты только к localhost?

Команда, которую я использовал для запуска виртуальной машины: qemu-system-x86_64 -hda debian.img -boot d -m 2G -net user,hostfwd=tcp::10022-:22 -net nic -nographic

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

Для обеспечения безопасного доступа к вашей виртуальной машине, запущенной с использованием QEMU, вам необходимо ограничить связывание портов только на локальный интерфейс. Это можно сделать, изменив параметры командной строки, которые вы используете для запуска QEMU.

Ваш текущий запуск команды:

qemu-system-x86_64 -hda debian.img -boot d -m 2G -net user,hostfwd=tcp::10022-:22 -net nic -nographic

Здесь параметр -net user,hostfwd=tcp::10022-:22 создает проброс порта, который связывает порт 10022 на хост-машине с SSH (порт 22) в виртуальной машине. Однако этот параметр связывает порт с любым доступным интерфейсом, что делает его доступным для сети, что и является причиной вашей обеспокоенности.

Решение

Чтобы ограничить проброс порта только на локальный интерфейс, вам нужно изменить команду связи, добавив 127.0.0.1 в настройку проброса порта. Вот как это сделать:

qemu-system-x86_64 -hda debian.img -boot d -m 2G -net user,hostfwd=tcp:127.0.0.1:10022-:22 -net nic -nographic

В этом примере hostfwd=tcp:127.0.0.1:10022-:22 указывает QEMU связывать порт 10022 только с локальным интерфейсом (то есть доступ к SSH будет возможен только изнутри вашей хост-машины). Это значит, что если кто-то попытается получить доступ к этому порту извне, доступ будет заблокирован.

Шаги

  1. Изменение команды: Обновите вашу текущую команду запуска QEMU с вышеупомянутым изменением.
  2. Перезапуск виртуальной машины: После обновления команды, перезапустите виртуальную машину, чтобы изменения вступили в силу.
  3. Проверка доступа: Убедитесь, что вы можете подключиться к виртуальной машине по SSH через локальный порт, используя команду:
    ssh -p 10022 пользователь@127.0.0.1

    Замените пользователь на имя пользователя, с которым вы хотите войти в виртуальную машину.

Дополнительные советы

  • Безопасность: Убедитесь, что у вас есть надежные пароли и дополнительные меры безопасности, такие как ключи SSH, настроенные для доступа к виртуальной машине.
  • Мониторинг сети: Рассмотрите возможность использования таких инструментов, как netstat или ss, для мониторинга активных соединений и открытых портов, чтобы убедиться, что ваша конфигурация безопасна.

Следуя этим шагам, вы сможете запускать QEMU на своем домашнем сервере с безопасными параметрами, не беспокоясь о том, что порты будут доступны для злоумышленников.

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

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