Ubuntu 14.04でのSSHの保護

新しいサーバーを作成した後、サーバーのセキュリティを強化するために行う必要がある構成上の微調整がいくつかあります。

新しいユーザーを作成する

rootユーザーとして、サーバーで必要なすべてのことを実行する特権があり、制限はありません。このため、サーバー上のすべてのタスクでrootユーザーアカウント使用ないことをお勧めします。新しいユーザーを作ることから始めましょう。をusername目的のユーザー名に置き換えます。

adduser username

新しい安全なパスワードを選択し、それに応じて質問に回答します(または単にEnterキーを押してデフォルト値を使用します)。

ユーザーにroot権限を与える

新しいユーザーアカウントは、自分のホームフォルダの権限の外を持っていないと、サーバーを変更するコマンドを実行することはできません(のようなinstallupdateまたはupgrade)。rootアカウントの使用を回避するために、ユーザーにroot権限を付与します。これには2つの方法があります。

sudoグループへのユーザーの追加

簡単な方法は、ユーザーをsudoグループに追加することです。をusername目的のユーザー名に置き換えます。

adduser username sudo

これにより、ユーザーがグループに追加されますsudo。このグループには、sudoアクセスでコマンドを実行する特権があります。

sudoersファイルの変更

もう1つの方法は、ユーザーをsudoersファイルに入れることです。サーバーにroot特権を持つ複数のユーザーがいる場合、誰かがsudoグループを操作しても、root特権でコマンドを実行してサーバーで作業できるため、このアプローチは多少優れています。

まず、次のコマンドを実行します。

visudo

これでsudoersファイルが開きます。このファイルには、root権限でコマンドを実行できるグループとユーザーの定義が含まれています。

root    ALL=(ALL:ALL) ALL

この行の後に、ユーザー名を書き込んで、完全なroot権限を付与します。username適宜交換してください:

username    ALL=(ALL:ALL) ALL

ファイルを保存して閉じます(ナノではCtrl + OおよびCtrl + X)。

新しいユーザーをテストする

logoutand なしで新しいユーザーアカウントにログインするにはlogin、次を呼び出します。

su username

次のコマンドを使用して、sudo権限をテストします。

sudo apt-get update

シェルがパスワードを要求します。sudoが適切に設定されている場合は、リポジトリを更新する必要があります。それ以外の場合は、前の手順を確認してください。

次に、新しいユーザーからログアウトします。

exit

Sudoのセットアップが完了しました。

SSHの保護

このガイドの次の部分では、サーバーへのsshログインをセキュリティで保護する必要があります。まず、rootパスワードを変更します。

passwd root

推測しにくいが、覚えやすいものを選択してください。

SSHキー

SSHキーは、より安全なログイン方法です。SSHキーに関心がない場合は、チュートリアルの次の部分に進んでください。

次のVultr Docを使用してSSHキーを作成します。SSHキーを生成するにはどうすればよいですか?

公開鍵を取得したら、新しいユーザーで再度ログインします。

su username

次に、そのユーザーアカウントのホームディレクトリに.sshディレクトリとauthorized_keysファイルを作成します。

cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys

他のチュートリアルで生成した公開鍵をauthorized_keysファイルに追加します。

 nano .ssh/authorized_keys

ファイルを保存してから、そのファイルの権限を変更します。

chmod 600 .ssh/authorized_keys

rootユーザーに戻ります。

exit

SSH設定

次に、SSHデーモンをより安全にします。設定ファイルから始めましょう:

nano /etc/ssh/sshd_config
SSH受信ポートを変更する

この手順により、サーバーへのアクセスに使用されるポートが変更されます。これは完全にオプションですが、推奨されます。

Portconfig の行を見つけます。次のようになります。

Port 22

このポートを任意のポートに変更します。1024より大きい必要があります。

Port 4422
root sshログインを無効にする

この手順では、SSH経由のrootログインを無効にしますこれは完全にオプションですが、強くお勧めします。

この行を見つけます:

PermitRootLogin yes

...そしてそれを次のように変更します:

PermitRootLogin no

これにより、ユーザーとポート22を使ってブルートフォースや一般的なパスワードを試行するボットからサーバーがより安全にrootなります。

X11転送を無効にする

この手順ではX11転送を無効にします。リモートデスクトッププログラムを使用してサーバーにアクセスする場合は、これを行わないでください。

X11行を見つけます。

X11Forwarding yes

...そして次のように変わります:

X11Forwarding no
SSHデーモンを再起動します

SSHログインを保護するための変更を行ったので、SSHサービスを再起動します。

service ssh restart

これにより、サーバー設定が再起動して再ロードされます。

変更のテスト

現在のsshセッションを切断せずに、新しいターミナルまたはPuTTYウィンドウを開き、別のSSHログインをテストします。

ssh -p 4422 username@SERVER_IP_OR_DOMAIN

すべてが確認されれば、サーバーのセキュリティは正常に強化されています。楽しい!



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。