ウェブサイト検索

Linux サーバーまたはデスクトップで SSH を保護するための 5 つのヒント


Secure Shell は、Linux システムにリモートでログインするための最も安全なオプションの 1 つです。しかし、このテクノロジーをさらに安全にする方法があります。

私は何十年もセキュア シェル (SSH) を使用してきました。このリモート ログイン ツールを使用すると、リモート マシンが安全かつ効率的にログインを受け入れることができます。同時に、ネットワークに接続されているデバイス上で 100% 安全なものなど存在しないことも理解しています。そのため、使用するすべてのコンピューターで SSH の安全性を高めるために常に時間をかけて取り組んでいます。

セキュリティの「レイヤー」をいくつか追加することがいかに簡単であるかに驚かれるかもしれません。以下で強調するように、Linux デスクトップとサーバー マシンの安全性を高めるのに役立つ簡単に適用できるヒントがいくつかあります。これにより、望ましくないログインから確実に保護できるようになります。

仕事に取り掛かりましょう。

1.fail2banをインストールする

(特にサーバー上で) 最初に行うべきことの 1 つは、fail2ban をインストールすることです。これは、悪意のあるブルートフォース ログイン攻撃を防止し、他のネットワーク プロトコル (HTTP、SSH、FTP など) の監視にも使用できます。

failed2ban を使用すると、jail を作成します。jail は、特定の出来事 (SSH ログイン試行の失敗など) が発生したときにシステムに何をすべきかを指示する構成です。 Jail ファイル (通常はjail.local という名前) は /etc/fail2ban/ に格納されており、次のようになります。

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1

次のコマンドを使用して、Debian ベースのシステムにfail2ban をインストールできます。

sudo apt-get install fail2ban -y

Fedora ベースのシステムでは、そのコマンドは次のようになります。

sudo dnf install fail2ban -y

2. デフォルトのポートを変更する

デフォルトでは、SSH は受信接続にポート 22 を使用します。この接続は常識ですが、トラブルにつながる可能性があります。より重要なシステムでは、常にポートを 2124 などの別のポートに変更します。ポートを別のシステムで使用されていないものに変更することが重要です。

ポート構成は、/etc/ssh/sshd_config ファイルの行 #Port 22. で設定されます。

必ず # 文字を削除し、22 を使用するポートに変更してください。変更を行ったら、必ず次のコマンドで SSH を再起動してください。

sudo systemctl restart ssh

Fedora ベースのシステムの場合、そのコマンドは次のようになります。

sudo systemctl restart sshd

3. パスワードが空のユーザーをブロックする

おそらくシステム上に空のパスワードを持つユーザーはいないでしょうが、このヒントは「残念よりも安全なほうが良い」というカテゴリーに当てはまります。ユーザーが空のパスワードを使用しており、悪意のある攻撃者がそれを発見した場合、簡単にマシンにアクセスできる可能性があります。このような状況を防ぐには、/etc/ssh/sshd_config ファイルを開いて次の行を探します。

#PermitEmptyPasswords no

その行を次のように変更します。

PermitEmptyPasswords no

ファイルを保存して閉じ、SSH を再起動します。

4. 特定の IP アドレスへのログインを制限する

もう 1 つの非常に便利なトリックは、SSH アクセスを特定の IP アドレスに制限することです。たとえば、マシンにアクセスする必要があるユーザーが 1 人だけで、その IP アドレスが 192.168.1.11 である場合、/etc/hosts.allow ファイルを使用して SSH アクセスを制限できます。 nano などのお気に入りのテキスト エディタでそのファイルを開き、最後に次の行を追加します。

sshd: 192.168.1.62, 192.168.1.11

許可したい IP アドレスが複数ある場合は、次のように、各アドレスをカンマで区切って、必要なだけ追加できます。

sshd: 192.168.1.62, 192.168.1.11, 192.168.1.12, 192.168.1.13, 192.168.1.14

ファイルを保存して閉じます。

5. SSH キー認証を使用する

SSH キー認証の重要性は、どれだけ強調してもしすぎることはありません。このテクニックがどのように設定されているかについては、すでに別の記事で説明しているので、必ずその記事を読んで戦術を実装してください。 Fail2ban と組み合わせると、SSH キー認証は不要な SSH ログインを防ぐ優れた方法です。

以上が、Linux デスクトップとサーバーの両方で SSH を保護する 5 つの簡単な方法です。 SSH に安全という言葉が含まれているからといって、それを安全な目的のための手段と見なすべきというわけではありません。少し追加の設定を行うと、システムへのアクセスを求めてインターネットを徘徊する悪意のある攻撃者から SSH ログインがより適切に保護されます。

関連記事