ConoHa VPSでUbuntuサーバーを構築(基礎設定)
はじめに
昔からLinux関連の知識を勉強したかったでした!キョです。
でも、お恥ずかしいですが、ずっと計画立っていなくて放置していました。
先月のConoHaの50万人キャンペンーンを見て、「今だ!」と思って、ConohaのVPSを契約しましたので、最低限の設定まで行ったことを備忘録として残りたいと思います。
サーバー設定
基本ConoHaの公式サイトに載っている設定を行いましたが、微妙に実際の操作と違う部分がありましたので、その部分についても記載してみました。
公式サイトの利用ガイド
1.契約したサーバーにログイン
契約後のログインはConohaのコントロールパネルでしか行えないですので、
一度コントロールパネルを利用して、ログインします。
※自分の場合、sshの設定が「パスワードログイン禁止」が初期値になっていますので、
sshでのログインはできませんでした。
2.OSのアップデート
ログインした後はまずOSのアップデートですね。
# インストール可能なパッケージの一覧を更新
$ apt update
# 一覧を使って、実際にインストール・アップグレードを行う
$ apt upgrade
3.一般ユーザー作成
rootユーザーは何の操作でもできるユーザーになっていますので、基本直接使わないほうがいいです。
※例えば、誤操作などで重要なファイルを削除してしまう等
# 一般ユーザー作成
$ useradd [ユーザー名]
# パスワード設定
$ passwd [ユーザー名]
一般ユーザーはroot権限がないため、sudoを利用することでroot権限が必要なコマンド操作が可能となります。
sudoではパスワード入力を求められ、コマンドの入力ミスなどの誤操作を防ぐことにもつながります。
# ユーザーをsudoグループに所属させて、sudo利用できるようにする
$ gpasswd -a [ユーザー名] sudo
4.一般ユーザーを公開キー認証を利用してログインするように設定
設定する必要があるのは以下になります。
- キー生成
- キー設置
- rootユーザーのSSHログインを禁止
設定手順は公式サイトの設定手順通りになりますが、
公式手順を利用して設定する時、以下の注意点があります。
VPS作成時のsshデフォルト設定は「パスワードログイン禁止」になっていますので、
以下の手順で一度パスワードログインを許可して、設定完了後再度禁止するか
公式手順の操作をコントロールパネルから行うかどちらで行う必要があります。
# vi /etc/ssh/sshd_config
PasswordAuthentication no
↓
PasswordAuthentication yes #[yes]を[no]に変えます
設定完了後、パスワードログインを禁止するのを忘れないようにですね。
5.SSHのポート番号を変更する
SSHのデフォルトポートは「22」ですが、
ボッドによって、不正アクセスが大量発生しやすいと思って、
私の場合はポートを「10022」に変更しました。
$ sudo vim /etc/ssh/sshd_config
# Port 22を以下に変更
Port 10022
# sshdを再起動して設定を反映
$ sudo service sshd restart
6.接続許可ポートを設定
設定方法は二つで、
一つ目はConohaのコントロールパネルからの設定です。
手順は公式サイトの「接続許可ポートを設定する」を参照してください。
もう一つは、コントロールパネルですべてのポート許可して、サーバー内でファイヤーウォールを利用して接続許可の設定を行う方法です。
私の場合は「ufw」というツールが利用しました。(VPS作成時デフォルトで入っています。)
# いまの設定状況を確認する
$ sudo ufw status
# 以下の表示の場合は、現在「無効」になっている
# VPS作成時は基本「有効」になっている
status inactive
# ファイヤーウォールを有効にする
$ sudo ufw enable
# 一旦すべてを拒否
$ sudo ufw default deny
# webサーバーとして使用することを想定して以下のポートは有効にする
$ sudo ufw allow https/tcp
$ sudo ufw allow http/tcp
$ sudo ufw allow ftp
# sshで設定したポート番号
$ sudo ufw allow 10022
# 現在の設定を確認
# 設定した内容は以下に記載されている
# /etc/ufw/user.rules
$ sudo ufw status verbose
# 設定した内容を反映する
$ sudo ufw reload
7.不正アクセスへの対処
不正アクセスを対策するために、今回は「fail2ban」を利用しました。
「fail2ban」とは、サーバーに不正アクセスがあった場合に、そのユーザーを一定時間ブロックしてくれるプラグインです。
自分がログイン失敗し続けた場合もbanされますので、注意が必要です。
# fail2banをインストールする
$ sudo apt install fail2ban
# fail2banを起動する
$ sudo /etc/init.d/fail2ban start
終わり
私が実際に行った設定を記録してみました。
誰かのお役に立てれば幸いです。
参考サイト
Discussion