Debian 10でのサーバーの初期セットアップ

前書き

新しいDebian 10サーバーを最初に作成するとき、基本セットアップの一部として早期に実行する必要があるいくつかの構成手順があります。 これにより、サーバーのセキュリティと使いやすさが向上し、その後のアクションの強固な基盤が得られます。

このチュートリアルでは、* root *ユーザーとしてサーバーにログインし、管理者権限を持つ新しいユーザーを作成し、基本的なファイアウォールを設定する方法を学びます。

ステップ1-ルートとしてログインする

サーバーにログインするには、サーバーのパブリックIPアドレス*を知っている必要があります。 パスワード、または認証用のSSHキーをインストールした場合は、 root *ユーザーのアカウントの秘密キーも必要になります。 サーバーにまだログインしていない場合は、https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/ [次の方法でDropletに接続する方法を参照してください。 SSH]。このプロセスについて詳しく説明しています。

サーバーにまだ接続していない場合は、次のコマンドを使用して* root *ユーザーとしてログインします(コマンドの強調表示された部分をサーバーのパブリックIPアドレスに置き換えます)。

ssh root@

ホストの信頼性に関する警告が表示された場合は受け入れます。 パスワード認証を使用している場合は、* root パスワードを入力してログインします。 パスフレーズで保護されたSSHキーを使用している場合、各セッションで初めてキーを使用するときにパスフレーズを入力するように求められる場合があります。 パスワードを使用してサーバーに初めてログインする場合は、 root *パスワードを変更するよう求められることもあります。

ルートについて

  • root ユーザーは、非常に幅広い特権を持つLinux環境の管理ユーザーです。 * root *アカウントの特権が高められているため、定期的に使用することはできません。 これは、 root *アカウントに固有の力の一部が、偶然であっても非常に破壊的な変更を加える能力だからです。

次のステップは、日常業務の影響範囲を減らした代替ユーザーアカウントを設定することです。 後で、必要なときに特権を増やす方法を説明します。

ステップ2-新しいユーザーの作成

  • root *としてログインすると、これからログインするために使用する新しいユーザーアカウントを追加する準備が整います。

この例では、* sammy *という新しいユーザーを作成しますが、好きなユーザー名に置き換える必要があります。

adduser

アカウントのパスワードから始めて、いくつか質問があります。

強力なパスワードを入力し、必要に応じて任意の追加情報を入力します。 これは必須ではなく、スキップしたいフィールドで「+ ENTER +」を押すだけです。

次に、この新しいユーザーに管理者権限を設定します。

ステップ3-管理特権の付与

これで、通常のアカウント特権を持つ新しいユーザーアカウントが作成されました。 ただし、管理タスクを実行する必要がある場合があります。

通常のユーザーからログアウトして* root アカウントとして再度ログインする必要を回避するために、通常のアカウントに_superuser_または root *特権として知られるものを設定できます。 これにより、通常のユーザーは、コマンドの前に「+ sudo +」という単語を置くことにより、管理者権限でコマンドを実行できます。

これらの特権を新しいユーザーに追加するには、新しいユーザーを* sudo グループに追加する必要があります。 デフォルトでは、Debian 10では、 sudo *グループに属するユーザーは、 `+ sudo +`コマンドを使用できます。

  • root として、次のコマンドを実行して、新しいユーザーを sudo *グループに追加します(強調表示された単語を新しいユーザーに置き換えます)。

usermod -aG sudo

これで、通常のユーザーとしてログインすると、コマンドの前に「+ sudo +」と入力して、スーパーユーザー権限でコマンドを実行できます。

手順4-基本的なファイアウォールの設定

Debianサーバーはファイアウォールを使用して、特定のサービスへの特定の接続のみが許可されていることを確認できます。 このガイドでは、UFWファイアウォールをインストールして使用し、ファイアウォールポリシーの設定と例外の管理に役立てます。

`+ apt +`パッケージマネージャーを使用してUFWをインストールできます。 ローカルインデックスを更新して利用可能なパッケージに関する最新情報を取得し、次のように入力してUFWファイアウォールソフトウェアをインストールします。

apt update
apt install ufw

