Ubuntu22.04 LTS 初期設定について。安くて安定のCONOHA VPSで構築しました。
追加オプションで、固定IPを1つ追加しました。
最初に行っておくべきVPSサーバーの設定です。Ubuntuに限らずですね。
追加固定IPの使い道
例えば、何かしらのサイトやWEBサービスを運用中の場合にOSをバージョンアップしないといけない状況だったり追加機能の実装だったりのときに、サーバーを止められません。
ドメインは固定IPに割り振られているので、あえて追加したIPにDNS設定をしておきます。
新しいサーバーを用意し動作確認できたら、追加IPを古いサーバーから新しいサーバーへ付け替えるだけで移行が完了します。DNSの浸透を待たなくてもよいためダウンタイムが短縮されます。
この追加IPは、さくらインターネットでは提供されていません。CONOHA VPSはイメージバックアップを標準で機能として持っており、管理者に優しく、初心者にもお勧めのVPSです。
実際、さくらVPSを使っているとバックアップに非常に困ります。
今回は、追加IPの設定には触れません。
日本語環境に変更
VPSを準備できたら、セキュリティなどの設定を行います。まずは、日本語環境にします。
1行ずつ実行すると完了です。
sudo apt update
sudo apt install language-pack-ja
sudo update-locale LANG=ja_JP.UTF8
セキュリティアップデート
インストールをして、何も入っていない状態でOSのセキュリティパッチを当てます。
sudo apt update # パッケージ情報の更新
sudo apt upgrade # パッケージの更新
sudo apt autoremove # (必要なくなった)パッケージの自動削除
作業用のユーザーを作成
最初は、root いわゆる管理者にパスワードでログインしているはずです。これではセキュリティリスクがあるため、SSHの接続ポートや作業ユーザーを作成します。
[ユーザー名] をユーザー名に変えてください。
sudo adduser [ユーザー名]
パスワードの設定など聞いてきます。
次に、作業用のユーザーを管理者グループに入れて管理者への昇格を可能にします。
sudo gpasswd -a [ユーザー名] sudo
SSHは秘密キーでログイン
このままだとパスワードでログインできる状態のためrootなどのユーザーでパスワードのランダムアタックされる可能性があります。
そこでいわゆる証明書をつかってのログインに切り替えます。
キーペアを作成
Tera Term Proでの作成方法です。
「設定」 > 「SSH鍵生成」 で右の画面が表示されます。 「鍵のパスフレーズ」を入力して 生成ボタンを押します。
「公開鍵の保存」 と 「秘密鍵の保存」 で、それぞれ大切に保存しておいてください。鍵を無くすとログインできなくなります。
鍵を登録
先ほどの作業用ユーザーでSSHログインします。
そのまま、Tera Term Proの画面に「公開鍵」をドラッグ&ドロップでSCP送信してください。
sudo mkdir .ssh
sudo mv [公開鍵のファイル名] .ssh/authorized_keys
SSHの設定
/etc/ssh/sshd_config を編集します。
sudo nano /etc/ssh/sshd_config
Port 22と書いているところを探して、任意のポート番号に変更しましょう。22は一般的にSSHで使われており、攻撃の対象となります。
Port 2222
最高権限の root でのログインを禁止します。
PermitRootLogin no
公開鍵でのログインを有効にします。
PubkeyAuthentication yes
パスワードでのログインを禁止します
PasswordAuthentication no
PAM認証を禁止します。
usePAM no
記載場所を探して変更したり、追記して保存します。
設定を読み込むため、SSHサービスを再起動させます。
sudo systemctl restart ssh
SSHのポートを開放しておく
先ほどポートを記載したと思います。そのポートを開けておかないとログインできません。
Port 2222
この場合は、2222番ポートです。
sudo ufw allow 2222
sudo ufw reload
ファイアウォールを有効化します
sudo ufw enable
作業ユーザーでのログイン
「ユーザー名」と「鍵」を作るときに設定した「パスフレーズ」を入力します。
「RSA/DSA/ECDSA/ED25519鍵」を使うを選択し、保存した秘密鍵を選択して「OK」を押します。
可能であればSSHの接続を制限する
SSHへのセキュリティを高めたといえど、アタックはされます。そこでサーバーに到着する前にカットできれば好都合なわけです。
やり方は、SSHのポートは22のままにしておいて、CONOHAなどのVPSのネットワークで22を閉じておくというものです。接続したいときは開けてから接続します。
面倒です
ポート番号を変えている場合は、接続できるIPアドレスを制限する方法があります。
固定IPであれば、そのIPアドレスからのみとしますが、一般の人で固定IPはないですよね?
そこで、続元のドメインで許可します。わからない人は、ここへアクセスしてみてください。IPアドレスとともに表示されています。
ファイルに保存した瞬間に設定が適用されるため、間違えた設定をしてしまうと自分でも二度とログインできなくなる可能性があります。設定する際には十分に注意してください。
sudo nano /etc/hosts.allow
自分のプロバイダがOCNであればこうです。
sshd: .ocn.ne.jp
次に接続させたくないIPアドレス
sudo nano /etc/hosts.deny
sshd: all
まとめ
最低限の設定を完了しました。SSHのポートは、22や2222以外で設定することをお勧めします。そして可能であれば、接続できるネットワークを制限しましょう。
特定のプロバイダ経由だけに限定すれば海外からのアタックが防げるので、より安全です。
VPSを立ち上げで最初にやるべき設定でした。
コメント