導入
新しいDebian 10サーバーを初めて作成する際は、初期セットアップの一環として、いくつかの設定手順を早めに実行する必要があります。これにより、サーバーのセキュリティと使いやすさが向上し、その後の作業のための強固な基盤が築かれます。.
このチュートリアルでは、ルート ユーザーとしてサーバーにログインし、管理者権限を持つ新しいユーザーを作成し、基本的なファイアウォールを設定する方法を学習します。.
ステップ1 – ルートとしてログイン
サーバーにログインするには、サーバーのパブリックIPアドレスが必要です。また、パスワード、あるいは認証用にSSHキーをインストールしている場合は、ルートユーザーアカウントの秘密鍵も必要です。サーバーにログインしたことがない場合は、SSHを使用してDropletに接続する方法に関するガイドをご覧ください。この手順について詳しく説明しています。.
サーバーにまだ接続していない場合は、次のコマンドを使用して、root ユーザーとしてログインします (コマンドの強調表示された部分をサーバーのパブリック IP アドレスに置き換えます)。
ssh root@your_server_ipホスト資格情報に関する警告が表示された場合は、同意してください。パスワード認証を使用している場合は、rootパスワードを入力してログインしてください。パスフレーズで保護されたSSHキーを使用している場合は、どのセッションでも初めてキーを使用する際にパスフレーズの入力を求められる場合があります。パスワードを使用してサーバーにログインするのが初めての場合は、rootパスワードの変更を求められる場合があります。.
ルートについて
rootユーザーは、Linux環境における非常に広範な権限を持つ管理ユーザーです。rootアカウントは権限が昇格されているため、日常的に使用することは推奨されません。これは、rootアカウントの持つ固有の権限の一部が、たとえ誤ってであっても、非常に破壊的な変更を加える可能性があることを示唆しているからです。.
次のステップは、日常的なタスクへの影響が少ない別のアカウントを設定することです。後ほど、必要に応じて権限をさらに追加する方法を説明します。.
ステップ2 – 新しいユーザーを作成する
root としてログインしたら、今後ログインに使用する新しいユーザー アカウントを追加する準備が整います。.
この例では、sammy という名前の新しいユーザーが作成されますが、任意のユーザー名に置き換える必要があります。
adduser sammyアカウントのパスワードから始めて、いくつかの質問が表示されます。.
強力なパスワードを入力し、必要に応じて追加情報を入力してください。これは必須ではありません。スキップしたいフィールドでは、Enterキーを押すだけで入力できます。.
次に、この新しいユーザーに管理者権限を設定します。.
ステップ3 – 管理者権限の付与
通常のアカウント権限を持つ新しいユーザーアカウントを作成しました。ただし、場合によってはこのアカウントで管理タスクを実行する必要があるかもしれません。.
通常ユーザーからログアウトしてメインアカウントに再度ログインする必要がないように、通常アカウントにスーパーユーザー権限またはルート権限を設定できます。これにより、通常ユーザーはコマンドの前に「sudo」という単語を付けることで、管理者権限でコマンドを実行できるようになります。.
これらの権限を新規ユーザーに追加するには、新規ユーザーをsudoグループに追加する必要があります。Debian 10では、デフォルトでsudoグループに属するユーザーはsudoコマンドを使用できます。.
root として次のコマンドを実行し、新しいユーザーを sudo グループに追加します (強調表示された単語を新しいユーザーに置き換えます)。
usermod -aG sudo sammyこれで、通常のユーザーとしてログインしているときに、コマンドの前に sudo と入力して、スーパーユーザー権限でコマンドを実行できるようになります。.
ステップ4 – 基本的なファイアウォールを設定する
Debianサーバーはファイアウォールを使用して、特定のサービスへの接続のみを許可することができます。このガイドでは、UFWファイアウォールをインストールして使用し、ファイアウォールポリシーの設定と例外管理について説明します。.
UFWのインストールにはaptパッケージマネージャーを使用します。ローカルディレクトリを更新して利用可能なパッケージの最新情報を取得し、次のコマンドを入力してUFWファイアウォールソフトウェアをインストールします。
apt update
apt install ufwファイアウォールプロファイルを使用すると、UFWはインストールされたアプリケーションの名前付きファイアウォールルールセットを管理できます。一部の一般的なソフトウェアのプロファイルはUFWにデフォルトで付属しており、パッケージはインストールプロセス中にUFWに追加のプロファイルを登録できます。現在サーバーへの接続を可能にしているOpenSSHにも、使用可能なファイアウォールプロファイルがあります。.
次のように入力すると、利用可能なすべてのアプリケーション プロファイルが一覧表示されます。
ufw app list
Output
Available applications:
. . .
OpenSSH
. . .次回ログインできるように、ファイアウォールがSSH接続を許可していることを確認する必要があります。以下のコマンドを入力することで、SSH接続を許可できます。
ufw allow OpenSSHその後、次のように入力してファイアウォールを有効にできます。
ufw enableyと入力してEnterキーを押して続行します。以下を入力すると、SSH接続がまだ許可されていることがわかります。
ufw statusOutput
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)現在、ファイアウォールは SSH 以外のすべての接続をブロックしているため、追加のサービスをインストールして構成する場合は、許容可能なトラフィックを許可するようにファイアウォール設定を調整する必要があります。一般的な UFW 操作については、UFW の基本ガイドで学習できます。.
ステップ5 – 通常ユーザーの外部アクセスを有効にする
日常的に使用する通常のユーザーができたので、そのアカウントに直接 SSH 接続できることを確認する必要があります。.
新しいユーザーの SSH アクセスを構成するプロセスは、サーバーのルート アカウントが認証にパスワードを使用するか SSH キーを使用するかによって異なります。.
ルートアカウントがパスワード認証を使用する場合
メインアカウントにパスワードを使ってログインした場合、SSHのパスワード認証が有効になります。新しいターミナルセッションを開き、新しいユーザー名でSSHを使用すると、新しいアカウントにSSH接続できます。
ssh sammy@your_server_ip通常のユーザーのパスワードを入力すると、ログインします。管理者権限でコマンドを実行する必要がある場合は、次のように、その前に sudo と入力することを忘れないでください。
sudo command_to_runどのセッションでも sudo を初めて使用する場合 (およびその後定期的に使用する場合)、通常のユーザー パスワードの入力を求められます。.
サーバーのセキュリティを強化するため、パスワード認証ではなくSSHキーを設定することを強くお勧めします。Debian 10でのSSHキーの設定方法については、Debian 10でのSSHキーの設定に関するガイドをご覧ください。.
ルートアカウントがSSHキー認証を使用する場合
SSHキーを使用してメインアカウントにログインしている場合、SSHのパスワード認証は無効になっています。ログインするには、ローカルの公開鍵のコピーを新しいユーザーの~/.ssh/authorized_keysファイルに追加する必要があります。.
公開鍵は既にサーバー上のルートアカウントの ~/.ssh/authorized_keys ファイルに保存されているので、cp コマンドを使って、そのファイルとディレクトリ構造を現在のセッションの新しいユーザーアカウントにコピーできます。その後、chown コマンドを使ってファイルの所有権を設定できます。.
以下のコマンドの強調表示された部分を、通常のユーザー名と一致するように変更してください。
cp -r ~/.ssh /home/sammy
chown -R sammy:sammy /home/sammy/.sshcp -r コマンドはディレクトリ全体を新しいユーザーのホーム ディレクトリにコピーし、chown -R コマンドはそのディレクトリ (およびその中のすべて) の所有者を指定されたユーザー名: グループ名に変更します (Debian は同じ名前のグループを作成します。デフォルトではユーザー名です)。.
次に、新しいターミナル セッションを開き、新しいユーザー名で SSH 経由でログインします。
ssh sammy@your_server_ip新しいアカウントにはパスワードを使わずにログインしてください。管理者権限でコマンドを実行する必要がある場合は、次のようにコマンドの前に「sudo」と入力してください。
sudo command_to_runどのセッションでも sudo を初めて使用する場合 (およびその後定期的に使用する場合)、通常のユーザー パスワードの入力を求められます。.
結果
この時点で、サーバーの強固な基盤が構築されました。必要なソフトウェアをサーバーにインストールできます。.









