ガイド - セキュリティ

クラウドMacを保護する方法:SSHキー、ファイアウォール、VPN

専用Macサーバーを強化するための、実践的で段階的なガイド。パスワード不要のSSHキー認証、固く守られたmacOSファイアウォール、プライベートなWireGuard VPN、そして継続的なセキュリティチェックリストを扱います。

読了時間12分 2026年6月更新

1. なぜクラウドMacを強化するのか?

専用Macサーバーは、プロビジョニングされた瞬間から公共のインターネットに到達可能になります。ユーザー名とパスワードによるアクセスは便利ですが、パスワードはブルートフォース攻撃を受ける可能性があり、開いた管理ポートは自動化された攻撃を招きます。良い知らせは、よく理解されたいくつかのステップ — SSHキー、厳格なファイアウォール、プライベートVPN — によって、そのリスクの大半を取り除けることです。MyRemoteMacのすべてのサーバーは、鍵ベースの認証、マネージドファイアウォール、WireGuard VPNを最初から標準でサポートしています。

多層防御:単一の対策だけでは不十分です。鍵ベースのSSH、デフォルト拒否のファイアウォール、VPN限定の管理を組み合わせることで、攻撃者は複数の独立した層を突破せざるを得なくなります。

2. 前提条件

始める前に、以下を用意しておいてください:

  • SSHアクセスが可能なMyRemoteMacMacサーバー
  • ローカルマシン上の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)で、実際に使うポートだけ受信トラフィックを許可し — 通常はご自身のIPまたはVPNに制限したSSH(22) — それ以外はすべてデフォルトで拒否します。

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以外の管理者ユーザーを使う — rootでログインするのではなく、sudoを通じて作業します。
  • SSHキーをローテーションし、範囲を限定する — 使わなくなったキーはセキュリティから削除します。
  • 認証ログを監視する — ログインの失敗や予期しないセッションに注意します。
  • 定期的にバックアップする — ランサムウェアへの耐性のため、強化とオフサイトバックアップを組み合わせます。

7. トラブルシューティング

パスワードログインを無効にした後、ロックアウトされた

ダッシュボードからVNC/画面共有で再接続し、一時的にパスワードログインを再度有効にして、公開鍵が正しい権限(~/.sshは700、ファイルは600)で~/.ssh/authorized_keysに入っていることを確認します。

SSHがまだパスワードを要求する

権限を確認します。~/.sshは700、authorized_keysは600でなければなりません。sshd_configでPubkeyAuthenticationがyesに設定されていること、そしてssh -iで対応する秘密鍵を提示していることを確認します。

ファイアウォールのルールでロックアウトされた

ファイアウォールのルールを変更している間は、常にVNC/画面共有のセッションを1つ開いたままにしておきます。SSHを失った場合は、VNCを使ってルールを元に戻し、その後VPNサブネットに範囲を限定して再適用します。

8. セキュリティチェックリスト

新しいMacサーバーをプロビジョニングした後は、このチェックリストを一通り確認しましょう:

  • SSHキー認証が有効になっている
  • パスワードログインが無効(またはVPNに制限)になっている
  • macOSアプリケーションファイアウォールがステルスモードで有効になっている
  • 受信ポートはデフォルト拒否。SSHとVNCはVPNに範囲を限定している
  • FileVaultが有効で、macOSが最新である
  • 未使用のSSHキーが削除され、オフサイトバックアップが構成されている

要するに:鍵ベースのSSH、パスワードログインの無効化、デフォルト拒否のファイアウォール、VPN経由の管理、FileVaultの有効化、そして定期的な鍵のローテーションです。これを一度行えば、あなたのクラウドMacははるかに攻撃されにくくなります。

関連ガイド

数分で安全なMacをデプロイ

MyRemoteMacのすべてのサーバーには、SSHキー認証、マネージドファイアウォール、WireGuard VPNが標準で付属します。月額$85から。

さらに詳しい情報をお探しですか?

ステップバイステップのセットアップ手順、設定リファレンス、トラブルシューティングについては、完全なドキュメントをご覧ください。

ドキュメントを開く →