この記事では、VPS を契約した直後に最低限やっておきたい ssh のポート変更と、ufw を使ったファイアウォール設定について備忘録として記載します。
サーバーをインターネットに公開すると、SSH への不正アクセス試行やブルートフォース攻撃は普通に飛んできます。
22 番のまま運用していると、とにかく雑なアクセス試行を受けやすいので、まずはここを変えておくだけでも多少はノイズを減らせます。
もちろんこれだけで万全ではないですが、VPS を触り始めた直後にやることとしてはかなり優先度が高いです。
なお、今回は「とりあえず最初にやる最低限」に絞ります。
鍵認証の強制や root ログイン禁止、fail2ban 導入あたりも本来はセットでやりたいですが、それは別でやっていきましょう。
なぜ ssh ポートを変えるのか
ssh のポート変更は、いわゆる万能なセキュリティ対策ではありません。
本気で狙ってくる相手には普通に見つかるので、これだけで安心してはいけないです。
ただ、22 番のまま運用していると、とにかく雑なアクセス試行を受けやすいです。
この手のノイズはログも汚れますし、精神衛生上もあまり良くないです。
なので、「とりあえず変えておく」は割と大事です。
変更手順
今回は例として 10022 を使います。
2222 でもいいですが、そこも割と有名なので、私は少しだけずらすことが多いです。
1. sshd_config をバックアップ
まずは設定ファイルを退避しておきます。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2. sshd_config を編集
vi で開きます。
sudo vi /etc/ssh/sshd_config
以下のように Port を変更します。
Port 10022
#Port 22 になっている場合は、コメントアウトを外して変更すれば OK です。
3. 設定ファイルの構文チェック
設定を書き換えたら、いきなり再起動せずにチェックします。
sudo sshd -t
何も表示されなければ、基本的には構文上は問題ありません。
4. ssh を再起動
sudo systemctl restart ssh.service
設定を誤った状態で再起動すると、sshd が起動しなかったり、そのまま入れなくなることがあるので注意です。
5. 新しいポートでログイン確認
今の SSH セッションはまだ切らずに、別ターミナルから新しいポートで接続確認します。
ssh -p 10022 ユーザー名@サーバーIP
ここで入れたら成功です。
新しいポートで入れることを確認するまでは、今つながっているセッションを閉じない のが大事です。
ufw もセットでやる
ssh ポートを変えたのに、ファイアウォール側が 22 のままだったり、逆に新ポートを開けずに ufw を有効化したりすると、普通に詰みます。
Ubuntu では ufw が使いやすいので、最低限これだけは入れておきましょう。

1. デフォルトポリシーを設定
sudo ufw default deny incoming
sudo ufw default allow outgoing
2. 変更後の ssh ポートを許可
ここが大事です。
22 ではなく、変更後のポートを許可します。
sudo ufw allow 10022/tcp
Web サーバーを立てるならこのあたりも許可します。
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
3. ルール確認
sudo ufw status
問題なさそうなら有効化します。
sudo ufw enable
詳細表示も見ておくと安心です。
sudo ufw status verbose
4. 余裕があれば limit も入れる
ssh に対して接続回数の制限も入れられます。
sudo ufw limit 10022/tcp
ロックアウトされないための最低限
これは本当に大事なのでまとめます。
sshd_configを変更したら、先にsudo sshd -t- 今つながっている SSH セッションは最後まで残す
ufw enableの前に、新しい ssh ポートをallowしておく- 新ポートで別ターミナルからログイン確認してから、古いセッションを閉じる
これだけ守れば、だいぶ事故りにくいです。
ssh 周りと ufw 周りは、油断すると一瞬で「入れない・・・」になります。
おわりに
VPS を契約した直後は、まず apt update して、ssh ポートを変えて、ufw を入れて、不要な入口を閉じる。
このくらいは最初の儀式としてやっておいていいと思います。
特に ufw は、ssh の許可を入れる前に有効化しない、これだけは覚えておきましょう。
本当に締め出されます。
このあと余力があれば、次は鍵認証の整理や fail2ban 導入までやっておくとかなり安心です。

VPS みたいに自分で守る必要がある環境では、このへんは最初にまとめてやってしまうのがおすすめです。

コメント