初めて自分のサーバーを持つ人には、ある通過儀礼があります。ファイアウォールを設定しようと決め、ufw コマンドをいくつか打ち、enable を押す——すると端末が沈黙する。SSH が消えた。何かを壊したわけでも、ハッキングされたわけでもありません。ただ、自分を外に置いたままドアを閉めてしまっただけです。
これは腕のいい管理者にも起こります。先週まさに私たちの顧客の一人に起きたので、こうして書いています。良い知らせ:1分もかからず完全に復旧でき、再インストールも、ファイル1つ失うことも不要です。やり方はこうです。

実際に何が起きたのか
ufw(Uncomplicated Firewall)はデフォルトで受信をすべて拒否します。ufw enable を実行した瞬間、明示的に許可していないものはすべて落とされます——今あなたが座っているその SSH セッションも含めて。先に自分の SSH ポートを ufw allow し忘れていたら、ルールが効いた途端に自分の接続を切ったことになります。
これが典型です。もう2つ、人をはめる型があります:
- 間違ったポートを許可した。打ち間違い、あるいはサービスのポート(たとえば 8080)を許可して 22 を忘れた。
- 22 を許可したのに、リストの上のほうに
denyルールを置いてそれを覆い隠した。ufw は順序に敏感です。
いずれにせよ、サーバー自体は無事です——動いていて、ディスクも無傷、アプリも壁の向こうで今も回っています。純粋にネットワークアクセスの問題です。だからこそ直すのは簡単なのです。
悪手:再インストール
最初の衝動はたいてい「じゃあサーバーをリセットして一からやり直そう」です。やめてください——これに対しては違います。再インストールは、使える SSH を取り戻すためにすべてを消します。ところが SSH を塞いでいるのは、10秒で取り消せる1つのファイアウォールコマンドです。玄関の鍵を締めてしまったからと家を焼き払うようなものです。
再インストールが正しいのは、まっさらにしたいときです。ufw の締め出しには大げさすぎます。
好手:Web コンソール
まともな VPS はどれもアウトオブバンドのコンソールを備えています——SSH も、そもそもネットワークスタックも通らずにマシンへ入る道です。EQVPS ではサーバーのページにある Console ボタンがそれです。シリアルコンソールで、テキストのみ、モニターとキーボードのように VM に直結しています。ネットワークトラフィックではないので、ファイアウォールのルールはこれに力を及ぼせません。

クリックし、root の資格情報でログイン(手元になければパネルでパスワードを表示)——これでファイアウォールがあろうとなかろうと、あなたはマシンの中です。
では被害を取り消しましょう。最速の道:
sudo ufw disable
これでファイアウォールが切れ、ルールは保持されます。だから誤りを直したあとで再び有効化できます。SSH はすぐに戻ります。
ファイアウォールを丸ごと落としたくなければ、見落としたポートだけを開けます:
sudo ufw allow 22
sudo ufw status numbered
status numbered は一見の価値ありです:ルールの順序を見せてくれます——「22 を許可したのにまだブロックされる」の類はここに潜んでいます。あなたの allow の上に deny が座っていたら、sudo ufw delete <番号> で消してください。
ほぼどのガイドも触れない NAT の罠
NAT プランなら、ここに罠があります。SSH には 20266 のような高いポートで入るので、自然な直感は ufw allow 20266 です。これは何もしません。
NAT ではその外部ポートは VM の内部のポート 22 に転送されます。ufw は VM 内部で動き、常に 22 しか見えません。だから本当に必要なルールは:
sudo ufw allow 22
20266 を許可すれば、相変わらず壊れた接続を眺めて理由を悩むことになります。22 を許可すれば、中に入れます。どんなサービスでも同じ理屈です:外から接続する転送先のポートではなく、プロセスがマシンの内部で待ち受けているポートを許可してください。
二度とやらないために
直すのに1分ですが、そもそも要らないほうが上等です。習慣を2つ:
有効化の前に SSH ポートを許可する。 必ずこの順で:
sudo ufw allow 22
sudo ufw enable
逆をやれば、またコンソール行きです。
ファイアウォールのルールを変えるあいだ、2つ目の SSH セッションを開けておく。 二度ログインします。変更は片方の窓で。SSH が死んでも、もう片方が生きていて直せます。古い手ですが、毎回救ってくれます。
そして新しいマシンを立ち上げるなら、私たちの新しい VPS のセキュリティチェックリストが ufw を正しい順序で——SSH 鍵と、最初の10分で本当に大事な他のいくつかとともに——カバーしています。
要点
ufw の締め出しは恐ろしく見えて、ほとんど何でもありません。サーバーは一度も去っていない。必要なのは、どんなファイアウォールにも閉められないドア——Web コンソール——と、1つのコマンドだけ。ufw disable とコンソールを懐に忍ばせ、次からは有効化の前にポートを許可する。そうすればこの手のことで二度と冷や汗をかくことはありません。
コメント
まだコメントはありません。最初になりましょう。