CentOS Stream 9のVPSを立ち上げてみた

CentOS 8のサポート終了日(2021年12月31日)が近付いてきました。
このブログを動かしているVPSは既にCentOS Stream 8に移行済みですが、それも2024年5月31日にはサポートを終了するとのことです。

まだまだサポート終了まで余裕はありますが、事前に最新のCentOS Stream 9に触れておくのもいいと思い、VPSを立ち上げてみました。
今回はConoHa VPSを使用しました。
その手順を記事にしたいと思います。

前提条件

  • Linuxに関する基本的な知識があること
  • サーバー運用に関する基本的な知識があること
  • ConoHaアカウントは取得済みであること

手順

  1. ConoHaコントロールパネルからVPSサーバーを追加します。
    スペックの選択

    リージョンやサーバースペックをお好みで選択し、イメージタイプはOSの「CentOS Stream9 (64bit)」を選択します。
    尚、rootユーザーのパスワードは英字(大文字・小文字)、数字、記号を使って20文字以上にすることをオススメします。
    あまりにも単純なパスワードだとVPS起動直後に不正にログインされてしまう可能性が否定できません。

  2. オプションを選択します。
    オプションの選択

    今回は全てデフォルト値で作成しますが、セキュリティが気になる場合は「接続許可ポート」を「全て拒否」にしてもいいと思います。
    「全て拒否」の場合はコントロールパネルの「コンソール」からしかログインできなくなりますのでご注意ください。

  3. 内容を確認し「追加」をクリックします。
    内容の確認
  4. コントロールパネルの左ペインで「サーバー」をクリック、サーバーリスト内の当該サーバーのステータスが「起動中」になったら「ネームタグ」のリンクをクリックします。
    ステータスの確認
  5. 「コンソール」をクリックします。
    コンソール

    コンソールが別ウィンドウで立ち上がりますのでrootユーザーでログインします。
    (パスワードはVPS作成時に設定したパスワード)

  6. コマンドを入力してバージョンを確認します。
    cat /etc/redhat-release
    バージョンの確認

以上でVPSの立ち上げは完了です。
今回はConoHaを使いましたが、どのホスティング業者でもだいたい同じような手順でVPSの作成ができると思います。

私がいつも行っている最低限のセキュリティ設定

あとは適宜環境を構築していくだけなのですが、私がいつも初期段階で行っている最低限のセキュリティ設定を紹介したいと思います。
(全てコンソールから行います)

管理用ユーザーの作成

管理者権限を持つユーザーを新たに作成し、rootユーザーは使わないようにします。

useradd {ユーザー名}
usermod -aG wheel {ユーザー名}
passwd {ユーザー名}

以降の作業は全てこの管理用ユーザーを使って行います。

SSHの設定変更

SSHでログインする際のポートと認証方式を変更します。
また、rootユーザーはSSHでログインできないように変更します。

  1. 「/etc/ssh/sshd_config」を編集します。
    #Port 22 → Port {任意のポート}
    PermitRootLogin yes → PermitRootLogin no
    #PubkeyAuthentication yes → PubkeyAuthentication yes
    PasswordAuthentication yes → PasswordAuthentication no
    #PermitEmptyPasswords no → PermitEmptyPasswords no
  2. 認証用の鍵ペアを作成(手順は割愛します)し、公開鍵をホームディレクトリ配下の規定ディレクトリに保存します。
    cd ~
    mkdir .ssh
    cd .ssh
    vim authorized_keys #このファイルに公開鍵の内容を貼り付ける
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
  3. ファイアウォールの設定を変更します。
    sudo firewall-cmd --add-port={任意のポート}/tcp --permanent
    sudo firewall-cmd --remove-service=ssh --permanent
    sudo firewall-cmd --reload

    また、この段階でVPSのコントロールパネルから設定出来るファイアウォールは無効(全て通す設定)に変更します。

  4. sshdを再起動します。
    尚、設定にミスがあると場合によっては二度とSSHでログインできなくなりますのでコンソールは絶対に閉じないようにしてください。

    sudo systemctl restart sshd

以後は上記のポート番号と鍵を指定してSSHログインすることになります。

サードパーティリポジトリの追加

EPELとRemiのリポジトリを追加します。
OSのバージョンによりファイル名に差異が生じますが、今回の例はCentOS Stream 9用です。

EPEL

sudo dnf config-manager --set-enabled crb
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

Remi

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf config-manager --set-enabled remi

まとめ

以上でひとまずはCentOS Stream 9の環境を手に入れることができます。

ある程度の情報が出た時点で当ブログはCentOS Stream 9環境に移行しようと思っていて、今回立ち上げたVPSはそのノウハウを蓄積するための環境として活用しようと思っています。
いろいろと進めていく上で気付いた点などがありましたら適宜記事にしていきたいと思います。

今回の記事がCentOS Stream 9が気になっている方の参考になれば幸いです。