Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxホームサーバーを保護する方法

Linuxホームサーバーを保護する方法

ホームサーバーを設定する理由はたくさんあります。メディアサーバー、ファイルサーバー、またはローカルバックアップサーバーとしても使用できます。基本的に、オンラインである必要のないファイルは、ホームサーバーの候補として適しています。 Linuxを搭載したホームサーバーのセットアップは、特に最近では比較的簡単です。そうは言っても、そのサーバーを安全に保つことはまったく別の話です。セキュリティは重要であると同時に、注意が必要な場合もあります。

絶対に必要なものだけをインストールする

ホームサーバーを安全に保つ最も簡単な方法の1つは、最初からセキュリティを念頭に置くことです。これはインストールから始まります。アプリケーションやサービスが必要かどうかわかりませんか?インストールしないでください。後でいつでもインストールできます。

Linuxを数回インストールしたことがあれば、これはさらに簡単です。デフォルトに固執する代わりに、インストールを最も制御できるモードを使用してください。これらは「エキスパートモード」などと呼ばれることもあります。

インストールオプションを注意深く追跡することで、後でセキュリティ上の理由からサービスを無効にする時間を節約できます。

sudoの構成

他の手順に進む前に、sudoを構成する必要があります 。なんで?ここで完了すると、SSH経由でサーバーにログインし、rootアカウントとしてログインできなくなるためです。システムにさらに変更を加えるには、sudoを使用する必要があります 。

まず、sudoをすでに使用できるかどうかを確認します 。ユーザーアカウントから、USERNAMEの代わりにusernameを使用して以下を実行します。

sudo -lU USERNAME

ユーザー名が「(ALL)ALL」などを実行できることを示すメッセージが表示された場合は、次に進む準備ができています。

ここで、サーバーのrootアカウントとして、以下を実行して「/ etc/sudoers」ファイルを編集します。別のエディターが必要な場合は、nanoの代わりにそれを使用してください。

EDITOR=nano visudo

ファイルを編集して、USERNAMEの代わりにusernameを使用して、以下を含めます。

USERNAME   ALL=(ALL) ALL

SSHの構成

Linuxホームサーバーを保護する方法

ホームサーバーでSSHがすでに有効になっている可能性があります。実際、これは通常、サーバーとやり取りする方法であるため、そうする可能性があります。

まず、OpenSSHがインストールされていることを確認します。別のディストリビューションを使用する場合、コマンドは異なりますが、パッケージ名はかなり一貫している必要があります。 Ubuntuでは、次を実行します:

sudo apt install openssh-server

キーベースの認証を使用する方がパスワード認証よりもはるかに安全であるため、このように機能するようにSSHを設定します。これを行うには、サーバー自体ではなく、サーバーに接続する予定のクライアントで作業していることを確認してください。まず、SSHキーがまだないことを確認する必要があります:

ls ~/.ssh/

リストされたファイル名の中に「id_rsa」と「id_rsa.pub」が表示されている場合は、すでにSSHキーがあります。この次のステップをスキップしてください。

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

次に、SSHキーをサーバーにコピーします。

ssh-copy-id USERNAME@SERVER

ホームサーバーの場合、名前の代わりにサーバーのIPアドレスを使用している可能性があります。サーバー名がわからない場合は、上記のSERVERの代わりにIPアドレスを使用してください。

次に、SSH設定を編集して、より安全にします。キーを作成したクライアントからサーバーにログインします。これにより、この手順の後で再度ログインできるようになります。nanoを置き換えて、次のコマンドを実行します。 選択したエディターで。

sudo nano /etc/ssh/sshd_config

次の設定でファイルを編集します。これらは、ファイル内のさまざまな場所に配置されます。設定の最初のインスタンスのみが追跡されるため、重複がないことを確認してください。

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
PermitRootLogin no

次に、次のいずれかのコマンドを使用してSSHサーバーを再起動する必要があります。

Ubuntuでは、次のコマンドを実行します:

sudo systemctl restart ssh

ファイアウォールの構成

実行しているサービスとサーバーがインターネットに接続する量によっては、ファイアウォールを実行することをお勧めします。これにはいくつかのオプションがありますが、Linuxで実証された真の方法はiptablesです。

iptablesの設定はこの記事の範囲を超えていますが、心配する必要はありません。マシンでiptablesを構成するための完全なガイドがあります。

ファイアウォールを設定するもう1つの簡単な方法は、ufwを使用することです。 。次のコマンドでインストールできます:

sudo apt install ufw

デフォルトでは、すべてのポートがブロックされます。オンラインアクセスとsshアクセスを有効にするには、次のufwコマンドを実行して、ポート80、443、および22を開きます。

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 22

最後に、ufwサービスを有効にします。

sudo ufw enable

最新情報を入手

Linuxホームサーバーを保護する方法

サーバーは、正常に機能していれば忘れがちですが、これは危険な場合があります。ソフトウェアを最新の状態に保つようにしてください。無人アップグレードを使用できますが、これらは予測できない場合があります。最も安全な方法は、毎週または毎月の定期的なサーバーメンテナンスの予約をスケジュールして、すべてがうまく機能していることを確認することです。

ここからどこへ行くか

これで、サーバーを外部の脅威から保護するための良いスタートを切ることができます。ただし、自宅からサーバーにアクセスする必要がある場合はどうなりますか?開いたドアはすべて攻撃者によって使用される可能性があり、開いているポートはすべて脆弱性を高めます。

外部からホームネットワークにアクセスする最も簡単な方法の1つは、VPNを使用することです。これは、この記事の範囲外ですが、心配しないでください。オプションが何であるかについては、利用可能な最高の安全なVPNサービスのリストをご覧ください。


  1. Windows 10 で SSH セキュア シェルを使用するには?

    コンピュータをリモート デスクトップまたはネットワーク経由で接続してデータを共有する場合は、Secure Shell が必要です。このブログでは、Windows 10 で SSH セキュア シェルを使用する方法を学習します。SSH セキュア シェルは、デバイスとインターネットを含む任意のネットワーク間の通信システムと見なすことができます。このシステムは暗号化されており、ハッカーやその他のスパイウェア、アドウェア、マルウェアが、ユーザーがアクセスしたりデータを受信したりしているサイトや場所に関する詳細を取得できないため、安全です。 Linux オペレーティング システムは Windows よりも

  2. SSH サーバーを使用して障害のある Windows PC にアクセスする方法

    システムが突然クラッシュし、コマンドに応答しなくなることがあります。コンピューター上の重要なものにアクセスしたいが、コンピューターが動作していないためにアクセスできない場合、状態はさらに悪化します。 SSH サーバーを使用して障害のある Windows PC にアクセスし、問題を解決できるようになりました。ほとんどの人は SSH とは何かを知らないかもしれません。そのため、先に進む前に、SSH について簡単に理解しておきましょう。 SSH サーバーとは SSH (別名 Secure Shell) は、セキュリティで保護されていないネットワーク上でネットワーク サービスを安全に操作するため