ファイアウォールプロファイルにより、UFWはインストールされたアプリケーションのファイアウォールルールの名前付きセットを管理できます。 一部の一般的なソフトウェアのプロファイルはデフォルトでUFWにバンドルされており、パッケージはインストールプロセス中に追加のプロファイルをUFWに登録できます。 現在、サーバーに接続できるサービスであるOpenSSHには、使用できるファイアウォールプロファイルがあります。

次のように入力して、使用可能なすべてのアプリケーションプロファイルを一覧表示します。

ufw app list
OutputAvailable applications:
. . .
OpenSSH
. . .

次回ログインできるように、ファイアウォールがSSH接続を許可していることを確認する必要があります。 これらの接続を許可するには、次のように入力します。

ufw allow OpenSSH

その後、次のように入力してファイアウォールを有効にできます。

ufw enable

「+ y 」と入力し、「 ENTER +」を押して続行します。 次のように入力すると、SSH接続が引き続き許可されていることがわかります。

ufw status
OutputStatus: active

To             Action   From
--             ------   ----
OpenSSH          ALLOW    Anywhere
OpenSSH (v6)     ALLOW    Anywhere (v6)

*ファイアウォールは現在、SSH *を除くすべての接続をブロックしているため、追加のサービスをインストールして構成する場合は、受け入れ可能なトラフィックを許可するようにファイアウォール設定を調整する必要があります。 一般的なUFW操作については、https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands [UFWの基本ガイド]をご覧ください。

ステップ5-通常ユーザーの外部アクセスを有効にする

日常的に使用する通常のユーザーがいるので、アカウントに直接SSHで接続できることを確認する必要があります。

新しいユーザーのSSHアクセスを設定するプロセスは、サーバーの* root *アカウントが認証にパスワードまたはSSHキーを使用するかどうかによって異なります。

ルートアカウントがパスワード認証を使用する場合

パスワードを使用して root *アカウントにログインした場合、SSHのパスワード認証が有効になります。 新しいターミナルセッションを開き、新しいユーザー名でSSHを使用して、新しいユーザーアカウントにSSHで接続できます。

ssh @

通常のユーザーのパスワードを入力すると、ログインします。 管理者権限でコマンドを実行する必要がある場合、次のように「+ sudo」の前に入力してください。

sudo

各セッションで初めて(およびその後定期的に) `+ sudo +`を使用すると、通常のユーザーパスワードの入力を求められます。

サーバーのセキュリティを強化するには、パスワード認証を使用する代わりにSSHキーを設定することを強くお勧めします。 キーの設定方法については、https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-debian-10 [Debian 10でのSSHキーの設定]のガイドに従ってください。ベースの認証。

ルートアカウントがSSHキー認証を使用する場合

_SSHキーを使用して* root *アカウントにログインした場合、SSHのパスワード認証は_disabled_です。 正常にログインするには、新しいユーザーの `+〜/ .ssh / authorized_keys`ファイルにローカル公開キーのコピーを追加する必要があります。

公開鍵は既にサーバー上の* root *アカウントの `〜/ .ssh / authorized_keys +`ファイルにあるため、 ` cp `コマンドを使用して、既存のセッションでそのファイルとディレクトリ構造を新しいユーザーアカウントにコピーできます。 。 その後、 ` chown +`コマンドを使用してファイルの所有権を調整できます。

通常のユーザーの名前に合わせて、以下のコマンドの強調表示された部分を必ず変更してください。

cp -r ~/.ssh /home/
chown -R : /home//.ssh

`+ cp -r `コマンドはディレクトリ全体を新しいユーザーのホームディレクトリにコピーし、 ` chown -R `コマンドはそのディレクトリ(およびその中のすべて)の所有者を指定された ` username:groupname +`に変更します( Debianはデフォルトでユーザー名と同じ名前のグループを作成します)。

次に、新しいターミナルセッションを開き、新しいユーザー名でSSH経由でログインします。

ssh @

パスワードを使用せずに、新しいユーザーアカウントにログインする必要があります。 管理者権限でコマンドを実行する必要がある場合、次のように「+ sudo」の前に入力してください。

sudo

各セッションで初めて(およびその後定期的に) `+ sudo +`を使用すると、通常のユーザーパスワードの入力を求められます。

ここからどこへ行く?

この時点で、サーバーの強固な基盤ができました。 サーバーに必要なソフトウェアを今すぐインストールできます。