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の構成
ホームサーバーで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 "[email protected]"
次に、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
最新情報を入手
サーバーは、正常に機能していれば忘れがちですが、これは危険な場合があります。ソフトウェアを最新の状態に保つようにしてください。無人アップグレードを使用できますが、これらは予測できない場合があります。最も安全な方法は、毎週または毎月の定期的なサーバーメンテナンスの予約をスケジュールして、すべてがうまく機能していることを確認することです。
ここからどこへ行くか
これで、サーバーを外部の脅威から保護するための良いスタートを切ることができます。ただし、自宅からサーバーにアクセスする必要がある場合はどうなりますか?開いたドアはすべて攻撃者によって使用される可能性があり、開いているポートはすべて脆弱性を高めます。
外部からホームネットワークにアクセスする最も簡単な方法の1つは、VPNを使用することです。これは、この記事の範囲外ですが、心配しないでください。オプションが何であるかについては、利用可能な最高の安全なVPNサービスのリストをご覧ください。
-
Windows 10 で SSH セキュア シェルを使用するには?
コンピュータをリモート デスクトップまたはネットワーク経由で接続してデータを共有する場合は、Secure Shell が必要です。このブログでは、Windows 10 で SSH セキュア シェルを使用する方法を学習します。SSH セキュア シェルは、デバイスとインターネットを含む任意のネットワーク間の通信システムと見なすことができます。このシステムは暗号化されており、ハッカーやその他のスパイウェア、アドウェア、マルウェアが、ユーザーがアクセスしたりデータを受信したりしているサイトや場所に関する詳細を取得できないため、安全です。 Linux オペレーティング システムは Windows よりも
-
SSH サーバーを使用して障害のある Windows PC にアクセスする方法
システムが突然クラッシュし、コマンドに応答しなくなることがあります。コンピューター上の重要なものにアクセスしたいが、コンピューターが動作していないためにアクセスできない場合、状態はさらに悪化します。 SSH サーバーを使用して障害のある Windows PC にアクセスし、問題を解決できるようになりました。ほとんどの人は SSH とは何かを知らないかもしれません。そのため、先に進む前に、SSH について簡単に理解しておきましょう。 SSH サーバーとは SSH (別名 Secure Shell) は、セキュリティで保護されていないネットワーク上でネットワーク サービスを安全に操作するため