Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.3.11.3. SSH の他のセキュア化
プロトコルのバージョン
Red Hat Enterprise Linux 7 で提供される
SSH
プロトコルの実装は、SSH クライアント用に SSH-1 と SSH-2 の両方のバージョンを引き続きサポートしていますが、可能な限り後者のみを使用する必要があります。SSH-2 バージョンには、古い SSH-1 に比べて多くの改良が含まれており、高度な設定オプションの大部分は、SSH-2 を使用している場合にのみ使用できます。
Red Hat は、
SSH
プロトコルが使用される認証と通信を保護する範囲を最大化するために、SSH-2 を使用することをお勧めします。sshd
デーモンでサポートされているプロトコルのバージョンは、/etc/ssh/sshd_config
ファイルの Protocol
設定ディレクティブを使用して指定できます。デフォルト設定は 2
です。SSH-2 バージョンは、Red Hat Enterprise Linux 7 SSH サーバーでサポートされている唯一のバージョンであることに注意してください。
鍵のタイプ
ssh-keygen コマンドはデフォルトで SSH-2 RSA キーのペアを生成しますが、
-t
オプションを使用すると、DSA または ECDSA キーを生成するように指示することもできます。ECDSA (Elliptic Curve Digital Signature Algorithm) は、同等の対称鍵長で RSA よりも優れたパフォーマンスを提供します。また、短いキーも生成します。
デフォルト以外のポート
デフォルトでは、
sshd
デーモンは TCP ポート 22
をリッスンします。ポートを変更すると、自動ネットワークスキャンに基づく攻撃にシステムがさらされる可能性が減るため、あいまいさによりセキュリティーが向上します。ポートは、/etc/ssh/sshd_config
設定ファイルの Port
ディレクティブを使用して指定できます。また、デフォルト以外のポートを使用できるようにするためには、デフォルトの SELinux ポリシーを変更する必要があることに注意してください。これを行うには、root
で以下のコマンドを入力して、ssh_port_t
SELinux タイプを変更します。
~]# semanage -a -t ssh_port_t -p tcp port_number
上記のコマンドで、port_number を、
Port
ディレクティブを使用して指定された新しいポート番号に置き換えます。
root ログインなし
特定のユースケースで
root
ユーザーとしてログインする必要がない場合は、/etc/ssh/sshd_config
ファイルで PermitRootLogin
設定ディレクティブを no
に設定することを検討してください。root
ユーザーとしてログインする可能性を無効にすることにより、管理者は、通常のユーザーとしてログインし、root
権限を取得した後に、どのユーザーがどの特権コマンドを実行するかを監査できます。
X セキュリティー拡張機能の使用
Red Hat Enterprise Linux 7 クライアントの X サーバーは、X Security 拡張を提供しません。そのため、クライアントは X11 転送を使用して信頼できない SSH サーバーに接続するときに別のセキュリティー層を要求できません。ほとんどのアプリケーションは、この拡張機能を有効にして実行できませんでした。デフォルトでは、
/etc/ssh/ssh_config
ファイルの ForwardX11Trusted
オプションが yes
に設定され、ssh -X remote_machine (信頼できないホスト) および ssh -Y remote_machine (信頼できるホスト) コマンドには違いはありません。
警告
Red Hat では、信頼できないホストへの接続時は X11 転送を使用しないことを推奨しています。