Red HatでのSSH設定 – リモート管理を安全に行うための方法

Red HatでのSSH設定 – リモート管理を安全に行うための方法

この記事では、Red Hat Enterprise Linux におけるSSH設定を用いてリモート管理を安全に行う方法を詳述します。SSHを正しく設定することで、リモートからの安全な接続とシステム管理が実現できます。

SSHのインストールと基本設定

SSHサーバーのパッケージがインストールされていることを確認し、不足している場合は追加します。

sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

SSHポートの確認と変更

デフォルトの22番ポートを他の番号に変更し、攻撃を減らします。

sudo vi /etc/ssh/sshd_config

# Port 2222 などに変更
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

SSHでのルートログインの無効化

ルートアカウントでのログインを無効にして、セキュリティを強化します。

sudo vi /etc/ssh/sshd_config
# PermitRootLogin no

SSHキー認証の設定

公開鍵認証を使用することにより、パスワードに依存しないセキュアな接続を確立します。

ssh-keygen -t rsa
ssh-copy-id user@hostname

パスワード認証の無効化

公開鍵認証が成功した後、さらにセキュリティを高めるためにパスワード認証を無効化します。

sudo vi /etc/ssh/sshd_config
# PasswordAuthentication no

SSHログの確認と監視

SSH接続履歴を検証し、不正アクセスの試行を発見します。

sudo tail /var/log/secure

SSH接続の制限と管理

許可するホストを明示的に制限することで、外部アクセスをコントロールします。

sudo vi /etc/hosts.allow
# sshd: 192.168.0.0/24
sudo vi /etc/hosts.deny
# sshd: ALL

タイムアウト設定でセッションのセキュリティ強化

無操作セッションの自動切断を設定し、セキュリティを強化します。

sudo vi /etc/ssh/sshd_config
# ClientAliveInterval 300
# ClientAliveCountMax 0

多要素認証 (MFA) の実装

SSH接続にMFAを導入し、さらなる防御層を設けます。

sudo yum install google-authenticator
google-authenticator
# PAM設定を更新
sudo vi /etc/pam.d/sshd
# auth required pam_google_authenticator.so

鍵ファイルのパーミッション設定

SSH鍵のパーミッションを正しく設定し、プライベートキーの安全性を保護します。

chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

特定ユーザーへのSSHアクセス制限

特定のユーザーのみがSSH接続可能なように制限します。

sudo vi /etc/ssh/sshd_config
# AllowUsers user1 user2

ファイアウォール設定でのSSHセキュリティ強化

ファイアウォールルールを作成し、SSH接続可能な範囲を目的に応じて調整します。

sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

これらの手段を用いることで、SSHを通じたリモート管理をより安全に行い、RHELシステムのセキュリティを確保することができます。