Ubuntu 22.04でシンVPSを安全に運用!SSHとポート設定をわかりやすく解説

ubuntu22

概要

この記事では、サーバーの基本設定から始めて、Nginx、PHP 8.1、Let’s Encryptを用いてWordPressを構築する手順を解説します。
安全で効率的な操作を心がけ、初心者でも迷わず進められる内容を目指しました。

サーバーに初めてログインしたら行うべきこと

システムの更新

サーバーに最初にログインしたら、システムを最新状態に更新します。

SSHでログイン

ssh root@your_server_ip

パッケージを更新

apt update && apt upgrade -y

ユーザーの作成

rootユーザーでの操作はリスクが高いので、通常操作用のユーザーを作成します。

ユーザー作成

adduser myuser

プロンプトに従ってパスワードを設定します。

ユーザーに管理権限を付与

usermod -aG sudo myuser

別のターミナルを立ち上げてログインできるか確認します。

ssh myuser@your_server_ip

SSHセキュリティ対策とログイン確認

rootログインの無効化

SSH設定ファイルを編集

sudo vim /etc/ssh/sshd_config

以下を変更
現行使用しているポート22から特定のポートへ変更します。
ここでは「your_ssh_port_num」にします。
(シンVPSで使えるポート 1~32767)

Port 20
↓
Port your_ssh_port_num

PermitRootLogin yes
↓
PermitRootLogin no

適当な番号を20個生成するpythonスクリプト組んでみましたのでポート番号が決められないときはご活用ください。

python3
import random

i = 20 #生成したい数
ran_list = [ int(random.uniform(1024, 32677)) for i in range(i) ]
print(ran_list)
[24007, 25708, 28540, 5931, 20610, 6335, 7809, 10835, 32002, 6500, 18716, 4932, 17505, 21447, 29364, 15952, 17427, 12653, 31673, 12621]
>>> quit()

SSHサービスを再起動

sudo systemctl restart sshd

ファイヤーウォールの設定

不要なアクセスを防ぐ基本設定

ファイヤーウォールを有効化

sudo ufw allow your_ssh_port_num/tcp
sudo ufw delete allow 22/tcp

新たに定めたポートを開放し、22を閉じます。
サーバの再起動時も自動で開始するように設定します。

sudo ufw enable

設定を確認

sudo ufw status

状態: アクティブ
To                         Action      From
--                         ------      ----
your_ssh_port_num/tcp      ALLOW       Anywhere

シンVPSの場合これだけでは通信ができないので、管理画面よりパケットフィルター設定を行う。

実際にログインできるか別ターミナルを開きログインしてみます。

↓ログインできないはず
ssh -p your_ssh_port_num root@your_server_ip

↓ログインできる
ssh -p your_ssh_port_num myuser@your_server_ip

今回使用したVPSはこちら

コメント

タイトルとURLをコピーしました