1. Зачем усиливать защиту вашего облачного Mac?
Выделенный Mac-сервер доступен из публичного интернета в момент его создания. Доступ по имени пользователя и паролю удобен, но пароли можно подобрать перебором, а открытые порты управления привлекают автоматизированные атаки. Хорошая новость: несколько хорошо понятных шагов — SSH-ключи, строгий файервол и частный VPN — устраняют подавляющую часть этого риска. Каждый сервер MyRemoteMac уже из коробки поддерживает аутентификацию по ключу, управляемый файервол и VPN WireGuard.
Эшелонированная защита: ни одна отдельная мера недостаточна. Сочетание SSH по ключу, файервола с политикой запрета по умолчанию и управления только через VPN заставляет злоумышленника преодолевать несколько независимых уровней.
2. Предварительные требования
Прежде чем начать, убедитесь, что у вас есть:
- Mac-сервер от MyRemoteMac с доступом по SSH
- SSH-клиент на вашей локальной машине (встроен в macOS, Linux и современный Windows)
- IP-адрес вашего сервера и учётные данные по умолчанию
- Базовая уверенность при работе с терминалом
3. Шаг 1: Аутентификация по SSH-ключу
Аутентификация по ключу заменяет угадываемый пароль криптографической парой ключей. Вы храните приватный ключ; сервер хранит только ваш публичный ключ, поэтому злоумышленнику нечего подбирать перебором.
Сгенерируйте пару ключей
На вашей локальной машине сгенерируйте современный ключ Ed25519 (пропустите этот шаг, если он у вас уже есть):
# Generate a modern Ed25519 key pair on your LOCAL machine
ssh-keygen -t ed25519 -C "you@example.com"
# Print the PUBLIC key (this is what you give the server)
cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... you@example.com
Добавьте публичный ключ, затем отключите пароли
В панели управления MyRemoteMac откройте раздел Безопасность и вставьте ваш публичный ключ — или выберите его при создании нового сервера. После того как вы убедитесь, что вход по ключу работает, отключите аутентификацию по паролю:
# On the SERVER, disable password login once your key works
sudo sed -i '' 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i '' 's/^#*ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
# Restart the SSH daemon to apply
sudo launchctl kickstart -k system/com.openssh.sshd
4. Шаг 2: Заблокируйте файервол
Открывайте только то, что вам нужно. MyRemoteMac включает управляемый сетевой файервол, и вам также следует включить локальный файервол приложений macOS для второго уровня защиты.
Включите файервол приложений macOS
# Enable the built-in macOS application firewall
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Enable stealth mode (don't respond to pings / closed-port probes)
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on
# Verify
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Ограничьте входящие порты
В управляемом файерволе MyRemoteMac (панель управления или API) разрешайте входящий трафик только на тех портах, которые вы действительно используете — обычно SSH (22) с ограничением по вашему IP или VPN — и по умолчанию запрещайте всё остальное.
5. Шаг 3: Частный VPN (WireGuard)
Самая надёжная позиция — вообще никогда не открывать порты управления публично. Каждый сервер MyRemoteMac включает частный туннель WireGuard/IPSec: сначала подключитесь к нему, а затем обращайтесь к SSH и VNC по частной сети.
# Bring up the WireGuard tunnel from your local machine
wg-quick up wg0
# Now reach your Mac over the PRIVATE address, not its public IP
ssh you@10.0.0.2
После поднятия туннеля ограничьте SSH и VNC в вашем файерволе только подсетью VPN. Тогда ваш Mac станет невидимым для публичных сканеров портов.
6. Шаг 4: Постоянное усиление защиты
Безопасность — это непрерывный процесс, а не разовая задача. Применяйте эти устойчивые меры:
- Поддерживайте macOS в актуальном состоянии — оперативно устанавливайте обновления безопасности, чтобы закрывать известные уязвимости.
- Включите FileVault — полнодисковое шифрование защищает ваши данные в состоянии покоя.
- Используйте администратора без прав root — работайте через sudo, а не входите как root.
- Меняйте и ограничивайте область SSH-ключей — удаляйте ключи, которые вы больше не используете, в разделе Безопасность.
- Отслеживайте журналы аутентификации — следите за неудачными входами и неожиданными сессиями.
- Регулярно делайте резервные копии — сочетайте усиление защиты с внешними резервными копиями для устойчивости к программам-вымогателям.
7. Устранение неполадок
Потеря доступа после отключения входа по паролю
Подключитесь заново через VNC / Screen Sharing из панели управления, временно снова включите вход по паролю и убедитесь, что ваш публичный ключ находится в ~/.ssh/authorized_keys с правильными правами доступа (700 на ~/.ssh, 600 на файле).
SSH всё ещё запрашивает пароль
Проверьте права доступа: ~/.ssh должен быть 700, а authorized_keys — 600. Убедитесь, что в sshd_config параметр PubkeyAuthentication установлен в yes и что вы предлагаете соответствующий приватный ключ с помощью ssh -i.
Потеря доступа из-за правила файервола
Всегда держите одну сессию VNC / Screen Sharing открытой при изменении правил файервола. Если вы потеряете SSH, используйте VNC, чтобы отменить правило, а затем повторно примените его с ограничением по вашей подсети VPN.
8. Чек-лист безопасности
Пройдитесь по этому чек-листу после создания любого нового Mac-сервера:
- Аутентификация по SSH-ключу включена
- Вход по паролю отключён (или ограничен VPN)
- Файервол приложений macOS включён со скрытым режимом
- Входящие порты запрещены по умолчанию; SSH и VNC ограничены VPN
- FileVault включён, а macOS в актуальном состоянии
- Неиспользуемые SSH-ключи удалены, а внешние резервные копии настроены
Коротко: SSH по ключу, вход по паролю отключён, файервол с политикой запрета по умолчанию, управление через VPN, FileVault включён, а ключи регулярно меняются. Сделайте это один раз, и ваш облачный Mac станет значительно труднее атаковать.
Похожие руководства
Удалённая разработка в Xcode
Настройте быстрый и продуктивный рабочий процесс удалённой разработки в Xcode на выделенном Mac.
Разработка iOS без Mac
Создавайте и публикуйте приложения iOS из Windows или Linux с помощью удалённого Mac.
Jenkins Mac Build Agent
Настройте безопасный агент сборки Jenkins на выделенном Mac Mini.